Neo4j vs TigerGraph: сравнение графовых СУБД

Neo4j vs TigerGraph: сравнение графовых СУБД

    Что общего у Neo4j с TigerGraph и чем они отличаются: разбираемся с популярными графовыми СУБД и их возможностями для аналитики больших данных в рамках продвижения нашего нового курса по графовым алгоритмам в бизнес-приложениях.

    Сравнение Neo4j с TigerGraph

    Подробно об архитектуре, принципах работы, функциональных возможностях и вариантах использования TigerGraph мы писали здесь. Чтобы не повторяться, для сравнения этой графо-ориентированной массивно-параллельной базы данных с открытым NoSQL-хранилищем Neo4j, выделим ряд критериев, которые следует учитывать при выборе одного из решений:

    • открытость исходного кода;
    • наличие схемы данных;
    • типизация данных;
    • поддержка ANSI-SQL;
    • соответствие ACID-требованиям к транзакциям;
    • механизмы обеспечения согласованности данных;
    • собственный язык запросов;
    • предоставляемые API;
    • триггеры;
    • хранимые процедуры;
    • поддерживаемые языки разработки;
    • партиционирование и репликация данных;
    • индексация;
    • внешние ключи;
    • поддержка вычислительной модели MapReduce;
    • инструменты обеспечения безопасности и управления доступом к данным;
    • производительность;
    • объем хранения;
    • стоимость покупки и эксплуатации;
    • специальные возможности (библиотеки, плагины, модули и пр.);
    • варианты использования.

    Для более наглядного сравнения СУБД по этим критериям, оформим это в виде таблицы:

    Критерий

    Neo4j

    TigerGraph

    открытость исходного кода

    Открытый исходный код

    Коммерческая платформа

    наличие схемы данных

    Возможно по желанию

    да

    типизация данных

    да

    да

    соответствие ACID-требованиям к транзакциям

    Да, об этом читайте здесь

    Да, об этом мы писали здесь

    механизмы обеспечения согласованности данных

    Причинно-следственная согласованность и согласованность в конечном счете

     

    поддержка ANSI-SQL

    нет

    в чистом виде нет, есть GSQL – SQL-подобный язык запроов

    собственный язык запросов

    Cypher

    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 в Москве:

    Источники

    1. https://db-engines.com/en/system/Neo4j%3BTigerGraph
    2. https://neo4j.com/developer/kb/capacity-planning-example/
    3. https://www.tigergraph.com/