Библиотека массового исполнителя в Azure Cosmos DB
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Azure Cosmos DB — это быстрая, гибкая и глобально распределенная служба баз данных, которая эластично масштабируется для поддержки:
- Большая пропускная способность чтения и записи в порядке миллионов операций в секунду.
- Хранение больших объемов транзакционных и операционных данных в порядке сотен терабайтов или даже больше с прогнозируемой задержкой миллисекунда.
Библиотека массового исполнителя помогает использовать эту огромную пропускную способность и хранилище. Библиотека массового исполнителя позволяет выполнять массовые операции в Azure Cosmos DB с помощью интерфейсов API массового импорта и массового обновления. Дополнительные сведения о возможностях библиотеки массового исполнителя см. в указанных ниже разделах.
Примечание.
В настоящее время библиотека массового исполнителя поддерживает операции импорта и обновления. API Azure Cosmos DB поддерживает эту библиотеку только для учетных записей NoSQL и Gremlin.
Внимание
В настоящее время библиотека исполнителя массовых операций не поддерживается для бессерверных учетных записей. В .NET рекомендуется использовать массовую поддержку , доступную в версии 3 пакета SDK.
Основные возможности библиотеки массового исполнителя
Использование библиотеки массового исполнителя значительно сокращает клиентские вычислительные ресурсы, необходимые для насыщения пропускной способности, выделенной контейнеру. Однопоточное приложение, которое записывает данные с помощью API массового импорта, достигает 10 раз больше пропускной способности записи по сравнению с многопоточным приложением, которое записывает данные параллельно, когда он насыщает ЦП клиентского компьютера.
Библиотека массового исполнителя абстрагирует неустранимые задачи написания логики приложения для обработки ограничения скорости запроса, времени ожидания запроса и других временных исключений. Он эффективно обрабатывает их в библиотеке.
Он предоставляет упрощенный механизм для приложений для выполнения массовых операций для горизонтального масштабирования. Один экземпляр массового исполнителя, работающий на виртуальной машине Azure, может использовать более 500 ЕЗ/с. Вы можете достичь более высокой скорости пропускной способности, добавив дополнительные экземпляры на отдельных клиентских виртуальных машинах.
Библиотека массового исполнителя может массово импортировать более терабайта данных в течение часа с помощью архитектуры горизонтального масштабирования.
Библиотека позволяет выполнять массовое обновление существующих данных в контейнерах Azure Cosmos DB в качестве исправлений.
Принципы работы исполнителя массовых операций
При активации массовой операции импорта или обновления документов с пакетом сущностей они изначально перетасовываются в контейнеры, соответствующие диапазону ключей секции Azure Cosmos DB. В каждом контейнере, соответствующем диапазону ключей секции, они разбиваются на мини-пакеты.
Каждый мини-пакет выступает в качестве полезных данных, зафиксированных на стороне сервера. Библиотека массового исполнителя имеет встроенные оптимизации для параллельного выполнения мини-пакетов как внутри, так и в разных диапазонах ключей секции.
На следующей схеме показано, как массовый исполнитель пакетирует данные в разные ключи секций:
Библиотека исполнителя массовых операций позволяет максимально использовать пропускную способность, выделенную для коллекции. Она использует механизм управления перегрузкой в стиле AIMD для каждого диапазона ключей разделов Azure Cosmos DB, чтобы эффективно обрабатывать ограничения частоты запросов и время ожидания.
Дополнительные сведения о примерах приложений, использующих библиотеку массового исполнителя, см. в статье "Использование библиотеки массового исполнителя .NET" для выполнения массовых операций в Azure Cosmos DB и выполнения массовых операций в данных Azure Cosmos DB.
Справочные сведения см. в библиотеке массового исполнителя .NET и библиотеке массового исполнителя Java.