Значение пропускной способности для базы данных Azure Cosmos

Я не понимаю, как раздел влияет на ограничение размера и значение пропускной способности для Azure Cosmos DB (в нашем случае мы используем documentdb). Если я понимаю документацию правильно.

  1. для многораздельной коллекции лимит хранилища 10 ГБ применяется к каждому разделу?

  2. значение пропускной способности напр. 400RU / S относится к каждому разделу, а не к коллекции?


person marc chen    schedule 11.09.2017    source источник


Ответы (3)


  1. Независимо от того, используете ли вы коллекции с одним разделом или коллекции с несколькими разделами, каждый раздел может иметь размер до 10 ГБ. Это означает, что коллекция с одним разделом не может превышать этот размер, в то время как коллекция с несколькими разделами может.

Взято из FAQ по Azure Cosmos DB:

Что такое коллекция?

Коллекция - это группа документов и связанная с ними логика приложения JavaScript. Коллекция - это оплачиваемая сущность, стоимость которой определяется пропускной способностью и используемым хранилищем. Коллекции могут охватывать один или несколько разделов или серверов и могут масштабироваться для обработки практически неограниченных объемов хранилища или пропускной способности.
Коллекции также являются объектами выставления счетов для Azure Cosmos DB. Счета за каждую коллекцию выставляются почасово в зависимости от выделенной пропускной способности и используемого пространства для хранения. Дополнительные сведения см. В разделе Цены на Azure Cosmos DB.

  1. Счета выставляются за коллекцию, где одна коллекция может иметь один или несколько разделов. Поскольку Azure выделяет разделы для размещения вашей коллекции, количество RU должно приходиться на каждую коллекцию. В противном случае клиент с большим количеством разделов получит намного больше RU, чем другой клиент, у которого такая же коллекция, но меньше разделов.

Для получения дополнительной информации см. Жирный текст в цитате ниже:

Взято из Цены на Azure Cosmos DB:

Подготовленная пропускная способность

В любом масштабе вы можете хранить данные и выделять пропускную способность. Счет за каждый контейнер выставляется ежечасно в зависимости от объема хранимых данных (в ГБ) и пропускной способности, зарезервированной в единицах по 100 единиц в секунду, минимум 400 единиц в секунду. Неограниченные контейнеры имеют не менее 100 RU в секунду на раздел.

Взято из Единицы запроса в Azure Cosmos DB:

При запуске новой коллекции, таблицы или графика вы указываете количество единиц запроса в секунду (RU в секунду), которое вы хотите зарезервировать. На основе подготовленной пропускной способности Azure Cosmos DB выделяет физические разделы для размещения вашей коллекции и разделяет / повторно балансирует данные по разделам по мере их роста.

person rickvdbosch    schedule 11.09.2017
comment
Важно упомянуть, как RU распределяется по вашим физическим разделам в коллекции из нескольких разделов для правильного планирования емкости. См. Мой ответ для получения дополнительной информации. - person Jesse Carter; 12.09.2017

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

Ваша пропускная способность фактически делится на количество физических разделов в вашей коллекции. Таким образом, для коллекции с несколькими разделами, предоставленной для 1000RU / с с 10 физическими разделами, это фактически 100RU / с на раздел. Таким образом, если у вас есть горячие разделы, к которым осуществляется более частый доступ, вы получите ошибки регулирования, даже если вы не превысили общее количество RU, назначенное коллекции.

Для коллекции с одним разделом вы, очевидно, получаете полный RU, назначенный для этого раздела, поскольку он единственный.

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

person Jesse Carter    schedule 12.09.2017

  1. для многораздельной коллекции лимит хранилища 10 ГБ применяется к каждому разделу?

Это правильно. Каждый раздел в многораздельной коллекции может иметь размер не более 10 ГБ.

  1. общее значение ex. 400RU / S относится к каждому разделу, а не к коллекции?

Пропускная способность находится на уровне сбора, а не на уровне раздела. Кроме того, минимальный RU / S для секционированной коллекции составляет 2500 RU / S, а не 400RU / S. 400RU / S - это значение по умолчанию для несекционированной коллекции.

person Gaurav Mantri    schedule 11.09.2017