Descrição geral da biblioteca de executor em massa do Azure Cosmos DB

APLICA-SE A: NoSQL

O Azure Cosmos DB é um serviço de base de dados rápido, flexível e distribuído globalmente que aumenta verticalmente para suportar:

  • Débito de leitura e escrita grande, na ordem de milhões de operações por segundo.
  • Armazenar grandes volumes de dados transacionais e operacionais, por ordem de centenas de terabytes ou ainda mais, com latência previsível de milissegundos.

A biblioteca do executor em massa ajuda-o a utilizar este débito e armazenamento maciços. A biblioteca de executor em massa permite-lhe realizar operações em massa no Azure Cosmos DB através de APIs de importação em massa e de atualização em massa. Pode ler mais sobre as funcionalidades da biblioteca de executor em massa nas seções a seguir.

Nota

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

Importante

A biblioteca do executor em massa não é atualmente suportada em contas sem servidor . No .NET, recomendamos que utilize o suporte em massa disponível na versão V3 do SDK.

Principais funcionalidades da biblioteca do executor em massa

  • A utilização da biblioteca do executor em massa reduz significativamente os recursos de computação do lado do cliente necessários para saturar o débito alocado a um contentor. Uma única aplicação por thread que escreve dados com a API de importação em massa obtém 10 vezes mais débito de escrita em comparação com uma aplicação com vários threads que escreve dados em paralelo enquanto satura a CPU do computador cliente.

  • A biblioteca do executor em massa abstrai as tarefas entediantes de escrever lógica de aplicação para lidar com a limitação de taxas de pedidos, tempos limite de pedidos e outras exceções transitórias. Processa-os de forma eficiente na biblioteca.

  • Fornece um mecanismo simplificado para que as aplicações efetuem operações em massa para aumentar horizontalmente. Uma única instância do executor em massa executada numa máquina virtual do Azure pode consumir mais de 500 RUs/s. Pode obter uma taxa de débito mais elevada ao adicionar mais instâncias em máquinas virtuais cliente individuais.

  • A biblioteca do executor em massa pode importar em massa mais do que um terabyte de dados dentro de uma hora através de uma arquitetura de escalamento horizontal.

  • Pode atualizar dados existentes em massa em contentores do Azure Cosmos DB como patches.

Como funciona o executor em massa?

Quando uma operação em massa para importar ou atualizar documentos é acionada com um lote de entidades, são inicialmente misturadas em registos que correspondem ao intervalo de chaves de partição do Azure Cosmos DB. Dentro de cada registo que corresponde a um intervalo de chaves de partição, estes são divididos em mini-lotes.

Cada mini-lote atua como um payload que é consolidado no lado do servidor. A biblioteca do executor em massa tem otimizações incorporadas para a execução simultânea dos mini-lotes dentro e entre intervalos de chaves de partição.

O diagrama seguinte ilustra como o executor em massa cria dados em diferentes chaves de partição:

O diagrama mostra a arquitetura do executor em massa.

A biblioteca do executor em massa garante que utiliza maximamente o débito alocado a uma coleção. Utiliza um mecanismo de controlo de congestionamento ao estilo AIMD para cada intervalo de chaves de partição do Azure Cosmos DB para processar eficientemente a limitação de taxas e tempos limite.

Para obter mais informações sobre aplicações de exemplo que consomem a biblioteca do executor em massa, veja Utilizar a biblioteca .NET do executor em massa para realizar operações em massa no Azure Cosmos DB e Realizar operações em massa em dados do Azure Cosmos DB.

Para obter informações de referência, veja Biblioteca do executor em massa .NET e biblioteca do executor em massa java.

Passos seguintes