Как стать автором
Обновить

Комментарии 11

А что такого есть в neo4j, чего нет в той же постгре? Там как-то хитро внутри данные лежат, индексы какие хитрые под транзитивные зависимости строятся? Никак не пойму зачем их брать, если есть полноценные бд - умеющие тоже самое, еще сверху мешок всего.

Удобный язык запросов для графовых данных и вроде как быстрее.


Вот например первое что нашел в гугле


Когда у вас юзеры и их комменты преимущество не очень понятно, но, когда я работал над приложением для фильмов с запросами вида "найти все фильмы где человек паук целует белоснежку" (а это (персонаж: Человек Паук) + (действие: целует) + (персонаж: Белоснежка) в (короткая сцена) — (длинная сцена) — (акт) — (пленка) — (фильм) ) — оценил neo4j на полную. В SQL это были бы километровые джоины.

Так есть же RDF и удобный язык запросов SPARQL. На кой нужен Neo4J ?

Разработчики Neo4j сейчас: БЛИИИН, точно, как мы могли забыть, есть же SPARQL, ёпрст, всё, расходимся.




У нас как раз был проект сначала на Marklogic DB (а там SPARQL). В итоге после пары лет использования перешли на Neo4J и все остались очень довольны. Заказчику понравилась бесплатность и улучшение в перформансе, а разработчикам — более удобный синтаксис и опять же, перформанс из коробки.


Ну и более адекватная разработка, потому что SPARQL это про semantic web и открытые данные, а когда тебе надо через него тащить из базы в приложение что-то, хочется чего-то более приземленного.


Лично мне Cypher показался чуть более удобным чем SPARQL. Примерно как json удобнее xml'я — вроде одно и то же, а как-то визуально попроще.




Не надо делать меня бешеным фанатом neo4j — человек спросил, я ответил как мог. Считаете neo4j бесполезной по сравнению с RDF / *SQL — пожалуйста, флаг Вам в руки.


Просто у меня остались приятные впечатления после работы с ней и я лишь изредка с ностальгией вспоминаю её, особенно когда пишу четыре джоина или лукапа.

А ещё есть gremlin :)

Neo4j — это графовая система управления базами данных с открытым исходным кодом, реализованная на Java. Она является ведущей графовой СУБД в мире. Аналогами Neo4j являются Oracle NoSQL Database, HypherGraphDB, GraphBase, InfiniteGraph и AllegroGraph.

Что есть «ведущая» и по какому признаку?

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

Вы вроде пишите статью для новичков, но вступление у вас не объясняет ровным счетом ничего. Картинка ровно так же подойдет двум таблицам со связью, отсюда вопрос, почему не РСУБД? К тому же многие пишут что тот же pg_route для обхода графов предлагает больше эфективных интересностей.

Но использовать его стоит только для решения задач, которые решаются с использованием графов.

И опять же, ни слова о самих задачах.

Также стоило упомянуть о OrientDB и ArangoDB

Вот именно ! Сам хотел это сказать.

Apache TinkerPop, Amazon Neptune ещё

по ссылкам ошибка 404. Поправьте пожалуйста

теперь работает, спасибо!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории