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


Обзор библиотеки для массовых операций в Azure Cosmos DB

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

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

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

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

Примечание.

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

Внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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