For faster navigation, this Iframe is preloading the Wikiwand page for Neo4j.

Neo4j

Материал из Википедии — свободной энциклопедии

Neo4j
Логотип программы Neo4j
Тип Графовая СУБД
Разработчик Neo Technology
Написана на Java и Scala
Первый выпуск февраль 2010[1]
Аппаратная платформа Java Virtual Machine
Последняя версия
Тестовая версия 3.4.0 alpha10 (20 марта 2018; 6 лет назад (2018-03-20))
Репозиторий github.com/neo4j/neo4j
Лицензия GNU GPL 3[3] и AGPL v3.0[3]
Сайт neo4j.com (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

Примечания

[править | править код]
  1. https://neo4j.com/blog/neo4j-1-0-released/
  2. https://neo4j.com/release-notes/database/neo4j-5/
  3. 1 2 https://github.com/neo4j/neo4j
  4. DB-Engines Ranking of Graph DBMS. Дата обращения: 17 апреля 2015. Архивировано 8 марта 2019 года.
  5. Shashank Tiwari, Shashank Tiwari. Professional NoSQL. — John Wiley & Sons, 2011. — P. 19–20. — ISBN 978-1-118-16780-9.
  6. Raj, 2015, pp. 16.
  7. Raj, 2015, Chapter 1.
  8. Gupta, 2015, pp. 168-169.
  9. Holzschuher, Florian and Peinl, Rene (2013). "Performance of Graph Query Languages: Comparison of Cypher, Gremlin and Native Access in Neo4J". Proceedings of the Joint EDBT/ICDT 2013 Workshops. EDBT '13. Genoa, Italy: ACM. pp. 195–204. doi:10.1145/2457317.2457351. ((cite conference)): |access-date= требует |url= (справка)Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка)

Литература

[править | править код]
  • Робинсон Ян, Вебер Джим, Эифрем Эмиль. Графовые базы данных. Новые возможности для работы со связанными данными = Graph Databases: New Opportunities for Connected Data. — ДМК Пресс, 2016. — 256 с. — 200 экз. — ISBN 978-5-97060-201-0, 978-1-491-93089-2.
  • Aleksa Vukotic, Jonas Partner, Nicki Watt. Neo4j in Action. — Manning Publications Company, 2014. — ISBN 978-1-61729-076-3.
  • Sonal Raj. Neo4j High Performance. — Packt Publishing Ltd, 2015. — ISBN 978-1-78355-516-1.
  • Greg Jordan. Practical Neo4j. — Apress, 2014. — ISBN 978-1-4842-0023-0.
  • Sumit Gupta. Neo4j Essentials. — Packt Publishing Ltd, 2015. — ISBN 978-1-78355-518-5.
Дополнительно
  • Ian Robinson, Jim Webber, Emil Eifrem. Graph Databases. — 2nd edition. — O'Reilly Media, Inc., 2015. — 238 p. — ISBN 978-1-4919-3089-2.
Для улучшения этой статьи желательно: Проставить сноски, внести более точные указания на источники.Оформить статью по правилам.После исправления проблемы исключите её из списка. Удалите шаблон, если устранены все недостатки.


{{bottomLinkPreText}} {{bottomLinkText}}
Neo4j
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?