Использование монгоидного дерева для множества отношений в рельсах? - PullRequest
0 голосов
/ 03 октября 2011

Я просто хотел получить совет по проектированию базы данных с mongoid и рельсами.

Если у меня есть сложные объекты, которым нужна возможность ссылаться друг на друга, это будет подходящим решением.

class Tree
  include Mongoid::Document
  include Mongoid::Tree
end

class Group < Tree
end

class People < Tree
end

class Cars < Tree
end

etc...

Так что все они могут принадлежать друг другу, быть братьями и сестрами или быть детьми. Повысит ли это производительность, так как все они будут в одной коллекции? По сравнению с тем, использовал ли я отношения habtm между, скажем, 2, 3 или 4 моделями. Не совсем уверен, что отдельные модели, названные в одной коллекции, работают быстрее или имеют подходящий дизайн.

Основная причина, по которой я попробовал этот дизайн, заключалась в том, что я читал идею, лежащую в основе nosql, - использование объектов nest для минимизации обращений к базе данных. Имеет ли какое-то значение обращение к дочернему объекту в одной коллекции по сравнению с отдельной коллекцией? Или даже в нескольких коллекциях?

Здесь есть несколько вопросов, но, надеюсь, кто-то может помочь мне указать верное направление:)

1 Ответ

1 голос
/ 03 октября 2011

да, хороший выбор!Вы хотите использовать Inheritance, как этот, чтобы хранить их в одной коллекции.Вам нужно будет получить доступ только к одной коллекции - это должно ускорить доступ к детям / родителям.

...