Учебники

Neo4j — Обзор

Neo4j является ведущей в мире графической базой данных с открытым исходным кодом, которая разработана с использованием технологии Java. Он легко масштабируется и не содержит схем (NoSQL).

Что такое база данных графиков?

Граф представляет собой графическое представление набора объектов, где некоторые пары объектов связаны ссылками. Он состоит из двух элементов — узлов (вершин) и отношений (ребер).

База данных графиков — это база данных, используемая для моделирования данных в форме графиков. Здесь узлы графа изображают сущности, в то время как отношения изображают ассоциацию этих узлов.

Популярные базы данных графиков

Neo4j — это популярная графическая база данных. Другими базами данных Graph являются Oracle NoSQL Database, OrientDB, HypherGraphDB, GraphBase, InfiniteGraph и AllegroGraph.

Почему граф базы данных?

В настоящее время большая часть данных существует в форме отношений между различными объектами, и чаще всего отношения между данными являются более ценными, чем сами данные.

Реляционные базы данных хранят высокоструктурированные данные, в которых есть несколько записей, в которых хранятся данные одного и того же типа, поэтому они могут использоваться для хранения структурированных данных и не хранят связи между данными.

В отличие от других баз данных, графовые базы данных хранят отношения и соединения как первоклассные объекты.

Модель данных для графовых баз данных проще по сравнению с другими базами данных, и их можно использовать с системами OLTP. Они предоставляют такие функции, как целостность транзакций и эксплуатационная доступность.

СУБД против графической базы данных

Ниже приведена таблица, в которой сравниваются реляционные базы данных и базы данных Graph.

Sr.No RDBMS База данных графиков
1 таблицы диаграммы
2 Ряды Вершины
3 Столбцы и данные Свойства и его значения
4 Ограничения Отношения
5 присоединяется пересечение

Преимущества Neo4j

Ниже приведены преимущества Neo4j.

  • Гибкая модель данных — Neo4j предоставляет гибкую простую и вместе с тем мощную модель данных, которую можно легко изменять в зависимости от приложений и отраслей.

  • Анализ в реальном времени — Neo4j предоставляет результаты на основе данных в реальном времени.

  • Высокая доступность — Neo4j отлично доступен для крупных корпоративных приложений реального времени с транзакционными гарантиями.

  • Связанные и полуструктурированные данные. Используя Neo4j, вы можете легко представлять связанные и полуструктурированные данные.

  • Простой поиск — Используя Neo4j, вы можете не только представлять, но и легко извлекать (перемещаться / перемещаться) связанные данные быстрее по сравнению с другими базами данных.

  • Язык запросов Cypher — Neo4j предоставляет декларативный язык запросов для визуального представления графика с использованием синтаксиса ascii-art. Команды этого языка в удобочитаемом формате и очень просты в освоении.

  • Нет объединений — используя Neo4j, он НЕ требует сложных объединений для извлечения связанных / связанных данных, так как очень легко получить сведения о соседнем узле или взаимосвязи без объединений или индексов.

Гибкая модель данных — Neo4j предоставляет гибкую простую и вместе с тем мощную модель данных, которую можно легко изменять в зависимости от приложений и отраслей.

Анализ в реальном времени — Neo4j предоставляет результаты на основе данных в реальном времени.

Высокая доступность — Neo4j отлично доступен для крупных корпоративных приложений реального времени с транзакционными гарантиями.

Связанные и полуструктурированные данные. Используя Neo4j, вы можете легко представлять связанные и полуструктурированные данные.

Простой поиск — Используя Neo4j, вы можете не только представлять, но и легко извлекать (перемещаться / перемещаться) связанные данные быстрее по сравнению с другими базами данных.

Язык запросов Cypher — Neo4j предоставляет декларативный язык запросов для визуального представления графика с использованием синтаксиса ascii-art. Команды этого языка в удобочитаемом формате и очень просты в освоении.

Нет объединений — используя Neo4j, он НЕ требует сложных объединений для извлечения связанных / связанных данных, так как очень легко получить сведения о соседнем узле или взаимосвязи без объединений или индексов.

Особенности Neo4j

Ниже приведены заметные особенности Neo4j —

Модель данных (гибкая схема) — Neo4j следует модели данных, называемой моделью графа собственных свойств. Здесь граф содержит узлы (сущности), и эти узлы связаны друг с другом (изображены отношениями). Узлы и отношения хранят данные в парах ключ-значение, известных как свойства.

В Neo4j нет необходимости следовать фиксированной схеме. Вы можете добавить или удалить свойства согласно требованию. Это также обеспечивает ограничения схемы.

Свойства ACID — Neo4j поддерживает полные правила ACID (атомарность, согласованность, изоляция и долговечность).

Масштабируемость и надежность. Вы можете масштабировать базу данных, увеличивая количество операций чтения / записи и объем, не влияя на скорость обработки запросов и целостность данных. Neo4j также обеспечивает поддержку репликации для обеспечения безопасности и надежности данных.

Cypher Query Language — Neo4j предоставляет мощный декларативный язык запросов, известный как Cypher. Он использует ASCII-арт для изображения графиков. Cypher прост в освоении и может быть использован для создания и извлечения отношений между данными без использования сложных запросов, таких как Joins.

Встроенное веб-приложение — Neo4j предоставляет встроенное веб-приложение Neo4j Browser . Используя это, вы можете создавать и запрашивать данные графика.

Драйверы — Neo4j может работать с —

REST API для работы с такими языками программирования, как Java, Spring, Scala и т. Д.

Java Script для работы с пользовательскими интерфейсами MVC, такими как Node JS.

Он поддерживает два вида Java API: Cypher API и Native Java API для разработки приложений Java. В дополнение к этому вы также можете работать с другими базами данных, такими как MongoDB, Cassandra и т. Д.

Индексирование — Neo4j поддерживает Индексы с помощью Apache Lucence.