Neo4j
Neo4j | |
---|---|
![]() | |
Тип | Графовая СУБД |
Разработчик | Neo Technology |
Написана на | Java и Scala |
Первый выпуск | февраль 2010[1] |
Аппаратная платформа | Java Virtual Machine |
Последняя версия |
|
Тестовая версия | 3.4.0 alpha10 (20 марта 2018 ) |
Репозиторий | 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].
Примечания
[править | править код]- ↑ https://neo4j.com/blog/neo4j-1-0-released/
- ↑ https://neo4j.com/release-notes/database/neo4j-5/
- ↑ 1 2 https://github.com/neo4j/neo4j
- ↑ DB-Engines Ranking of Graph DBMS . Дата обращения: 17 апреля 2015. Архивировано 8 марта 2019 года.
- ↑ Shashank Tiwari, Shashank Tiwari. Professional NoSQL. — John Wiley & Sons, 2011. — P. 19–20. — ISBN 978-1-118-16780-9.
- ↑ Raj, 2015, pp. 16.
- ↑ Raj, 2015, Chapter 1.
- ↑ Gupta, 2015, pp. 168-169.
- ↑ 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.
Ссылки
[править | править код]- Официальный сайт (англ.)
Для улучшения этой статьи желательно: |