Sones GraphDB

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:15, 6 июня 2016.

Sones GraphDB - это графовая БД, разработанная компанией Sones в 2009 г. Она поддерживалась до конца 2011 г., после чего компания обанкротилась. За время поддержки была выпущена версия 2.1, доступная в двух вариантах: версия Community распространяется по лицензии AGPL v3, для коммерческих же проектов необходимо приобретать версию Enterprise. Кроме того, важное отличие платной версии от бесплатной состоит в наличии возможности устойчивого хранения базы на жестком диске. Бесплатная же версия позволяет хранить данные только в оперативной памяти (in-memory).

База данных была написана на C# и работает на Microsoft .NET Framework, а также на его повторной реализации Mono.

Функциональность

Безындексная смежность

Такие графовые базы данных, как Sones GraphDB, решают проблему безындексной смежность. Это означает, что не нужно создавать глобальный индекс для отношений между узлами/вхождениями. Связанные объекты содержат в себе прямые ссылкм на смежные соседние узлы.

Обработка слабоструктурированных данных

Подход слабоструктурированных данных был создан в середине 90-х. Этот подход основывается на том, что многие области применения редко допускают структурированные таблицы из-за сложных информационных характеристик. Примером таких проблемных областей можно найти в биоинформатике или семантических сетях. Sones GraphDB позволяет хранить и извлекать неструктурированные свойства в любой узел графа. Идея также состоит в том, чтобы передавать неструктурированные данные в структурированные и наоборот.

Расширение динамического типа

Еще одним преимуществом является то, что структурированные данные могут быть динамически расширены с высокой производительностью в узлах и ребрах во время выполнения. Дополнительные свойства могут легко быть введены или удалены из вершин в короткий промежуток времени. Количество узлов не имеет значения.

Язык запросов графа

Sones GraphQL — это удобный доменный язык, который можно рассматривать как «SQL для графов». Сходство с SQL является преднамеренным и значительно упрощает переход для разработчиков/консультантов. Это позволяет создавать запросы для гиперграфов, а сами запросы могут быть динамически расширены во время выполнения с помощью плагинов, например функций или агрегатов.

Решение проблемы объектно-реляционного отображения

GraphDB решает эту проблему с помощью объектно-ориентированной концепции. Это приводит к повышению интеграции в объектно-ориентированных языках программирования, так как при этом не требуется никаких ORM.

Архитектура

GraphDB имеет модульную структуру, состоящую из 4 уровней. Механизм хранения выступает в качестве интерфейса для различных носителей. GraphFS сериализует и десериализует объекты базы данных (узлы и ребра) и управляет доступными средствами хранения. Фактическая логика графовой БД, а также все функциональные возможности, специфичные для базы данных, реализованы в GraphDB. GraphDS предоставляет собой интерфейс для использования базы данных. Интерфейсы между уровнями приложения являются универсальными, что делает возможным отдельное обновление компонентов.

Ссылки

  • Бартенев М.В., Вишняков И.Э. Использование графовых баз данных в целях оптимизации анализа биллинговой информации. Инженерный журнал: наука и инновации, 2013, вып. 11. http://engjournal.ru/catalog/it/hidden/1058.html