Visão geral da biblioteca bulk executor do Azure Cosmos DB

APLICA-SE A: NoSQL

O Azure Cosmos DB é um serviço de banco de dados rápido, flexível e distribuído globalmente que se expande de forma elástica para dar suporte a:

  • Grande taxa de transferência de gravação e leitura, na ordem de milhões de operações por segundo.
  • Armazenar grandes volumes de dados transacionais e operacionais, da ordem de centenas de terabytes ou até mais, com latência de milissegundos previsível.

A biblioteca do executor em massa ajuda você a usar essa enorme taxa de transferência e armazenamento. A biblioteca de executor permite que você realize operações em massa no Azure Cosmos DB através da importar em massa e APIs de atualização em massa. Você pode ler mais sobre os recursos da biblioteca bulk executor nas seções a seguir.

Observação

Atualmente, a biblioteca do executor em massa suporta operações de importação e atualização. A API do Azure Cosmos DB suporta essa biblioteca apenas para contas NoSQL e Gremlin.

Importante

Atualmente, a biblioteca do executor em massa não é compatível com contas sem servidor. No .NET, recomendamos que você use o suporte em massa disponível na versão V3 do SDK.

Os principais recursos da biblioteca bulk executor

  • O uso da biblioteca do executor em massa reduz significativamente os recursos computacionais do lado do cliente necessários para saturar a taxa de transferência alocada para um contêiner. Um único aplicativo threaded que grava dados usando a API de importação em massa alcança uma taxa de transferência de gravação 10 vezes maior quando comparado a um aplicativo multi-threaded que grava dados em paralelo enquanto satura a CPU do computador cliente.

  • A biblioteca do executor em massa abstrai as tarefas tediosas de escrever a lógica do aplicativo para lidar com a limitação da taxa de solicitação, os tempos limite de solicitação e outras exceções transitórias. Ele lida com eles de forma eficiente dentro da biblioteca.

  • Ele fornece um mecanismo simplificado para os aplicativos executarem operações em massa para escalar horizontalmente. Uma única instância do executor em massa executada em uma máquina virtual do Azure pode consumir mais de 500 mil RU/s. Você pode obter uma taxa de transferência mais alta adicionando mais instâncias em máquinas virtuais de clientes individuais.

  • A biblioteca do executor em massa pode importar em massa mais de um terabyte de dados em uma hora usando uma arquitetura de expansão.

  • Pode atualizar em massa dados existentes nos contêineres do Azure Cosmos DB como patches.

Como funciona o executor em massa?

Quando uma operação em massa para importar ou atualizar documentos é disparada com um lote de entidades, elas são inicialmente aleatórias em intervalos que correspondem ao intervalo de chaves de partição do Azure Cosmos DB. Dentro de cada bucket que corresponde a um intervalo de chaves de partição, eles são divididos em minilotes.

Cada minilote atua como um conteúdo confirmado no lado do servidor. A biblioteca do executor em massa incorporou otimizações para a execução simultânea dos minilotes dentro e entre os intervalos de chaves de partição.

O diagrama a seguir ilustra como o executor em massa agrupa dados em diferentes chaves de partição:

O diagrama mostra a arquitetura do executor em massa.

A biblioteca do executor em massa utiliza ao máximo a taxa de transferência alocada para uma coleção. Ela usa um mecanismo de controle de congestionamento do estilo AIMD para cada intervalo de chave de partição do Azure Cosmos DB para tratar com eficiência a limitação e os tempos limite.

Para obter mais informações sobre aplicativos de exemplo que consomem a biblioteca do executor em massa, confira Usar a biblioteca .NET do executor em massa para executar operações em massa no Azure Cosmos DB e Executar operações em massa nos dados do Azure Cosmos DB.

Para obter informações de referência, confira Biblioteca do executor em massa do .NET e Biblioteca do executor em massa do Java.

Próximas etapas