Оптимизация затрат на использование нескольких регионов в Azure Cosmos DB

Добавить или удалить регионы в учетной записи Azure Cosmos DB можно в любое время. Пропускная способность, настроенная для различных баз данных и контейнеров Azure Cosmos DB, зарезервирована в каждом регионе, связанном с вашей учетной записью. Если суммарная пропускная способность, подготовленная в час, то есть сумма единиц запросов в секунду (ЕЗ/с), настроенная во всех базах данных и контейнерах для вашей учетной записи Azure Cosmos DB, равна T, и количество регионов Azure, связанных с вашей учетной записью базы данных, составляет N, тогда общая подготовленная пропускная способность для вашей учетной записи Azure Cosmos DB за данный час равна T x N ЕЗ/с.

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

Затраты на несколько регионов записи

В много-региональной системе записи чистая доступность запросов/с для операций записи увеличивается в N раз, где N — это количество регионов для записи. В отличие от операций записи в одном регионе, теперь каждый регион доступен для записи и поддерживает разрешение конфликтов. С точки зрения планирования затрат, для обеспечения M RU/с запросов на запись по всему миру необходимо настроить M RU/с на уровне контейнера или базы данных. Затем можно добавить столько регионов, сколько вы захотите, и использовать их для исполнения M записей в секунду по всему миру.

Example

Рассмотрим, что у вас есть контейнер в сценарии записи для одного региона. Этот контейнер подготовлен с пропускной способностью 10K RU/s и хранит 0.5 ТБ данных в этом месяце. Теперь предположим, что вы добавите другой регион с одинаковыми параметрами хранилища и пропускной способностью, и вы хотите, чтобы у приложения была возможность записывать данные в контейнеры в обоих регионах.

В этом примере описано новое общее ежемесячное потребление:

Ежемесячное использование
Счет за пропускную способность контейнера в единственном регионе записи 10K RU/s * 730 hours
Счет за пропускную способность для контейнера в нескольких регионах записи (два) 2 * 10K RU/s * 730 hours
Счет за хранение контейнера в единственном регионе записи 0.5 TB (or 512 GB)
Счет за хранение для контейнера в двух регионах записи 2 * 0.5 TB (or 1,024 GB)

Замечание

В этом примере предполагается 730 часов в месяц.

Повышение эффективности использования пропускной способности для региона

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

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