Neo4j: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Нет описания правки |
|||
Строка 11: | Строка 11: | ||
}} |
}} |
||
'''Neo4j''' — [[графовая база данных]] с [[открытый исходный код|открытым исходным кодом]], реализованная на [[Java]]. Разработана в Neo |
'''Neo4j''' — [[графовая база данных]] с [[открытый исходный код|открытым исходным кодом]], реализованная на [[Java]]. Разработана в [[Neo Technology]] в 2003 году<ref>{{книга |
||
| автор = Shashank Tiwari, Shashank Tiwari |
| автор = Shashank Tiwari, Shashank Tiwari |
||
| заглавие = Professional NoSQL |
| заглавие = Professional NoSQL |
||
Строка 22: | Строка 22: | ||
Разработчики описывают свой продукт как «встраиваемая база данных, полнотранзакционный Java-движок, который хранит данные в упорядоченных [[граф (математика)|графах]], а не в таблицах». |
Разработчики описывают свой продукт как «встраиваемая база данных, полнотранзакционный Java-движок, который хранит данные в упорядоченных [[граф (математика)|графах]], а не в таблицах». |
||
Neo4j имеет |
Neo4j имеет собственный формат хранилища узлов (node) и связей (relationships). Нативное представление графа, в отличие от моделирования хранилища на [[Реляционная база данных|реляционной базе данных]], позволяет применять дополнительную оптимизацию в случае данных с более сложной структурой{{sfn|Raj|2015|pp=16}}. |
||
== Возможности == |
== Возможности == |
Версия от 13:08, 29 июля 2016
Neo4j | |
---|---|
Тип | Графовая база данных |
Разработчик | Neo Technology |
Написана на | Java и Scala |
Первый выпуск | февраль 2010[1] |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 2.3.2 (18 января 2016 ) |
Тестовая версия | 3.0.0-M02 (24 декабря 2015 ) |
Репозиторий | github.com/neo4j/neo4j |
Лицензия | GNU GPL 3[2] и AGPL v3.0[2] |
Сайт | neo4j.com |
Медиафайлы на Викискладе |
Neo4j — графовая база данных с открытым исходным кодом, реализованная на Java. Разработана в Neo Technology в 2003 году[3].
Разработчики описывают свой продукт как «встраиваемая база данных, полнотранзакционный Java-движок, который хранит данные в упорядоченных графах, а не в таблицах».
Neo4j имеет собственный формат хранилища узлов (node) и связей (relationships). Нативное представление графа, в отличие от моделирования хранилища на реляционной базе данных, позволяет применять дополнительную оптимизацию в случае данных с более сложной структурой[4].
Возможности
Neo4j обладает следующими свойствами и возможностями[5]:
- Поддержка ACID
- Соответствие JTA, JTS, XA
- Визуализация графовых данных в дополнение к модели данных, ориентированной на графы
- Наличие документации и активного сообщества разработчиков
- Интерфейс программирования приложений для многих языков программирования, включая Java, Python, Clojure, Ruby.
- REST-интерфейс
- Нативный формат хранения графов и оптимизированный (в том числе для SSD-накопителей) дисковый менеджер хранилища
- Масштабируемость: один экземпляр СУБД может обслуживать графы с миллиардами узлов и связей.
- Мощный механизм обхода графа
- Может обрабатывать графы, которые полностью не помещаются в оперативной памяти
- Официальная поддержка работы в Кластере Docker
Расширение
Расширить программный интерфейс (API) можно как с помощью серверных плагинов, так и с помощью неуправляемых расширений (unmanaged extensions). Плагины могут добавлять новые ресурсы к REST-интерфейсу для конечных пользователей. Расширения позволяют получить полный контроль над программным интерфейсом, и могут содержать произвольный код, поэтому их следует использовать с осторожностью[6].
Язык запросов
В СУБД используется собственный язык запросов — Cypher?!, но запросы можно делать и другими способами, например, напрямую через Java API и на языке Gremlin[англ.], созданном в проекте с открытым исходным кодом TinkerPop. Cypher является не только языком запросов, но и языком манипулирования данными, так как предоставляет функции CRUD для графового хранилища[7].
Распространение
На апрель 2015 года Neo4j самая распространённая БД c графовой моделью данных[8].
Используется в компаниях: e-bay, Walmart, National Geographic, HP, CISCO и другими.
История
Выпуск Neo4j версии 1.0 был в феврале 2010 г. Версия 2.0 была выпущена в декабре 2013 г.
Примечания
- ↑ https://neo4j.com/blog/neo4j-1-0-released/
- ↑ 1 2 https://github.com/neo4j/neo4j
- ↑ 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=
(справка); Неизвестный параметр|booktitle=
игнорируется (|book-title=
предлагается) (справка)Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка) - ↑ DB-Engines Ranking of Graph DBMS
Литература
- 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. — O'Reilly Media, Inc., 2013. — ISBN 978-1-4493-5624-8.
Ссылки
- Официальный сайт (англ.)
Для улучшения этой статьи желательно: |