Русская Википедия:Neo4j

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Infobox software

Neo4j — графовая система управления базами данных с открытым исходным кодом, реализованная на Java. По состоянию на 2015 год считается самой распространённой графовой СУБД[1]. Разработчик — американская компания Neo Technology, разработка ведётся с 2003 года[2].

Данные хранит в собственном формате, специализированно приспособленном для представления графовой информации, такой подход в сравнении с моделированием графовой базы данных средствами реляционной СУБД позволяет применять дополнительную оптимизацию в случае данных с более сложной структуройШаблон:Sfn. Также утверждается о наличии специальных оптимизаций для SSD-накопителей, при этом для обработки графа не требуется его помещение целиком в оперативную память вычислительного узла, таким образом, возможна обработка достаточно больших графов.

Основные транзакционные возможностиШаблон:Sfn — поддержка ACID и соответствие спецификациям JTA, JTS и XA. Интерфейс программирования приложений для СУБД реализован для многих языков программирования, включая Java, Python, Clojure, Ruby, PHP, также реализовано API в стиле REST. Расширить программный интерфейс можно как с помощью серверных плагинов, так и с помощью неуправляемых расширений (Шаблон:Lang-en2); плагины могут добавлять новые ресурсы к REST-интерфейсу для конечных пользователей, а расширения позволяют получить полный контроль над программным интерфейсом, и могут содержать произвольный код, поэтому их следует использовать с осторожностьюШаблон:Sfn.

В СУБД используется собственный язык запросов — Шаблон:Iw, но запросы можно делать и другими способами, например, напрямую через Java API и на языке Шаблон:Iw, созданном в проекте с открытым исходным кодом TinkerPop. Cypher является не только языком запросов, но и языком манипулирования данными, так как предоставляет функции CRUD для графового хранилища[3].

Примечания

Шаблон:Примечания

Литература

Дополнительно

Ссылки

Шаблон:Rq

Шаблон:СУБД