Читать стратегию раздела модели ключа - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть коллекция документов, которая выглядит следующим образом:

enter image description here

Существует один документ на VIN / SiteID, и наш шаблон доступа показываетвсе документы на конкретном сайте.Я вижу два возможных ключа раздела, которые мы могли бы выбрать:

  1. SiteID - у нас всего 75 сайтов, поэтому количество элементов не очень велико.Кроме того, элементы не очень большие, поэтому ограничение в 10 ГБ, вероятно, в порядке.
  2. SiteID / VIN: данные теперь распределены более равномерно, но теперь это означает, что в каждом логическом разделе будет храниться только один элемент.это анти-паттерн?Кроме того, поэтому для поддержки нашего шаблона доступа нам нужно будет использовать перекрестный запрос.Опять же, набор данных мал, так что это проблема?

Исходя из того, что я описываю, какой ключ раздела имеет больше смысла?

Буду признателен за любые другие предложения!

1 Ответ

0 голосов
/ 27 сентября 2018

Ваш первый вариант имеет много смысла и может быть хорошим ключом раздела, но слова «вероятно, хорошо» на самом деле не внушают доверия.Помните, что единственный способ изменить ключ раздела - это перейти на новую коллекцию.Если вы можете пойти на этот риск, то SiteId (который, я думаю, у вас всегда будет) является хорошим ключом раздела.

Если у вас есть и VIN, и SiteId, когда вы читаете или запрашиваете, то этоболее безопасное сочетание.Нет проблем с наличием в каждом логическом разделе одного элемента как такового.Это проблема только тогда, когда вы выполняете перекрестные запросы.Если вы знаете VIN и SiteId в своих запросах, тогда это отличный план.

Вы также должны помнить, что ваши RU равномерно распределены между вашими разделами внутри коллекции.

...