Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
34 слайды
Основатели Neo4j столкнулись с проблемами производительности реляционной
СУБД и приступили к созданию первого прототипа Neo4j.
56 слайд
7 слайд
Графовые базы данных, в первую очередь, предназначены для решения тех
задач, где данные тесно связаны между собой в отношениях, которые могут
углубляться в несколько уровней. Например, в реляционных базах данных нам
легко выполнить запрос: «Дайте мне список всех актеров, которые были в
фильме с Кевином Бэконом».
Но предположим, что мы хотим получить имена всех актеров, которые были в
кино с кем-то, кто был в кино с Кевином Бэконом. И тут у нас появляется ещё
один JOIN. С каждой новой связью мы должны добавлять JOIN, а запрос будет
становится все более сложным, трудоёмким, все менее производительным.
8 слайд
Глубокие связи особенно актуальны в различных социальных проектах, когда нам
нужно получать друзей друзей, в задачах поиска маршрутов и т.п. Графовые базы
данных призваны решить эти проблемы, когда наши данные могут быть удаленны
друг от друга на два и более отношений. Они решаются очень элегантно, когда
мы моделируем данные как «вершины графов», а связи как «ребра графа» между
этими узлами. Мы можем делать обход графа с помощью давно известных и
эффективных алгоритмов.
9 слайд
Преимущества:
10 слайд
Графовые базы уже нашли применение в:
Социальных сетях
Системах рекомендаций (с этим товаром часто покупают…)
Обработка пользовательских данных, корреляция данных из разных
источников (информационный след в сети)
11 слайд
Поэтому если у вас уже есть приложение с множеством связей, и обход этих
связей занимает много времени и ресурсов — стоит присмотреться в сторону
графов, т.к. обход связей в них практически ничего не стоит.
12 слайд
Возможность использования в Java EE да, такая возможность есть.
Как заявляно на официальном сайте, Neo4j предлагает богатый набор
возможностей для Java разработчиков. Будучи графовой базой данных, Neo4j не
обслуживает данные реляционным способом, тем не менее, благодаря JDBC
драйверу, проекты, использующие классический стандарт JDBC в реляционной
парадигме, могут взаимодействовать с Neo4j. Автономный сервер Neo4j можно
установить на любой машине, а затем получить к нему доступ через его
двоичный «Bolt» протокол через официальный драйвер или любые драйверы с
поддержкой bolt.
В итоге можно сказать, что Neo4j — это эффективное и удачное решение для
задач для взаимосвязанных сущностей.
Однако Neo4j не является решением всех возможных проблем, поэтому данную
графовую БД, как и в целом графовые БД, следует использовать для решения
задач, которые решаются только графами.