Neo4j — это система управления графовыми базами данных , разработанная Neo4j, Inc.
Элементами данных, которые хранит Neo4j, являются узлы , соединяющие их ребра и атрибуты узлов и ребер. Описанный разработчиками как ACID -совместимая транзакционная база данных с собственным хранилищем и обработкой графов, [3] Neo4j доступен в «выпуске для сообщества» с закрытым исходным кодом , лицензируемом с модификацией Стандартной общественной лицензии GNU , с онлайн-резервным копированием и расширения высокой доступности , лицензируемые по коммерческой лицензии с закрытым исходным кодом. [4] Neo также лицензирует Neo4j с этими расширениями на коммерческих условиях с закрытым исходным кодом. [5]
Neo4j реализован на Java и доступен из программного обеспечения, написанного на других языках, с использованием языка запросов Cypher через конечную точку транзакций HTTP или через двоичный протокол Bolt . [6] [7] [8] [9] «4j» в Neo4j является отсылкой к тому, что он был построен на Java, однако сейчас это в значительной степени рассматривается как анахронизм . [10]
Neo4j разработан компанией Neo4j, Inc., расположенной в Сан-Матео, Калифорния , США и Мальмё , Швеция.
Версия 1.0 была выпущена в феврале 2010 года. [11]
Neo4j версии 2.0 была выпущена в декабре 2013 года. [12]
Neo4j версии 3.0 была выпущена в апреле 2016 года. [13]
В ноябре 2016 года Neo4j успешно получила финансирование серии D на сумму 36 миллионов долларов США под руководством Greenbridge Partners Ltd. [14]
В ноябре 2018 года Neo4j успешно привлекла 80 миллионов долларов США в рамках финансирования серии E под руководством One Peak Partners и Morgan Stanley Expansion Capital при участии других инвесторов, включая Creandum, Eight Roads и Greenbridge Partners. [15]
В июне 2021 года Neo4j объявил об очередном раунде финансирования на сумму 325 миллионов долларов в рамках серии F. [16]
Neo4j выпускается в пяти редакциях. Две версии — локальные, Community (бесплатная) и Enterprise, а три — только облачные версии: AuraDB Free, AuraDB Professional и AuraDB Enterprise.
Он имеет двойную лицензию: GPL v3 (с частями кода под AGPLv3 с пунктом Commons ) и проприетарную лицензию. Community Edition бесплатна, но может работать только на одном узле из-за отсутствия кластеризации и не имеет горячего резервного копирования. [19]
Версия Enterprise Edition снимает эти ограничения, позволяя выполнять кластеризацию, горячее резервное копирование и мониторинг. Версия Enterprise Edition доступна по коммерческой лицензии с закрытым исходным кодом.
Элементами данных являются узлы, ребра, соединяющие узлы друг с другом, а также атрибуты узлов и ребер. Узлы и ребра могут быть помечены. Ярлыки можно использовать для сужения поиска. Начиная с версии 2.0, в Cypher было добавлено индексирование с введением схем. [20] Ранее индексы поддерживались отдельно от Cypher. [21]
Исследователь баз данных Энди Павло из Университета Карнеги-Меллон поставил под сомнение решение графовых баз данных отказаться от давней реляционной модели в пользу собственной модели. [22] Исследователи из CWI сравнили модифицированную версию DuckDB с Neo4j в рабочих нагрузках, связанных с графами, и обнаружили, что, несмотря на то, что они являются расширением реляционной базы данных, работающей под управлением SQL , их реализация превосходит Neo4j. [23]