2015-10-10 3 views
1

У нас есть система, которая представляет собой гибрид Neo и Postgres. Мы попытались сохранить данные с использованием технологии, которая была наиболее подходящей.Neo4J и реляционные базы данных

Таблица наших пользователей оказалась в Postgres, также как и поддерживающие таблицы, связанные с RBAC.

Пользователи могут быть связаны с определенными узлами Нео. Когда мы хотим узнать о пользователе узла, наши модели должны получать из Postgres - нет запроса Neo, который может извлечь пользователя, конечно.

Это имело для нас смысл, когда мы это делали. Теперь у нас есть 6 месяцев Нео под нашими поясами, и я понимаю, что мы допустили ошибку.

Я помню, как мы говорили: «Может быть тысяча пользователей!» Нам никогда не приходило в голову, что мы будем управлять миллионами узлов Neo ... но это происходит. Тысяча ничего не проблема.

С большим пониманием, мне ясно, что пользователь/RBAC был Neo slam-dunk.

Просьба предложить мне некоторое руководство по использованию реляционной базы данных по сравнению с Neo.

ответ

1

Это очень общий вопрос. Как вы уже указали, это действительно зависит от ваших случаев использования и контекста. В общем, обе базы данных являются универсальными, но блеска для определенных приложений.

Все задачи JOIN, связанные с тяжелым, деревом, графикой, контуром и без схем, будут проще и быстрее с Neo4j.

Я бы не использовать Neo4j для:

  • двоичных данных
  • очень большие объемы записи (> 100k до 1M обновлений/с)
  • много глобального хруста числа запросов в режиме реального времени

Отказ от ответственности: Я работаю для Neo4j :)

Смежные вопросы