Как CosmosDB распределяет пропускную способность при предоставлении для каждой базы данных (общие RU) - PullRequest
2 голосов
/ 28 мая 2019

У меня проблема с пониманием того, как работает распределение выделенной пропускной способности, если я настроил Cosmos DB на использование общих RU - настройка RU на уровне базы данных.

Я знаю, когда установлен на уровне контейнера (коллекции), что пропускная способность делится между логическими разделами, например, если сбор обеспечил пропускную способность 400 RU / s и 10 логических разделов, тогда пропускная способность для каждого раздела составляет 400/10 = 40 RU / s.

Но как быть, когда пропускная способность установлена ​​для каждой базы данных? Единственная документация, которую я нашел - https://docs.microsoft.com/en-us/azure/cosmos-db/set-throughput#set-throughput-on-a-database Насколько я могу судить, различие заключается в том, что физические разделы не выделены для одного контейнера, но могут содержать логические разделы из разных контейнеров - означает ли это, что пропускная способность делится между всеми логическими разделами всех коллекций / контейнеров?

Например: у меня есть база данных с пропускной способностью 1000 RU / s и 2 коллекциями, одна с 3 логическими разделами и вторая с 7 логическими разделами, поэтому пропускная способность делится 1000 / (3 + 7) = 100 RU / s для каждой логической разметить?

ИЛИ Зарезервирована ли пропускная способность для всех коллекций / разделов в сумме? например есть база данных с 1000 RU / s, и один логический раздел использует 800RU / s, а другие используют 200RU / s (независимо от того, какая коллекция), тогда все в порядке, если их сумма не превышает 1000 RU / s?

Может быть, вопрос короткий - распределяется ли общая пропускная способность равномерно между логическими разделами (как при настройке на уровне коллекции) или нет (как-то иначе)?

1 Ответ

0 голосов
/ 30 мая 2019

Спасибо за ваш отзыв.Если вы настраиваете пропускную способность на уровне базы данных.Вы не можете гарантировать пропускную способность для каждого контейнера в нем, если не настроите пропускную способность и для контейнеров.

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

Вы можете следовать этому URL для понимания эффекта настройки пропускной способности в базе данных.и уровень контейнеров. Установить пропускную способность для базы данных и контейнера

Надеюсь, это поможет.

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