Общие сведения о библиотеке массового исполнителя в Azure Cosmos DB

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Azure Cosmos DB — это быстрая, гибкая и глобально распределенная служба базы данных, которая эластично масштабируется для поддержки:

  • Большая пропускная способность чтения и записи, порядка миллионов операций в секунду.
  • Хранение больших объемов транзакционных и операционных данных порядка сотен терабайт или даже более с прогнозируемой задержкой в миллисекундах.

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

Примечание

В настоящее время библиотека исполнителя массовых операций поддерживает операции импорта и обновления. API Azure Cosmos DB поддерживает эту библиотеку только для учетных записей NoSQL и Gremlin.

Важно!

В настоящее время библиотека исполнителя массовых операций не поддерживается для бессерверных учетных записей. В .NET рекомендуется использовать массовую поддержку , доступную в версии 3 пакета SDK.

Основные возможности библиотеки массового исполнителя

  • Использование библиотеки исполнителя массовых операций значительно сокращает объем вычислительных ресурсов на стороне клиента, необходимых для переполнения пропускной способности, выделенной контейнеру. Однопоточное приложение, записывающее данные с помощью API массового импорта, обеспечивает в 10 раз большую пропускную способность записи по сравнению с многопоточным приложением, которое параллельно записывает данные, одновременно перенасыщая ЦП клиентского компьютера.

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

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

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

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

Принципы работы исполнителя массовых операций

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

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

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

На схеме показана архитектура исполнителя массовых операций.

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

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

Справочные сведения см. в разделах Библиотека массового исполнителя .NET и Библиотека массового исполнителя Java.

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