Что общего у Neo4j с TigerGraph и чем они отличаются: разбираемся с популярными графовыми СУБД и их возможностями для аналитики больших данных в рамках продвижения нашего нового курса по графовым алгоритмам в бизнес-приложениях.
Сравнение Neo4j с TigerGraph
Подробно об архитектуре, принципах работы, функциональных возможностях и вариантах использования TigerGraph мы писали здесь. Чтобы не повторяться, для сравнения этой графо-ориентированной массивно-параллельной базы данных с открытым NoSQL-хранилищем Neo4j, выделим ряд критериев, которые следует учитывать при выборе одного из решений:
- открытость исходного кода;
- наличие схемы данных;
- типизация данных;
- поддержка ANSI-SQL;
- соответствие ACID-требованиям к транзакциям;
- механизмы обеспечения согласованности данных;
- собственный язык запросов;
- предоставляемые API;
- триггеры;
- хранимые процедуры;
- поддерживаемые языки разработки;
- партиционирование и репликация данных;
- индексация;
- внешние ключи;
- поддержка вычислительной модели MapReduce;
- инструменты обеспечения безопасности и управления доступом к данным;
- производительность;
- объем хранения;
- стоимость покупки и эксплуатации;
- специальные возможности (библиотеки, плагины, модули и пр.);
- варианты использования.
Для более наглядного сравнения СУБД по этим критериям, оформим это в виде таблицы:
Критерий |
Neo4j |
TigerGraph |
открытость исходного кода |
Открытый исходный код |
Коммерческая платформа |
наличие схемы данных |
Возможно по желанию |
да |
типизация данных |
да |
да |
соответствие ACID-требованиям к транзакциям |
Да, об этом читайте здесь |
Да, об этом мы писали здесь |
механизмы обеспечения согласованности данных |
Причинно-следственная согласованность и согласованность в конечном счете |
|
поддержка ANSI-SQL |
нет |
в чистом виде нет, есть GSQL – SQL-подобный язык запроов |
собственный язык запросов |
GSQL |
|
предоставляемые API |
Bolt protocol, Java API, Neo4j-OGM, RESTful HTTP API, Spring Data Neo4j, TinkerPop 3 |
Kafka, RESTful HTTP/JSON API |
триггеры |
Да в виде перехватчиков событий |
Нет |
хранимые процедуры |
UDF-функции и процедуры |
да |
поддерживаемые языки разработки |
.Net, Clojure, Elixir, Go, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala |
C++, Java |
репликация данных |
алгоритм консенсуса протокола RAFT в Enterprise-версии |
|
партиционирование |
Да, с помощью Neo4j Fabric для горизонтального масштабирования через шардирование |
|
вторичная индексация |
с помощью подключаемых плагинов, по умолчанию Apache Lucene |
|
внешние ключи |
Да, через отношения (ребра) графа |
Да, через отношения (ребра) графа |
поддержка вычислительной модели MapReduce |
нет |
да |
инструменты обеспечения безопасности и управления доступом к данным |
Пользователи, роли, разрешения. Подключаемая аутентификация LDAP, Active Directory, Kerberos |
RBAC-модель доступа к данным |
Производительность и объем базы данных |
Динамическое сжатие указателей расширяет доступное адресное пространство Neo4j по мере необходимости, позволяя хранить графы любого размера, но не более 34 миллиардов узлов |
OLAP-запросы с глубокими ссылками на графе размером 36 ТБ необработанных данных с 73 миллиардами вершин и 534 миллиардами ребер |
стоимость покупки и эксплуатации |
Community-версия бесплатно, стоимость подписки на Neo4j AuraDB начинается с $0,09 в час ($65 в месяц) и зависит от потребления памяти |
Цены на TigerGraph Cloud зависят от выбранных экземплярах виртуальной машины и емкости хранилища, а также стоимости передачи данных |
специальные возможности |
Библиотека Graph Data Science с графовыми и ML-алгоритмами |
Библиотека In-Database Graph Data Science с набором оптимизированных и готовых к использованию GSQL-запросов для графовых задачи и ML.
|
варианты использования |
Анализ социальных связей, выявление сообществ, поиск путей |
поиск пути, центрирование или ранжирование, кластеризация, обнаружение сообществ, сходство и классификация точек данных. Благодаря массивно-параллельному механизму обработки запросов и поддержке Kafka отлично работает в потоковой аналитике больших данных |
Таким образом, несмотря на схожие варианты использования, Neo4j и TigerGraph отличаются многими техническими аспектами. Выбирать открытое решение Neo4j с огромным набором функциональных возможностей имеет смысл при наличии способностей их использовать. Если же в компании отсутствуют дата-инженеры и администраторы, которые могут настроить систему для аналитиков данных и специалистов по Data Science, целесообразно использовать платформенный продукт, каким и является TigerGraph. Про сравнение Neo4j с другой графовой СУБД, Memgraph, читайте в нашей новой статье.
Освоить возможности практического применения графовых алгоритмов и инструментальные средства их использования в реальных проектах аналитики больших данных вам помогут специализированные курсы нашего лицензированного учебного центра обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
Источники