Базы данных документов: избыточные данные, ссылки и т. Д. . (В частности, MongoDB)

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

Таким образом, простой ответ - сохранить идентификатор пользователя в документе магазина или идентификатор магазина в документ пользователя. Однако часто бывает необходимо получить доступ к 1-2 другим частям данных для отображения, потому что идентификаторы не нужны. Например, имя покупателя или название магазина.

  1. Вы обычно храните копию всего документа? Или просто храните нужные вам данные? Может быть, зависит от размера документа и того, сколько его вам нужно.
  2. Как вы справляетесь с тем, что у вас есть повторяющиеся данные? Вы идете искать данные, когда они меняются? Обновляйте данные через некоторый интервал, когда они ' загружен? Дублировать только тогда, когда вы можете позволить себе устаревшие данные?

Будем признательны за ваш вклад и / или ссылки на любые «лучшие практики» или, по крайней мере, аргументированное обсуждение этих тем.

27
задан Cœur 26 April 2017 в 17:08
поделиться