Бессерверная база данных Azure Cosmos DB

ПРИМЕНИМО К: API SQL API Cassandra API Gremlin API таблиц API Azure Cosmos DB для MongoDB

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

Важно!

У вас есть отзывы о бессерверном режиме? Нам очень интересно ваше мнение! Вы можете отправить сообщение команде бессерверной службы Azure Cosmos DB: azurecosmosdbserverless@service.microsoft.com.

При использовании Azure Cosmos DB затраты на каждую операцию выражаются в единицах запроса. Плата за эти расходы зависит от типа используемой учетной записи Azure Cosmos:

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

Варианты использования

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

  • Начало работы с Azure Cosmos DB.
  • Запуск приложений со следующими особенностями:
    • скачкообразный трафик, который трудно прогнозировать; или
    • низкое (<10 %) соотношение среднего трафика к пиковому.
  • Разработка, тестирование, создание прототипов и запуск в рабочей среде новых приложений, для которых неизвестен шаблон трафика.
  • Интеграция с бессерверными службами вычислений, например Функциями Azure.

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

Использование бессерверных ресурсов

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

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

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

Мониторинг использования

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

В области Показатели учетной записи на вкладке Обзор есть диаграмма Потребленные единицы запросов. На ней показано, сколько единиц запроса использовано:

Диаграмма использованных единиц запроса

Такую же диаграмму можно посмотреть в Azure Monitor, как описано здесь. Обратите внимание, что в Azure Monitor можно настроить оповещения о том, что количество использованных единиц запросов превысило определенное пороговое значение.

Производительность

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

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

Начните работать с бессерверным режимом, используя сведения из следующих статей.