Я пишу приложение ruby, в котором хранятся данные о происхождении.Т.е. Семейное древо.
Для остальной части приложения я использую MongoDB для хранения, поскольку оно поддается иерархической структуре, однако данные предков не совсем соответствуют этой модели, даже если они иерархичны всмысл.Мне любопытно, есть ли у кого-нибудь предложение о том, следует ли мне обмениваться данными в более подходящем слое базы данных, чтобы справиться с ними?
Т.е. A связан с B (двунаправленный) и имеет родителей C и D. B имеет родителейE и F. A и B имеют дочерние элементы G, H, I. G в паре с H и т. Д.
Так что это не совсем рекурсивно, поскольку один узел имеет 2 родительских узла.Поэтому встраивание не имеет смысла в MongoDB, поскольку оба родителя будут встраивать одно и то же дерево в двух экземплярах.Он ближе к социальному графу, только более жесткий (есть только 2 типа отношений).Я думаю, что наборы Redis будут работать очень хорошо, но прежде чем я усложню стек с постоянством Polyglot, я надеялся получить некоторую обратную связь от других, которые, возможно, разработали подобные структуры.Другая проблема, связанная с Redis - хранение всех этих деревьев в памяти, может быть не очень хорошей идеей, хотя, если бы я только сохранял отношения в Redis с объектными данными в документах MongoDB, вероятно, все было бы в порядке.