Поделиться через


Тип бессерверной учетной записи Azure Cosmos DB

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

Внимание

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

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

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

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

Случаи использования

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

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

Дополнительные сведения см. в разделе «Как выбрать между планируемой пропускной способностью и бессерверным режимом».

Наилучшие практики для мультитенантных приложений

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

Ключ раздела для каждого арендатора

В этой модели каждый арендатор представлен как ключ логического раздела в контейнере. Такой подход:

  • Эффективно масштабируется по мере увеличения числа клиентов
  • Сокращает затраты на каждого арендатора путем совместного использования пропускной способности и хранилища
  • Хорошо подходит для бизнес-приложений (B2C) с множеством небольших клиентов

Дополнительные сведения см. в модели partition-key-per-tenant.

Учетная запись базы данных для каждого клиента

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

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

Дополнительную информацию см. в модели database-account-per-tenant.

Замечание

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

Подробное пошаговое руководство см. в статье "Мультиарендность в Azure Cosmos DB".

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

Бессерверный тип учетной записи Azure Cosmos DB — это новый тип учетной записи в Azure Cosmos DB. При создании учетной записи Azure Cosmos DB вы выбираете между подготовленной пропускной способностью и бессерверными параметрами.

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

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

  • Бессерверная учетная запись может выполняться только в одном регионе Azure. После создания учетной записи невозможно добавить дополнительные регионы Azure в бессерверную учетную запись.
  • Пропускная способность подготовки не требуется для бессерверного контейнера, поэтому применяются следующие инструкции:
    • Невозможно передать пропускную способность при создании бессерверного контейнера или возвращается ошибка.
    • Невозможно считывать или обновлять пропускную способность в бессерверном контейнере или возвращается ошибка.
    • Невозможно создать общую базу данных пропускной способности в бессерверной учетной записи или возвращается ошибка.
  • Бессерверный контейнер обладает пропускной способностью 5000 RU/с. Каждая физическая секция в бессерверном контейнере может обрабатывать до 5000 ЕЗ/с, то есть максимальная пропускная способность контейнера зависит от общего количества физических секций. Дополнительные сведения см. в статье о бессерверной производительности Azure Cosmos DB.

Мониторинг потребления

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

Вы можете отслеживать потребление, просматривая диаграмму в учетной записи Azure Cosmos DB в портал Azure. Для учетной записи Azure Cosmos DB перейдите на панель метрик . На вкладке "Обзор" просмотрите диаграмму, которая используется с именем "Единицы запросов". На диаграмме показано, сколько RUs ваша учетная запись использовала за разные периоды времени.

Снимок экрана: диаграмма потребляемых единиц запроса.

Вы можете использовать ту же диаграмму в Azure Monitor. При использовании Azure Monitor можно настроить оповещения, чтобы получать уведомления о том, что потребление единиц запроса превышает установленное пороговое значение.

Высокая доступность

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

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