Как создавать коллекции документов, не такие как SQL, с учетом ограничения в 2 МБ? - PullRequest
0 голосов
/ 29 октября 2018

Вот проблема, с которой я сталкиваюсь при переходе от SQL к базе данных документа с ограничением в 2 МБ для документов. Предположим, у меня есть сущности, которые выглядят так:

unit
   id
   item[]

item
   id
   name

Если item[] может быть произвольной длины (как обычно имеет место), то я не могу сохранить unit в его буквальном представлении, потому что есть вероятность, что его размер может превысить 2 МБ. В таком случае я думаю, что нужно преобразовать эту структуру в

unit
   id

item
   id
   unitId
   name

и затем нужно выполнить «соединения», которые слишком похожи на SQL (следовательно, какой смысл использовать no-SQL?).

1 Ответ

0 голосов
/ 29 октября 2018

это больше вопрос архитектуры, чем вопроса разработки, но вот дело: Планируйте свои данные на основе 3 уровней, где

  • уровень один, представляет микроданные, такие как человек и его два адреса.
  • Уровень 2 представляет списки среднего размера, такие как все продажи, совершенные магазином за один день
  • уровень 3 - огромные списки с миллиардами итенов

идея заключается в том, что для случаев 1 и 2 вы можете очень много хранить эту информацию, вложенную в сущность, без каких-либо проблем в обозримом будущем (помните, что документ 2 МБ - это очень длинный документ с более чем 2 миллионами символов), и это значит нет присоединений! в интенсивно используемой системе это может означать огромную экономию!

Я бы посоветовал вам изучить ваши данные, спланировать их поведение и посмотреть, нужно ли вам разбивать их на части

...