Я не понимаю, как раздел влияет на ограничение размера и значение пропускной способности для Azure Cosmos DB (в нашем случае мы используем documentdb). Если я понимаю документацию правильно.
для многораздельной коллекции лимит хранилища 10 ГБ применяется к каждому разделу?
значение пропускной способности напр. 400RU / S относится к каждому разделу, а не к коллекции?
Ответ 1 · рейтинг 2 · rickvdbosch
- Независимо от того, используете ли вы коллекции с одним разделом или коллекции с несколькими разделами, каждый раздел может иметь размер до 10 ГБ. Это означает, что коллекция с одним разделом не может превышать этот размер, в то время как коллекция с несколькими разделами может.
Взято из FAQ по Azure Cosmos DB:
Что такое коллекция?
Коллекция - это группа документов и связанная с ними логика приложения JavaScript. Коллекция - это оплачиваемая сущность, стоимость которой определяется пропускной способностью и используемым хранилищем. Коллекции могут охватывать один или несколько разделов или серверов и могут масштабироваться для обработки практически неограниченных объемов хранилища или пропускной способности.
Коллекции также являются объектами выставления счетов для Azure Cosmos DB. Счета за каждую коллекцию выставляются почасово в зависимости от выделенной пропускной способности и используемого пространства для хранения. Дополнительные сведения см. В разделе Цены на Azure Cosmos DB.
- Счета выставляются за коллекцию, где одна коллекция может иметь один или несколько разделов. Поскольку Azure выделяет разделы для размещения вашей коллекции, количество RU должно приходиться на каждую коллекцию. В противном случае клиент с большим количеством разделов получит намного больше RU, чем другой клиент, у которого такая же коллекция, но меньше разделов.
Для получения дополнительной информации см. Жирный текст в цитате ниже:
Взято из Цены на Azure Cosmos DB:
Подготовленная пропускная способность
В любом масштабе вы можете хранить данные и выделять пропускную способность. Счет за каждый контейнер выставляется ежечасно в зависимости от объема хранимых данных (в ГБ) и пропускной способности, зарезервированной в единицах по 100 единиц в секунду, минимум 400 единиц в секунду. Неограниченные контейнеры имеют не менее 100 RU в секунду на раздел.
Взято из Единицы запроса в Azure Cosmos DB:
При запуске новой коллекции, таблицы или графика вы указываете количество единиц запроса в секунду (RU в секунду), которое вы хотите зарезервировать. На основе подготовленной пропускной способности Azure Cosmos DB выделяет физические разделы для размещения вашей коллекции и разделяет / повторно балансирует данные по разделам по мере их роста.
Ответ 2 · рейтинг 1 · Jesse Carter
Другие ответы здесь обеспечивают отличную отправную точку для обеспечения пропускной способности, но не затрагивают важный момент, который не часто упоминается в документации.
Ваша пропускная способность фактически делится на количество физических разделов в вашей коллекции. Таким образом, для коллекции с несколькими разделами, предоставленной для 1000RU / с с 10 физическими разделами, это фактически 100RU / с на раздел. Таким образом, если у вас есть горячие разделы, к которым осуществляется более частый доступ, вы получите ошибки регулирования, даже если вы не превысили общее количество RU, назначенное коллекции.
Для коллекции с одним разделом вы, очевидно, получаете полный RU, назначенный для этого раздела, поскольку он единственный.
Если вы используете многораздельную коллекцию, вам следует стремиться выбрать ключ раздела с равномерным шаблоном доступа, чтобы ваша рабочая нагрузка могла быть равномерно распределена по базовым разделам без образования узких мест.
Ответ 3 · Gaurav Mantri
- для многораздельной коллекции лимит хранилища 10 ГБ применяется к каждому разделу?
Это правильно. Каждый раздел в многораздельной коллекции может иметь размер не более 10 ГБ.
- общее значение ex. 400RU / S относится к каждому разделу, а не к коллекции?
Пропускная способность находится на уровне сбора, а не на уровне раздела. Кроме того, минимальный RU / S для секционированной коллекции составляет 2500 RU / S, а не 400RU / S. 400RU / S - это значение по умолчанию для несекционированной коллекции.