Как обрабатывать отношения в хранилищах документов - PullRequest
2 голосов
/ 12 августа 2011

Я понимаю, что отношения в действительности не нужны в хранилищах документов, но для некоторых вещей они все еще могут быть полезны. Или я ошибаюсь (засунулся в RDBMS)?

Например:

Допустим, у меня есть куча файлов и их история изменений:

File
   Name
   Path
   CreatedBy
   .. etc ..
   Revision
      Date
      Info 
      CreatedBy

Должен ли я добавить объект User в CreatedBy для файла и всех ревизий или это должен быть идентификатор, ссылающийся на документ User? Какова общая практика?

1 Ответ

1 голос
/ 12 августа 2011

Должен ли я добавить объект пользователя в CreatedBy для файла и всех ревизий или это должен быть идентификатор, ссылающийся на документ пользователя?Какова общая практика?

Обе MongoDB и CouchDB имеют статьи по этой теме, и я бы сказал, что это зависит от вашего сценария, данных и системы БД, которую вы используете.с помощью.Если данные, которые вы считаете встраиваемыми или ссылочными, большие, вы должны ссылаться на них, потому что, например, CouchDB не поддерживает (насколько я знаю) возврат только части документа, если он большой и вы хотите получить только основные / выбранныесостав.С другой стороны, встраивание может помочь вам во время запросов, так как вам не нужно искать ссылки на документы, но это действительно зависит от системы, которую вы используете.

...