Общие сведения о библиотеке массового исполнителя в 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.