Квоты для службы Azure Cosmos DB
ПРИМЕНИМО К: Nosql
Mongodb
Кассандра
Гремлин
Таблица
В этой статье представлен обзор квот по умолчанию, предлагаемых для разных ресурсов в Azure Cosmos DB.
Операции с хранилищем и базой данных
После создания учетной записи Azure Cosmos DB в подписке вы можете управлять данными в своей учетной записи, создавая базы данных, контейнеры и элементы.
Подготовленная пропускная способность
Пропускную способность можно выделить на уровне контейнера или базы данных с точки зрения единиц запросов (ЕЗ/с или ЕЗ). В следующей таблице перечислены ограничения в том, что касается хранения и пропускной способности каждого контейнера или базы данных. Служба хранилища — это объединенный объем данных и хранилище индексов.
Ресурс | Ограничение |
---|---|
Максимальное количество запросов в секунду для контейнера (режим выделенной пропускной способности) | 1 000 000 ¹ |
Максимальное количество запросов для одной базы данных (подготовленный режим общей пропускной способности) | 1 000 000 ¹ |
Максимальное значение ЕЗ/с на один раздел (логический и физический) | 10 000 |
Максимальный объем хранилища для всех элементов в (логическом) разделе | 20 ГБ ² |
Максимальное число уникальных (логических) ключей разделов | Неограниченно |
Максимальный объем хранилища для одного контейнера | Неограниченно |
Максимальный размер вложения для учетной записи (поддержка функции вложения в данный момент прекращается) | 2 ГБ |
Минимально необходимое значение ЕЗ/с на 1 ГБ | 1 ЕЗ/с |
¹ Вы можете увеличить максимальное количество ЕЗ на контейнер или базу данных, отправив запрос на поддержка Azure.
² Сведения о рекомендациях по управлению рабочими нагрузками с ключами секций, для которых требуются более высокие ограничения на хранилище или пропускную способность, см. в статье Создание искусственного ключа секции. Если рабочая нагрузка уже достигла предельного размера логического раздела (20 ГБ) в рабочей среде, в качестве долгосрочного решения рекомендуется перепроектировать приложение с использованием другого ключа раздела. Чтобы выделить на это достаточно времени, вы можете запросить временное увеличение предельного размера ключа логического раздела для существующего приложения. Отправьте запрос в службу поддержки Azure и выберите тип квоты Временное увеличение размера ключа логического раздела контейнера. Запрос на временное увеличение — это неокончательное решение, которое не рекомендуется использовать долгосрочно, так как при увеличении ограничения не будут соблюдаться гарантии Соглашения об уровне обслуживания. Чтобы удалить конфигурацию, создайте запрос в службу поддержки и выберите тип квоты Восстановление размера ключа логического раздела контейнера до стандартного (20 ГБ). Такой запрос в службу поддержки можно выполнить после того, как вы либо удалите данные, чтобы соблюсти ограничение на размер логического раздела в 20 ГБ, либо перепроектируете приложение с использованием другого ключа раздела.
Минимальное ограничение пропускной способности
Контейнер Azure Cosmos DB (или база данных с общей пропускной способностью), использующий пропускную способность вручную, должен иметь минимальную пропускную способность 400 ЕЗ/с. По мере роста контейнера Azure Cosmos DB требуется минимальная пропускная способность, чтобы гарантировать, что ресурс (база данных или контейнер) имеет достаточный ресурс для операций.
Сведения об общей и минимальной пропускной способности контейнера или базы данных можно узнать на портале Azure или пакетов SDK. Дополнительные сведения см. в разделе Выделение пропускной способности для контейнеров и баз данных.
Фактический минимум ЕЗ/с будет зависеть от конфигурации вашей учетной записи. Метрики Azure Monitor можно использовать для просмотра журнала подготовленной пропускной способности (ЕЗ/с) и хранилища в ресурсе.
Минимальная пропускная способность контейнера
Чтобы оценить минимальную пропускную способность контейнера с настроенной вручную пропускной способностью, вычислите максимальное из следующих значений:
- 400 ЕЗ/с
- Текущее хранилище в ГБ * 1 ЕЗ/с
- Максимальное значение ЕЗ/с, подготовленное в контейнере / 100
Например, у вас есть контейнер, где подготовлено 400 ЕЗ/с и 0 ГБ хранилища. Вы увеличиваете пропускную способность до 50 000 ЕЗ/с и импортируете 20 ГБ данных. Минимальное значение ЕЗ/с теперь равно MAX(400, 20 * 1 RU/s per GB, 50,000 RU/s / 100)
= 500 ЕЗ/с. Со временем объем хранилища увеличивается до 2000 ГБ. Минимальное значение ЕЗ/с теперь равно MAX(400, 2000 * 1 RU/s per GB, 50,000 / 100)
= 2000 ЕЗ/с.
Минимальная пропускная способность в базу данных с общей пропускной способностью
Чтобы оценить минимальную пропускную способность, необходимую для базы данных с общей пропускной способностью, задаваемой вручную, вычислите максимальное значение:
- 400 ЕЗ/с
- Текущее хранилище в ГБ * 1 ЕЗ/с
- Максимальное значение ЕЗ/с, предусмотренное для базы данных / 100
- 400 + MAX(число контейнеров – 25, 0) * 100 ЕЗ/с
Например, у вас есть база данных с подготовленными 400 ЕЗ/с, 15 ГБ хранилища и 10 контейнерами. Минимальное значение ЕЗ/с равно MAX(400, 15 * 1 RU/s per GB, 400 / 100, 400 + 0 )
= 400 ЕЗ/с. Если в базе данных было 30 контейнеров, минимальное количество ЕЗ/с составит 400 + MAX(30 - 25, 0) * 100 RU/s
= 900 ЕЗ/с.
В сводке приведены минимальные значения подготовленных ограничений для единиц запросов в секунду, установленные вручную.
Ресурс | Ограничение |
---|---|
Минимальное количество запросов в секунду на контейнер (режим выделенной подготовленной пропускной способности), установленное вручную. | 400 |
Минимальное количество запросов в секунду для базы данных (режим общей выделенной подготовленной пропускной способности), установленное вручную. | 400 ЕЗ/с для первых 25 контейнеров. |
Azure Cosmos DB поддерживает программное масштабирование пропускной способности (ЕЗ/с) для каждого контейнера или базы данных с помощью пакетов SDK или портала.
В зависимости от текущего значения подготовленных ЕЗ/с и параметров ресурсов каждый ресурс может масштабироваться синхронно и моментально от минимального числа ЕЗ/с до значения, превышающего его в 100 раз. Если запрашиваемое значение пропускной способности выходит за пределы диапазона, масштабирование выполняется асинхронно. Асинхронное масштабирование может занять несколько минут в зависимости от запрошенной пропускной способности и размера хранилища данных в контейнере. Подробнее.
Бессерверные приложения
Бессерверная модель позволяет использовать ресурсы Azure Cosmos DB на основе потребления. В следующей таблице перечислены ограничения возможности увеличения ресурсов хранения и пропускной способности каждого контейнера или базы данных. Эти значения не подлежат увеличению. Рекомендуется выделить дополнительные бессерверные учетные записи для дополнительных потребностей в хранении.
Ресурс | Ограничение |
---|---|
Максимальное число ЕЗ/с на контейнер | 5 000 |
Максимальный объем хранилища для всех элементов в (логическом) разделе | 20 ГБ |
Максимальный объем хранилища на контейнер (API для NoSQL, MongoDB, Table и Gremlin) | 50 ГБ (по умолчанию)¹ |
Максимальный объем хранилища на контейнер (API для Cassandra) | 30 ГБ (по умолчанию)¹ |
¹ Бессерверные контейнеры размером до 1 ТБ в настоящее время находятся в предварительной версии с Azure Cosmos DB. Чтобы попробовать новую функцию, зарегистрируйте предварительную версию функции Azure Cosmos DB Serverless 1 TB Container Preview (Предварительная версия контейнера на 1 ТБ бессерверной службы Azure Cosmos DB) в подписке Azure.
Операции уровня управления
Вы можете создать учетную запись Azure Cosmos DB и управлять ею с помощью шаблонов портал Azure, Azure PowerShell, Azure CLI и Azure Resource Manager. В следующей таблице перечислены ограничения, предусмотренные для каждой подписки, учетной записи и количества операций.
Ресурс | Ограничение |
---|---|
Максимальное количество учетных записей на подписку | 50 по умолчанию. ¹ |
Максимальное число региональных отработок отказа | 10 в час по умолчанию. ¹ ² |
¹ Эти ограничения можно увеличить, создав запрос в службу поддержки Azure не более 1000.
2 Региональная отработка отказа применяется только к учетным записям записи в одном регионе. Учетные записи с правами записи в нескольких регионах не имеют ограничений на изменение региона записи.
Azure Cosmos DB автоматически копирует все ваши данные с регулярными интервалами. Дополнительные сведения об интервалах и окнах хранения резервных копий см. в разделе Оперативное резервное копирование и восстановление данных по запросу в Azure Cosmos DB.
Ограничения для каждой учетной записи
Ниже приведен список ограничений для каждой учетной записи.
Подготовленная пропускная способность
Ресурс | Ограничение |
---|---|
Максимальное количество баз данных на учетную запись | 500 |
Максимальное число контейнеров в одной базе данных с общей пропускной способностью | 25 |
Максимальное число контейнеров в учетной записи | 500 |
Максимальное число регионов | Без ограничений (все регионы Azure) |
Бессерверные приложения
Ресурс | Ограничение |
---|---|
Максимальное количество баз данных на учетную запись | 100 |
Максимальное число контейнеров в учетной записи | 100 |
Максимальное число регионов | 1 (любой регион Azure) |
Ограничения для одного контейнера
В зависимости от используемого API контейнер Azure Cosmos DB может представлять коллекцию, таблицу или граф. Контейнеры поддерживают конфигурации для ограничений уникального ключа, хранимых процедур, триггеров и определяемых пользователем функций, а также для политики индексирования. В следующей таблице перечислены ограничения, предусмотренные для конфигураций в контейнере.
Ресурс | Ограничение |
---|---|
Максимальная длина имени базы данных или контейнера | 255 |
Максимальное количество хранимых процедур на контейнер | 100 ¹ |
Максимальное число определяемых пользователем функций на контейнер | 50 ¹ |
Максимальное число уникальных ключей на контейнер | 10 ¹ |
Максимальное число путей на ограничение уникального ключа | 16 ¹ |
Максимальное значение срока жизни | 2147483647 |
¹ Вы можете увеличить любое из этих ограничений для каждого контейнера, создав запрос в службу поддержки Azure.
Ограничения для каждого элемента
Элемент Azure Cosmos DB может представлять либо документ в коллекции, либо строку в таблице, либо узел или ребро графа; в зависимости от используемого API. В следующей таблице показаны ограничения на элемент в Azure Cosmos DB.
Ресурс | Ограничение |
---|---|
Максимальный размер элемента | 2 МБ (длина UTF-8 в представлении JSON) ¹ |
Максимальная длина значения ключа раздела | 2048 байт (101 байт, если большой ключ секции не включен) |
Максимальная длина значения идентификатора | 1023 байта |
Допустимые символы для значения идентификатора | На стороне службы разрешены все символы Юникода, кроме "/" и "\". ПРЕДУПРЕЖДЕНИЕ. Но для наилучшего взаимодействия мы НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ использовать только альфа-числовые символы ASCII в значении идентификатора. Существует несколько известных ограничений в некоторых версиях пакета SDK Cosmos DB, а также соединителей (ADF, Spark, Kafka и т. д.), http-drivers/libraries и т. д. может препятствовать успешной обработке, если значение идентификатора содержит небуквенно-цифровые символы ASCII. Таким образом, чтобы повысить взаимодействие, закодируйте значение идентификатора, например с помощью Base64 и пользовательской кодировки специальных символов, разрешенных в Base64. — если необходимо поддерживать небуквенно-цифровые символы ASCII в службе или приложении. |
Максимальное число свойств на элемент | Без практически применимых ограничений |
Максимальная длина имени свойства | Без практически применимых ограничений |
Максимальная длина значения свойства | Без практически применимых ограничений |
Максимальная длина строкового значения свойства | Без практически применимых ограничений |
Максимальная длина числового значения свойства | 64-разрядное значение IEEE754 с двойной точностью |
Максимальный уровень вложенности для внедренных объектов и массивов | 128 |
Максимальное значение срока жизни | 2147483647 |
Максимальная точность и диапазон чисел в формате JSON (для обеспечения безопасного взаимодействия) | IEEE 754 binary64 |
¹ Документы большого размера до 16 МБ поддерживаются только в Azure Cosmos DB для MongoDB. Дополнительные сведения см. в документации по функциям .
Для полезной нагрузки элемента не предусмотрены ограничения, например по числу свойств и глубине вложения, за исключением ограничений по длине ключей разделов и значений идентификаторов, а также по общему размеру (2 МБ). Возможно, потребуется настроить политику индексирования для контейнеров с большими или сложными структурами элементов, чтобы снизить потребляемое число единиц запросов. Реальные примеры и шаблоны для управления большими элементами см. в статье Моделирование элементов в Azure Cosmos DB .
Ограничения для каждого запроса
Azure Cosmos DB поддерживает CRUD и операции с запросами для ресурсов, таких как контейнеры, элементы и базы данных. Он также поддерживает транзакционные пакетные запросы к элементам с тем же ключом секции в контейнере.
Ресурс | Ограничение |
---|---|
Максимальное время выполнения для одной операции (например, выполнение хранимой процедуры или получение одной страницы запроса) | 5 секунд |
Максимальный размер запроса (например, хранимая процедура, CRUD) | 2 МБ |
Максимальный размер отклика (например, запрос с разбивкой на страницы) | 4 МБ |
Максимальное количество операций в пакете транзакции | 100 |
Когда для операции (например, запрос) превышен интервал ожидания или размер отклика, она возвращает клиенту страницу результатов и маркер продолжения, чтобы возобновить выполнение. Практических ограничений по продолжительности выполнения одного запроса на страницах или продолжениях не предусмотрено.
Azure Cosmos DB использует HMAC для авторизации. Для детализированного контроля доступа к ресурсам можно использовать первичный ключ или маркер ресурса. Эти ресурсы могут быть контейнерами, ключами разделов или элементами. В следующей таблице перечислены ограничения для маркеров авторизации в Azure Cosmos DB.
Ресурс | Ограничение |
---|---|
Максимальный срок действия первичного маркера | 15 мин. |
Минимальный срок действия маркера ресурса | 10 мин. |
Максимальный срок действия маркера ресурса | 24 ч по умолчанию ¹ |
Максимальная расфазировка тактовых сигналов для авторизации токена | 15 мин. |
¹ Вы можете увеличить его, отправив поддержка Azure билет
Azure Cosmos DB поддерживает выполнение триггеров во время записи. Служба поддерживает не более одного триггера события перед каждой операцией записи и не более одного триггера после каждой операции записи.
Ограничения запросов метаданных
Azure Cosmos DB поддерживает системные метаданные для каждой учетной записи. Эти метаданные позволяют перечислять коллекции, базы данных, другие ресурсы Azure Cosmos DB и их конфигурации бесплатно.
Ресурс | Ограничение |
---|---|
Максимальная скорость создания коллекций в минуту | 100 |
Максимальная скорость создания баз данных в минуту | 100 |
Максимальное число обновлений подготовленной пропускной способности в минуту | 5 |
Максимальная пропускная способность, поддерживаемая учетной записью для операций с метаданными | 240 ЕЗ/с |
Ограничения для подготовленной автомасштабируемой пропускной способности
Подробное описание ограничений по пропускной способности и хранению при автомасштабировании см. в разделах Автомасштабирование и Часто задаваемые вопросы.
Ресурс | Ограничение |
---|---|
Максимальное число единиц запросов в секунду, до которого возможно масштабирование системы | Tmax , максимальное число единиц запросов в секунду, заданное пользователем |
Минимальное число единиц запросов в секунду, до которого возможно масштабирование системы | 0.1 * Tmax |
Текущее число единиц запросов в секунду, до которого возможно масштабирование системы | 0.1*Tmax <= T <= Tmax , с учетом данных по использованию |
Минимальное число единиц запросов в час, включаемых в счет | 0.1 * Tmax Выставление счетов выполняется на почасовой основе по максимальному количеству единиц запросов в секунду, до которого система выполняла масштабирование в течение часа, или по 0.1*Tmax , в зависимости от того, какое значение больше. |
Минимальное значение автомасштабирования для макс. числа единиц запросов в секунду для контейнера | MAX(1000, highest max RU/s ever provisioned / 10, current storage in GB * 10) с округлением до ближайших 1000 единиц запросов в секунду |
Минимальное значение автомасштабирования для макс. числа единиц запросов в секунду для базы данных | MAX(1000, highest max RU/s ever provisioned / 10, current storage in GB * 10, 1000 + (MAX(Container count - 25, 0) * 1000)) с округлением до ближайших 1000 единиц запросов в секунду. Примечание. Если в базе данных содержится более 25 контейнеров, система увеличивает минимальное значение автомасштабирования макс. числа единиц запросов в секунду на 1000 единиц для каждого дополнительного контейнера. Например, если имеется 30 контейнеров, можно задать минимальное значение автомасштабирования макс. числа единиц запросов в секунду для 6000 единиц запросов в секунду (масштабирование в пределах от 600 до 6000 единиц запросов в секунду). |
Ограничения по запросам SQL
Azure Cosmos DB поддерживает запросы элементов с помощью SQL. В следующей таблице описаны ограничения по операторам запроса, например с точки зрения количества предложений или длины запроса.
Ресурс | Ограничение |
---|---|
Максимальная длина SQL-запроса | 512 КБ |
Максимальное число объединений на запрос | 10 ¹ |
Максимальное число определяемых пользователем функций на запрос | 10 ¹ |
Максимальное число точек на многоугольник | 4096 |
Максимальное число явно включенных путей на контейнер | 1500 ¹ |
Максимальное число явно исключенных путей на контейнер | 1500 ¹ |
Максимальное число свойств в составном индексе | 8 |
¹ Вы можете увеличить любое из этих ограничений SQL-запросов, создав запрос в службу поддержки Azure.
Ограничения API для MongoDB
Azure Cosmos DB поддерживает протокол подключения MongoDB для приложений, написанных с помощью MongoDB. Поддерживаемые команды и версии протокола приведены в разделе Поддерживаемые функции и синтаксис MongoDB.
В следующей таблице перечислены ограничения, относящиеся к поддержке функций MongoDB. Другие ограничения служб, упомянутые для API для NoSQL, также применяются к API для MongoDB.
Ресурс | Ограничение |
---|---|
Максимальный размер памяти для запросов MongoDB (это ограничение применимо только для версии сервера 3.2) | 40 МБ |
Максимальное время выполнения для операций MongoDB (для версии сервера 3.2) | 15 секунд |
Максимальное время выполнения для операций MongoDB (для версий сервера 3.6 и 4.0) | 60 секунд |
Максимальный уровень вложенности для внедренных объектов и массивов в определениях индекса | 6 |
Время ожидания простоя подключения для закрытия подключения на стороне сервера ¹ | 30 минут |
¹ Рекомендуется, чтобы клиентские приложения устанавливали время ожидания простоя подключения в параметрах драйвера на 2–3 минуты, так как время ожидания по умолчанию для Azure LoadBalancer составляет 4 минуты. Это время ожидания гарантирует, что при простое промежуточной подсистемы балансировки нагрузки не будут закрыты подключения между клиентским компьютером и Azure Cosmos DB.
Пробная версия Azure Cosmos DB Бесплатные ограничения
В следующей таблице перечислены ограничения для бесплатной пробной версии Try Azure Cosmos DB for Free.
Ресурс | Ограничение |
---|---|
Срок действия бесплатной пробной версии | 30 дней (после истечения срока действия можно запросить новую бесплатную пробную версию) После истечения срока действия все хранимые сведения удаляются. |
Максимальное количество контейнеров на подписку (NoSQL, Gremlin, API для таблицы) | 1 |
Максимальное количество контейнеров на подписку (API для MongoDB) | 3 |
Максимальная пропускная способность на контейнер | 5000 |
Максимальная пропускная способность на базу данных с общей пропускной способностью | 20 000 |
Максимальный общий объем хранилища для учетной записи | 10 ГБ |
Пробная версия Azure Cosmos DB поддерживает глобальное распространение только в Центральной части США, Северной Европе и Юго-Восточной Азии. Невозможно создать обращения в службу поддержки Azure для учетных записей Try Azure Cosmos DB. Однако поддержка предоставляется подписчикам, которые приобрели план с услугами поддержки.
Ограничения для учетных записей уровня "Бесплатный" в Azure Cosmos DB
В следующей таблице перечислены ограничения для учетных записей Azure Cosmos DB уровня "Бесплатный".
Ресурс | Ограничение |
---|---|
Число учетных записей уровня "Бесплатный" для одной подписки Azure | 1 |
Продолжительность действия скидки на основе категории для уровня "Бесплатный" | Срок действия учетной записи. При создании учетной записи необходимо явное согласие. |
Максимальное число единиц запросов в секунду для уровня "Бесплатный" | 1000 единиц запросов в секунду |
Максимальный объем хранилища для уровня "Бесплатный" | 25 ГБ |
Максимальное число баз данных с общей пропускной способностью | 5 |
Максимальное число контейнеров в базе данных с общей пропускной способностью | 25 25 (в учетных записях уровня "Бесплатный" предоставляется не менее 400 ЕЗ для каждой базы данных с общей пропускной способностью и числом контейнеров не более 400). |
В дополнение к предыдущей таблице ограничения на учетную запись также применяются к учетным записям уровня "Бесплатный". Дополнительные сведения см. в статье об учетных записях уровня "Бесплатный".
Дальнейшие действия
- Дополнительные сведения о глобальном распределении
- Дополнительные сведения о секционированиях и подготовленной пропускной способности.