Грум-Гржимайло, Кондратий Иванович
- 1 year ago
- 0
- 0
Neo4j — графовая система управления базами данных с открытым исходным кодом , реализованная на Java . По состоянию на 2015 год считается самой распространённой графовой СУБД . Разработчик — американская компания Neo Technology, разработка ведётся с 2003 года .
Данные хранит в собственном формате, специализированно приспособленном для представления графовой информации, такой подход в сравнении с моделированием графовой базы данных средствами реляционной СУБД позволяет применять дополнительную оптимизацию в случае данных с более сложной структурой . Также утверждается о наличии специальных оптимизаций для SSD -накопителей, при этом для обработки графа не требуется его помещение целиком в оперативную память вычислительного узла, таким образом, возможна обработка достаточно больших графов.
Основные транзакционные возможности — поддержка ACID и соответствие спецификациям JTA , и XA . Интерфейс программирования приложений для СУБД реализован для многих языков программирования, включая Java , Python , Clojure , Ruby , PHP , также реализовано API в стиле REST . Расширить программный интерфейс можно как с помощью серверных плагинов, так и с помощью неуправляемых расширений ( unmanaged extensions ); плагины могут добавлять новые ресурсы к REST-интерфейсу для конечных пользователей, а расширения позволяют получить полный контроль над программным интерфейсом, и могут содержать произвольный код, поэтому их следует использовать с осторожностью .
В СУБД используется собственный язык запросов — , но запросы можно делать и другими способами, например, напрямую через Java API и на языке , созданном в проекте с открытым исходным кодом TinkerPop. Cypher является не только языком запросов, но и языком манипулирования данными, так как предоставляет функции CRUD для графового хранилища .
{{
cite conference
}}
:
|access-date=
требует
|url=
(
справка
)
Википедия:Обслуживание CS1 (множественные имена: authors list) (
ссылка
)