Предложение для базы данных типа происхождения: MongoDB, Redis и т. Д.?

StackOverflow https://stackoverflow.com/questions/4241943

Вопрос

Я пишу приложение Ruby, которое сохраняет данные типа предков. Т.е. семейное дерево.

Для остальной части приложения я использую MongoDB для хранения, поскольку он поддается иерархической структуре, однако данные предков не соответствуют этой модели, даже если она иерархична в некотором смысле. Мне любопытно, если у кого-то есть предложение о том, следует ли использовать больше подходящего слоя базы данных для обработки их?

IE A в паре с B (двунаправленные) и имеет родителей C и D. B имеет родителей E и F. A и B у детей G, H, I. G в паре с H, и так далее.

Так что это не совсем рекурсию, так как один узел имеет 2 родительских узла. Поэтому вложение не имеет смысла в MongoDB, так как оба родителя встроили одинаковое дерево в дублировании. Он ближе к социальному графику только более жестким (есть только 2 типа отношений). Я думаю, что наборы Redis будут работать очень хорошо, но прежде чем я усложняющую стек с постоянством полиглота, я надеялся, что смогу получить некоторые отзывы от других, которые могут разработать аналогичные структуры. Другое беспокойство у меня с Redis хранит все эти деревья в памяти, возможно, не может быть отличной идеей, хотя, если бы я только хранил отношения в Redis с данными объекта в документах MongoDB, это, вероятно, было бы в порядке.

Это было полезно?

Решение

Может быть, вы должны попробовать диаграмму базы данных, так как звучит намного ближе к домену. И там довольно много, вы могли бы попробовать http://nosql.mypopescu.com/post/498705278/498705278/quick-review-of-existing-graph-databases.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top