Создание контейнеров и баз данных Azure Cosmos DB с пропускной способностью автомасштабирования

Область применения: Nosql Mongodb Кассандра Гремлин Таблица

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

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

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

Базы данных и контейнеры Azure Cosmos DB, настроенные с автомасштабированием подготовленной пропускной способности, имеют следующие преимущества:

  • Простота. Автомасштабирование снижает сложность управления числом единиц запросов в секунду за счет пользовательских сценариев или масштабирования емкости вручную.

  • Масштабируемость. Базы данных и контейнеры автоматически масштабируют подготовленную пропускную способность по мере необходимости. Нет нарушений клиентских подключений, приложений или влияния на соглашения об уровне обслуживания Azure Cosmos DB.

  • Экономичность. Автомасштабирование помогает оптимизировать число единиц запросов в секунду и затраты за счет уменьшения масштаба в период неактивности. Вы платите только за ресурсы, потребляемые в час для рабочей нагрузки. Если для автомасштабирования вы установили максимальное значение единиц запросов в секунду (Tmax) и использовали все это количество Tmax для 66 % от запланированных часов в месяц или менее, вы сэкономите благодаря автомасштабированию. Дополнительные сведения см. в статье о том, как сделать правильный выбор между стандартной (ручной) подготовкой пропускной способности и автомасштабированием.

  • Высокий уровень доступности. Базы данных и контейнеры, для которых применяется автомасштабирование, используют одинаковую глобально распределенную, отказоустойчивую, высокодоступную серверную часть Azure Cosmos DB для обеспечения надежности и высокой доступности данных.

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

Существуют следующие варианты использования автомасштабирования.

  • Переменные или непредсказуемые рабочие нагрузки. Если рабочие нагрузки предполагают переменные или непредсказуемые пиковые значения, автомасштабирование помогает сгладить пики за счет масштабирования по мере использования. В качестве примера можно привести интернет-магазины розничной торговли, в которых модели трафика меняются в зависимости от сезонности; рабочие нагрузки IOT с пиковыми значениями в разные моменты времени; бизнес-приложения, достигающие пиковых значений несколько раз в месяц или в год, и т. д. При использовании автомасштабирования больше не придется вручную подготавливать емкость для пиковых или средних нагрузок.

  • Новые приложения. Если вы разрабатываете новое приложение и вам неизвестна требуемая пропускная способность (число единиц запросов в секунду), автомасштабирование упростит начальный этап работы. Можно начать с точки входа автомасштабирования в 100 – 1000 ЕЗ/с, отслеживать использование и определять правильные ЕЗ/с с течением времени.

  • Редко используемые приложения: если у вас есть приложение, которое используется только в течение нескольких часов в несколько часов в день, неделю или месяц ( например, низкое количество приложений или веб-сайтов или блога), автомасштабирование настраивает емкость для обработки пикового использования и уменьшения масштаба при его превышении.

  • Разработка и тестирование рабочих нагрузок. Если вы или ваша команда используете базы данных и контейнеры Azure Cosmos DB в рабочее время, но не требует их в ночное время или в выходные дни, автомасштабирование помогает сэкономить затраты, уменьшая до минимума, если они не используются.

  • Запланированные производственные рабочие нагрузки/запросы. При наличии серии запланированных запросов или операций, которые необходимо выполнить во время простоя, можно легко сделать это с помощью автомасштабирования. Когда необходимо запустить рабочую нагрузку, пропускная способность автоматически масштабируется до необходимого значения и масштабируется после этого.

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

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

При настройке контейнеров и баз данных с автомасштабированием указывается максимальная требуемая пропускная способность Tmax. Azure Cosmos DB масштабирует пропускную способность T таким образом 0.1*Tmax <= T <= Tmax. Например, если задана максимальная пропускная способность 20 000 ЕЗ/с, пропускная способность масштабируется в диапазоне от 2000 до 20 000 ЕЗ/с. Поскольку масштабирование происходит автоматически и мгновенно, выполнение всех запросов в пределах подготовленной пропускной способности Tmax осуществляется без задержки.

За каждый час вам будет выставляться счет за наибольшую пропускную способность T, до которой система была масштабирована за этот час.

Точка входа для максимальной пропускной способности автомасштабирования Tmax начинается с 1000 ЕЗ/с, которая масштабируется от 100 до 1000 ЕЗ/с. Можно задать Tmax с шагом в 1000 единиц запросов в секунду и в любое время изменить это значение.

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

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

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

Для любого значения Tmax в базе данных или контейнере может храниться всего 0.1 * Tmax GB. По достижении этого объема хранимых данных максимальное число единиц запросов в секунду будет автоматически увеличено с учетом нового объема хранилища без ущерба для работы приложения.

Например, если начать с максимального ЕЗ/с 50 000 ЕЗ/с (масштабируется от 5000 до 50 000 ЕЗ/с), можно хранить до 5000 ГБ данных. Если вы превышаете 5000 ГБ , например, хранилище составляет 6000 ГБ, новое максимальное значение ЕЗ/с станет 60 000 ЕЗ/с (масштабируется в диапазоне от 6000 до 60 000 ЕЗ/с).

При использовании пропускной способности на уровне базы данных с автомасштабированием первые 25 контейнеров могут совместно использовать автомасштабирование максимум ЕЗ/с 1000 (масштабируется от 100 до 1000 ЕЗ/с), если не превышает 100 ГБ хранилища. Дополнительные сведения см. в этой документации.

Сравнение — контейнеры, настроенные с масштабируемой вручную или автомасштабируемой пропускной способностью

Дополнительные сведения см. в этой документации, описывающей выбор между стандартно (вручную) масштабируемой и автомасштабируемой пропускной способностью.

Контейнеры со стандартно (вручную) масштабируемой пропускной способностью Контейнеры с автомасштабируемой пропускной способностью
Подготовленная пропускная способность (единиц запросов в секунду) Подготовленная вручную. Масштабируемая автоматически и мгновенно на основе моделей использования рабочих нагрузок.
Ограничение скорости запросов и операций (429) Это возможно, если потребление превышает подготовленную емкость. Не произойдет, если вы используете ЕЗ/с в пределах заданного диапазона пропускной способности автомасштабирования.
Планирование ресурсов Необходимо спланировать ресурсы и обеспечить необходимую пропускную способность. Система автоматически принимает меры по планированию ресурсов и управлению емкостью.
Цены Вы оплачиваете единицы запросов в секунду, подготовленных вручную, потребленные за час, используя тариф за стандартное (вручную) масштабирование в ЕЗ/с в час. Вы платите за максимально потребленное за час число единиц запросов в секунду, до которого система масштабировалась в течение этого часа.

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

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

Следующие шаги