Я собираю простой форум для того, чтобы окунуться в документную базу данных - думая, что это будет относительно прямая вещь для моделирования.
У меня проблемы с выяснением, как именно должны храниться документы. В данный момент я использую RavenDB, но я думаю, что он будет похож на другие документы. DBS.
Таким образом, в основном существует Forums
, и на каждом форуме есть группа Threads
, и каждая тема содержит группу Posts
, автором которой является Users
.
У меня в голове есть представление, что каждый из них представляет собой отдельные документы, главным образом потому, что каждый Forum
может иметь тысячи Threads
, а каждый Thread
может иметь тысячи Posts
. Кажется, что наличие непонятных документов приведет к тому, что они со временем станут массивными?
При просмотре страницы со списком всех Posts
я хочу отобразить имя Author
(ничего страшного) и количество сообщений Author
. Вот где я застрял.
Я могу сохранить имя Author
в сообщении, поскольку оно вряд ли изменится, однако количество сообщений Author
будет постоянно меняться, поэтому его нельзя сохранить в пределах Post
.
Так что теперь, если я показываю страницу с 50 сообщениями, мне нужно выполнить реляционный эквивалент объединения, чтобы получить текущий счет Author
сообщений. Это указывает на то, что я делаю это неправильно, если БД документов просто не подходит для этого сценария?
Редактировать
Похоже, Live Projection в RavenDB должно справиться с этим просто отлично, но я все же хотел бы высказать несколько комментариев о возможных альтернативных проектах БД.