Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
- Elevada taxa de transferência de leitura e gravação, da ordem de milhões de operações por segundo.
- Armazenamento de grandes volumes de dados transacionais e operacionais, da ordem de centenas de terabytes ou até mais, com latência previsível de milissegundos.
A biblioteca de executores em massa ajuda você a usar essa enorme taxa de transferência e armazenamento. 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 de executores 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 de executores em massa não é suportada atualmente em contas sem servidor . No .NET, recomendamos que você use o suporte em massa disponível na versão V3 do SDK.
Principais características da biblioteca de executores em massa
O uso da biblioteca de executores em massa reduz significativamente os recursos de computação do lado do cliente necessários para saturar a taxa de transferência alocada para um contêiner. Um aplicativo monothread que efetua gravações de dados usando a API de importação em massa alcança uma taxa de transferência de gravação 10 vezes maior do que a de um aplicativo multithreaded que escreve dados em paralelo, ao saturar a CPU da máquina cliente.
A biblioteca de executores em massa abstrai as tarefas tediosas de escrever a lógica do aplicativo para lidar com a limitação de taxa de solicitação, tempos limite de solicitação e outras exceções transitórias. Gerencia-os eficientemente dentro da biblioteca.
Ele fornece um mecanismo simplificado para que os aplicativos executem operações em massa para dimensionamento. Uma única instância de executor em massa executada em uma máquina virtual do Azure pode consumir mais de 500 K RU/s. Você pode obter uma taxa de transferência mais alta adicionando mais instâncias em máquinas virtuais de cliente individuais.
A biblioteca de executores em massa pode importar em massa mais de um terabyte de dados dentro de uma hora usando uma arquitetura de expansão.
Ele pode atualizar em massa dados existentes em contêineres do Azure Cosmos DB como patches.
Como funciona o executor de tarefas em massa?
Quando uma operação em massa para importar ou atualizar documentos é acionada com um lote de entidades, elas são inicialmente distribuídas em segmentos que correspondem à faixa 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 uma carga útil comprometida no servidor. A biblioteca de execução em massa possui otimizações embutidas para a execução simultânea de mini-batches, tanto dentro como entre intervalos de chaves de partição.
O diagrama a seguir ilustra como o executor em massa agrupa dados em diferentes chaves de partição:
A biblioteca executora em massa certifica-se de utilizar ao máximo a taxa de transferência alocada para uma coleção. Utiliza um mecanismo de controlo de congestionamento no estilo AIMD para cada intervalo de chaves de partição do Azure Cosmos DB, permitindo lidar eficientemente com a limitação de taxa e os tempos de espera.
Para obter mais informações sobre aplicativos de exemplo que consomem a biblioteca do executor em massa, consulte 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, consulte Biblioteca de executores em massa do .NET e Biblioteca de executores em massa Java.