Создание контейнеров и баз данных Azure Cosmos с автомасштабируемой пропускной способностьюCreate Azure Cosmos containers and databases with autoscale throughput

Azure Cosmos DB дает возможность настроить подготовленную пропускную способность со стандартным (вручную) масштабированием или с автомасштабированием для баз данных и контейнеров.Azure Cosmos DB allows you to set either standard (manual) or autoscale provisioned throughput on your databases and containers. В этой статье описываются преимущества и примеры использования подготовленной автомасштабируемой пропускной способности.This article describes the benefits and use cases of autoscale provisioned throughput.

Подготовленная автомасштабируемая пропускная способность оптимальна для критически важных рабочих нагрузок с переменными или непредсказуемыми моделями трафика, и для высокой производительности и масштабирования в данном случае требуется соглашение об уровне обслуживания.Autoscale provisioned throughput is well suited for mission-critical workloads that have variable or unpredictable traffic patterns, and require SLAs on high performance and scale.

Автоматическое масштабирование Azure Cosmos DB позволяет автоматически и мгновенно масштабировать пропускную способность (число единиц запросов в секунду) для базы данных или контейнера с учетом использования и без ущерба для доступности, задержки, пропускной способности или производительности рабочей нагрузки.With autoscale, Azure Cosmos DB automatically and instantly scales the throughput (RU/s) of your database or container based on usage, without impacting the availability, latency, throughput, or performance of the workload.

Преимущества автомасштабированияBenefits of autoscale

Базы данных и контейнеры Azure Cosmos, настроенные с использованием подготовленной автомасштабируемой пропускной способности, имеют следующие преимущества.Azure Cosmos databases and containers that are configured with autoscale provisioned throughput have the following benefits:

  • Простой: Автомасштабирование снижает сложность управления числом единиц запросов в секунду за счет пользовательских сценариев или масштабирования емкости вручную.Simple: Autoscale removes the complexity of managing RU/s with custom scripting or manually scaling capacity.

  • Масштабируемость. Базы данных и контейнеры автоматически масштабируют подготовленную пропускную способность по мере необходимости.Scalable: Databases and containers automatically scale the provisioned throughput as needed. Это не нарушает работу клиентских соединений, приложений и не влияет на соглашения об уровне обслуживания Azure Cosmos DB.There is no disruption to client connections, applications, or impact to Azure Cosmos DB SLAs.

  • Экономичность. Автомасштабирование помогает оптимизировать число единиц запросов в секунду и затраты за счет уменьшения масштаба в период неактивности.Cost-effective: Autoscale helps optimize your RU/s usage and cost usage by scaling down when not in use. Вы платите только за ресурсы, потребляемые в час для рабочей нагрузки.You only pay for the resources that your workloads need on a per-hour basis. Из всех часов в месяце, если вы установили параметр автомасштабирования Max единиц запросов в секунду (Тмакс) и используете полную сумму Тмакс в 66% от часов, вы сэкономите с автомасштабированием.Of all hours in a month, if you set autoscale max RU/s(Tmax) and use the full amount Tmax for 66% of the hours or less, you'll save with autoscale. Дополнительные сведения см. в статье Выбор между стандартной (ручной) и подготовленной пропускной способностью для автомасштабирования .To learn more, see the how to choose between standard (manual) and autoscale provisioned throughput article.

  • Высокая доступность. Базы данных и контейнеры, для которых применяется автомасштабирование, используют одинаковую глобально распределенную, отказоустойчивую, высокодоступную серверную часть Azure Cosmos DB для обеспечения надежности и высокой доступности данных.Highly available: Databases and containers using autoscale use the same globally distributed, fault-tolerant, highly available Azure Cosmos DB backend to ensure data durability and high availability.

Сценарии использования автомасштабированияUse cases of autoscale

Существуют следующие варианты использования автомасштабирования.The use cases of autoscale include:

  • Переменные или непредсказуемые рабочие нагрузки. Если рабочие нагрузки предполагают переменные или непредсказуемые пиковые значения, автомасштабирование помогает сгладить пики за счет масштабирования по мере использования.Variable or unpredictable workloads: When your workloads have variable or unpredictable spikes in usage, autoscale helps by automatically scaling up and down based on usage. В качестве примера можно привести интернет-магазины розничной торговли, в которых модели трафика меняются в зависимости от сезонности; рабочие нагрузки IOT с пиковыми значениями в разные моменты времени; бизнес-приложения, достигающие пиковых значений несколько раз в месяц или в год, и т. д.Examples include retail websites that have different traffic patterns depending on seasonality; IOT workloads that have spikes at various times during the day; line of business applications that see peak usage a few times a month or year, and more. При использовании автомасштабирования больше не придется вручную подготавливать емкость для пиковых или средних нагрузок.With autoscale, you no longer need to manually provision for peak or average capacity.

  • Новые приложения. Если вы разрабатываете новое приложение и вам неизвестна требуемая пропускная способность (число единиц запросов в секунду), автомасштабирование упростит начальный этап работы.New applications: If you're developing a new application and not sure about the throughput (RU/s) you need, autoscale makes it easy to get started. Можно начать с автомасштабирования на уровне 400–4000 единиц запросов в секунду, отслеживать использование и определить требуемое число единиц запросов в секунду.You can start with the autoscale entry point of 400 - 4000 RU/s, monitor your usage, and determine the right RU/s over time.

  • Последние использованные приложения. Для приложений, которые используются в течение нескольких часов несколько раз в день, в неделю или в месяц (например, приложения с небольшим объемом трафика/веб-сайт или блог), автомасштабирование настраивает емкость для управления пиковыми значениями потребления и масштабирует пропускную способность при их превышении.Infrequently used applications: If you have an application that's only used for a few hours several times a day, week, or month — such as a low-volume application/web/blog site — autoscale adjusts the capacity to handle peak usage and scales down when it's over.

  • Рабочие нагрузки разработки и тестирования. Если вы или ваша команда использует базы данных и контейнеры Cosmos Azure в рабочее время, но они не требуются ночью или в выходные дни, автомасштабирование позволяет сократить затраты путем масштабирования до минимума в период неактивности.Development and test workloads: If you or your team use Azure Cosmos databases and containers during work hours, but don't need them on nights or weekends, autoscale helps save cost by scaling down to a minimum when not in use.

  • Запланированные производственные рабочие нагрузки/запросы. При наличии серии запланированных запросов или операций, которые необходимо выполнить во время простоя, можно легко сделать это с помощью автомасштабирования.Scheduled production workloads/queries: If you have a series of scheduled requests, operations, or queries that you want to run during idle periods, you can do that easily with autoscale. Если необходимо выполнить рабочую нагрузку, пропускная способность будет автоматически увеличиваться по мере необходимости и уменьшаться по завершении выполнения.When you need to run the workload, the throughput will automatically scale to what's needed and scale down afterward.

Создание настраиваемого решения для устранения этих проблем не только отнимает много времени, но также приводит к усложнению конфигурации или кода приложения.Building a custom solution to these problems not only requires an enormous amount of time, but also introduces complexity in your application's configuration or code. Автомасштабирование позволяет выполнять указанные выше сценарии и устраняет необходимость в настраиваемом или ручном масштабировании емкости.Autoscale enables the above scenarios out of the box and removes the need for custom or manual scaling of capacity.

Принципы работы подготовленной автомасштабируемой пропускной способностиHow autoscale provisioned throughput works

При настройке контейнеров и баз данных с автомасштабированием указывается максимальная требуемая пропускная способность Tmax.When configuring containers and databases with autoscale, you specify the maximum throughput Tmax required. Azure Cosmos DB масштабирует пропускную способность T таким образом 0.1*Tmax <= T <= Tmax.Azure Cosmos DB scales the throughput T such 0.1*Tmax <= T <= Tmax. Например, если установить максимальную пропускную способность равной 20 000 единиц запросов в секунду, то пропускная способность будет масштабироваться в пределах между 2000 и 20 000 единиц запросов в секунду.For example, if you set the maximum throughput to 20,000 RU/s, the throughput will scale between 2000 to 20,000 RU/s. Поскольку масштабирование происходит автоматически и мгновенно, выполнение всех запросов в пределах подготовленной пропускной способности Tmax осуществляется без задержки.Because scaling is automatic and instantaneous, at any point in time, you can consume up to the provisioned Tmax with no delay.

За каждый час вам будет выставляться счет за наибольшую пропускную способность T, до которой система была масштабирована за этот час.Each hour, you will be billed for the highest throughput T the system scaled to within the hour.

Начальное значение для максимальной автомасштабируемой пропускной способности Tmax равно 4000 единиц запросов в секунду, и оно масштабируется в пределах между 400–4000 единиц запросов в секунду.The entry point for autoscale maximum throughput Tmax starts at 4000 RU/s, which scales between 400 - 4000 RU/s. Можно задать Tmax с шагом в 1000 единиц запросов в секунду и в любое время изменить это значение.You can set Tmax in increments of 1000 RU/s and change the value at any time.

Включение автомасштабирования для существующих ресурсовEnable autoscale on existing resources

Используйте портал Azure для включения автомасштабирования для существующей базы данных или контейнера.Use the Azure portal to enable autoscale on an existing database or container. Вы также можете в любое время переключаться между автомасштабированием и стандартной пропускной способностью, подготовленной вручную.You can switch between autoscale and standard (manual) provisioned throughput at any time. Дополнительные сведения см. в этой документации.See this documentation for more information. В настоящее время для всех API можно использовать только портал Azure, чтобы включить Автомасштабирование для существующих ресурсов.Currently, for all APIs, you can only use the Azure portal to enable autoscale on existing resources.

Ограничения пропускной способности и хранилища при использовании автомасштабированияThroughput and storage limits for autoscale

Для любого значения Tmax в базе данных или контейнере может храниться всего 0.01 * Tmax GB.For any value of Tmax, the database or container can store a total of 0.01 * Tmax GB. По достижении этого объема хранимых данных максимальное число единиц запросов в секунду будет автоматически увеличено с учетом нового объема хранилища без ущерба для работы приложения.After this amount of storage is reached, the maximum RU/s will be automatically increased based on the new storage value, with no impact to your application.

Например, если начать с максимальной пропускной способности в 50 000 ЕЗ/с (с масштабированием от 5000 до 50 000 ЕЗ/с), можно хранить до 500 ГБ данных.For example, if you start with a maximum RU/s of 50,000 RU/s (scales between 5000 - 50,000 RU/s), you can store up to 500 GB of data. Если объем ваших данных превысит этот лимит и достигнет, например, 600 ГБ, новая максимальная пропускная способность составит 60 000 ЕЗ/с (с масштабированием от 6000 до 60 000 ЕЗ/с).If you exceed 500 GB - e.g. storage is now 600 GB, the new maximum RU/s will be 60,000 RU/s (scales between 6000 - 60,000 RU/s).

При использовании пропускной способности уровня базы данных с автомасштабированием первые 25 контейнеров могут совместно использовать не более 4000 единиц запросов в секунду (масштабирование в пределах 400–4000 единиц запросов в секунду) при условии, что размер хранилища не превышает 40 ГБ.When you use database level throughput with autoscale, you can have the first 25 containers share an autoscale maximum RU/s of 4000 (scales between 400 - 4000 RU/s), as long as you don't exceed 40 GB of storage. Дополнительные сведения см. в этой документации.See this documentation for more information.

Сравнение — контейнеры, настроенные с масштабируемой вручную или автомасштабируемой пропускной способностьюComparison – containers configured with manual vs autoscale throughput

Дополнительные сведения см. в этой документации, описывающей выбор между стандартно (вручную) масштабируемой и автомасштабируемой пропускной способностью.For more detail, see this documentation on how to choose between standard (manual) and autoscale throughput.

Контейнеры со стандартно (вручную) масштабируемой пропускной способностьюContainers with standard (manual) throughput Контейнеры с автомасштабируемой пропускной способностьюContainers with autoscale throughput
Подготовленная пропускная способность (единиц запросов в секунду)Provisioned throughput (RU/s) Подготовленная вручную.Manually provisioned. Масштабируемая автоматически и мгновенно на основе моделей использования рабочих нагрузок.Automatically and instantaneously scaled based on the workload usage patterns.
Ограничение скорости запросов и операций (429)Rate-limiting of requests/operations (429) Это возможно, если потребление превышает подготовленную емкость.May happen, if consumption exceeds provisioned capacity. Этого не происходит, если единицы запросов в секунду потребляются в заданном диапазоне автомасштабируемой пропускной способности.Will not happen if you consume RU/s within the autoscale throughput range that you've set.
Планирование ресурсовCapacity planning Необходимо спланировать ресурсы и обеспечить необходимую пропускную способность.You have to do capacity planning and provision the exact throughput you need. Система автоматически принимает меры по планированию ресурсов и управлению емкостью.The system automatically takes care of capacity planning and capacity management.
ЦеныPricing Вы оплачиваете единицы запросов в секунду, подготовленных вручную, потребленные за час, используя тариф за стандартное (вручную) масштабирование в ЕЗ/с в час.You pay for the manually provisioned RU/s per hour, using the standard (manual) RU/s per hour rate. Вы платите за максимально потребленное за час число единиц запросов в секунду, до которого система масштабировалась в течение этого часа.You pay per hour for the highest RU/s the system scaled up to within the hour.

Для учетных записей с одним регионом записи вы платите за число единиц запросов в секунду, потребляемых в час, используя функцию автомасштабирование числа единиц запросов в секунду за час.For single write region accounts, you pay for the RU/s used on an hourly basis, using the autoscale RU/s per hour rate.

Для учетных записей с несколькими регионами записи дополнительная плата за автомасштабирование не взимается.For accounts with multiple write regions, there is no extra charge for autoscale. Вы платите за пропускную способность по часам, используя один и тот же тариф по числу единиц запросов на секунду в нескольких источниках.You pay for the throughput used on hourly basis using the same multi-master RU/s per hour rate.
Оптимален для различных типов рабочих нагрузокBest suited for workload types Прогнозируемые и стабильные рабочие нагрузкиPredictable and stable workloads Переменные или непредсказуемые рабочие нагрузкиUnpredictable and variable workloads

Дальнейшие действияNext steps