Последствия использования / id для ключа раздела в CosmosDb - PullRequest
0 голосов
/ 11 февраля 2019

В сценарии, где у нас есть 1000 записей (уникальных ключей), вводящих космос в минуту, безопасно ли использовать / id в качестве ключа раздела?

В частности, существует концепция логических разделов https://docs.microsoft.com/en-us/azure/cosmos-db/partition-data Графика здесь немного пугает меня, показывая, что логические разделы являются реальными объектами (например, "city": "London"),Если у меня 8-часовой TTL и 1000 записей в минуту, я не обязательно хочу 480 000 логических разделов, которыми должен управлять космос.

Я предполагаю, что происходит то, что значение ключа раздела просто хэшируется и по модулю с количеством физических разделов, напр.https://docs.microsoft.com/en-us/azure/cosmos-db/partitioning-overview#choose-partitionkey указывает, что это верно в разделе «Управление логическими разделами».Кроме того, в разделе «Выбор ключа раздела» предлагается (но на самом деле не говорится), что / id будет фантастическим ключом раздела, так как ему не нужно беспокоиться о пределе 10 ГБ, о пропускной способности, об отсутствии горячих точек, о широкой (огромный) диапазон значений, и, поскольку приложению не нужно фильтровать что-либо, кроме идентификатора, запросы с несколькими разделами не будут проблемой для этого варианта использования.

В заключение, нужно ли беспокоиться о накладных расходах памяти / ЦП и т. Д. Сотен тысяч значений ключа раздела (логических разделов)?Документы указывают, что чем больше значений ключа раздела, тем лучше, но не говорите, возможно ли иметь слишком много значений.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Последствия:

  1. лучшая мощность
  2. простое, быстрое и дешевое чтение документа

  3. нет транзакций, поскольку объем транзакции является ключом раздела

  4. запросов, отличных от id, будут перекрестными

PS.Я с трудом представляю себе случай, когда ничего не нужно, кроме id чтения / запросов.за исключением, может быть, для кэширования документов (в сочетании с TTL).

0 голосов
/ 11 февраля 2019

Я из инженерной команды Cosmos DB.

Вам не нужно беспокоиться о количестве ключей логических разделов, которые создаются в коллекции / контейнере Cosmos DB.Пока ключ раздела является подходящим выбором для ваших записей (с учетом ограничения на логические ключи раздела 10 ГБ) и запросов, у вас все должно быть хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...