Использование графовых баз данных в целях оптимизации анализа биллинговой информации - page 5

Использование графовых баз данных в целях оптимизации анализа
5
Для пересечения двух множеств, как и в случае с базой данных Sones,
была реализована работа с множествами.
DEX GraphDB.
Эта база разработана компанией Sparsity Technol-
ogies в 2008 г. Самая последняя стабильная на текущий момент вер-
сия — 4.8. Существует три типа лицензий, по которым предоставля-
ется право пользования DEX GraphDB: Community, Commercial и Ed-
ucation. При наличии лицензии Community в базе суммарно может
содержаться не более 1 млн вершин и разрешен доступ к чтению
данных только одному потоку. По лицензии Commercial отсутствуют
какие-либо ограничения, но годовая стоимость владения лицензией
зависит от суммарного количества объектов в базе и количества по-
токов, имеющих доступ к чтению данных. Лицензия Education пред-
назначена для бесплатного предоставления исследовательским и
учебным некоммерческим проектам.
DEX GraphDB, как и Neo4J, имеет полноценную поддержку устой-
чивого хранения данных. Но в отличие от Neo4J ядро DEX написано на
C++, что очень хорошо сказывается на производительности. Графовая
БД DEX имеет только один объектный кэш, который держит в опера-
тивной памяти все часто используемые объекты хранилища [11].
БД DEX имеет широкие возможности по обходу графов. Она
предоставляет множество встроенных алгоритмов обхода графов, та-
ких как поиск в глубину, поиск в ширину, Дейкстры и поиска компо-
нентов сильной связности. Кроме того, существует встроенная под-
держка работы с множествами. Таким образом, обе поставленные за-
дачи анализа биллинговой информации можно решить, используя
только встроенные средства БД.
Тестирование.
При тестировании использовались самые послед-
ние версии БД, доступные на данный момент: Sones v.2.1, Neo4J v.1.9
и DEX v.4.8. Все тестовые операции реализованы на языке програм-
мирования C# (Sones, DEX) и Java (Neo4J) с помощью API, предо-
ставляемого каждой из БД. Для конфигурирования применялись
стандартные настройки, а также некоторые рекомендации из офици-
альной технической документации: использование BatchInserter при
импорте данных в Neo4J и целочисленных идентификаторов в DEX.
В Microsoft SQL Server 2012 создаются две таблицы (для списка вер-
шин и для списка ребер), а обход графа реализован с помощью хра-
нимой процедуры [12].
Тестовые задачи выполнялись в том же порядке, в каком они
представлены в таблицах: импорт, поиск соседей, поиск пересечения
множеств соседей. В случае если выполнение не завершалось в тече-
ние 12 ч, операция прерывалась в связи с неактуальностью столь дол-
гого выполнения на предложенном объеме данных. Тестовый стенд,
на котором проводилось тестирование, имеет следующую конфигу-
1,2,3,4 6,7,8
Powered by FlippingBook