Azure Cosmos DB: overzicht van BulkExecutor-bibliotheek

VAN TOEPASSING OP: NoSQL

Azure Cosmos DB is een snelle, flexibele en wereldwijd gedistribueerde databaseservice die elastisch kan worden geschaald ter ondersteuning van:

  • Grote lees- en schrijfdoorvoer, in de orde van miljoenen bewerkingen per seconde.
  • Het opslaan van grote hoeveelheden transactionele en operationele gegevens, in de orde van honderden terabytes of zelfs meer, met voorspelbare latentie in milliseconden.

De bibliotheek voor bulkuitvoering helpt u deze enorme doorvoer en opslag te gebruiken. De BulkExecutor-bibliotheek stelt u in staat om bulkbewerkingen in Azure Cosmos DB uit te voeren door middel van API’s voor bulksgewijs importeren en bijwerken. U kunt meer lezen over de functies van de BulkExecutor-bibliotheek in de volgende secties.

Notitie

Op dit moment ondersteunt de bibliotheek voor bulkexecutor import- en updatebewerkingen. Azure Cosmos DB API ondersteunt deze bibliotheek alleen voor NoSQL- en Gremlin-accounts.

Belangrijk

De bibliotheek voor bulkuitvoering wordt momenteel niet ondersteund voor serverloze accounts. Op .NET raden we u aan de bulkondersteuning te gebruiken die beschikbaar is in de V3-versie van de SDK.

Belangrijke functies van de bulkexecutorbibliotheek

  • Het gebruik van de bulkexecutorbibliotheek vermindert aanzienlijk de rekenresources aan de clientzijde die nodig zijn om de doorvoer die aan een container is toegewezen, te verzadigen. Een enkele thread-toepassing die gegevens schrijft met behulp van de API voor bulkimport, bereikt een 10 keer grotere schrijfdoorvoer in vergelijking met een toepassing met meerdere threads die gegevens parallel schrijft terwijl de CPU van de clientcomputer wordt overbelast.

  • De bulkexecutorbibliotheek abstrahert de tijdrovende taken van het schrijven van toepassingslogica voor het afhandelen van snelheidsbeperking van aanvragen, time-outs van aanvragen en andere tijdelijke uitzonderingen. Deze worden efficiënt verwerkt in de bibliotheek.

  • Het biedt een vereenvoudigd mechanisme voor toepassingen om bulkbewerkingen uit te voeren om uit te schalen. Eén bulkexecutor die wordt uitgevoerd op een virtuele Azure-machine kan meer dan 500 K RU/s verbruiken. U kunt een hogere doorvoersnelheid bereiken door meer exemplaren toe te voegen op afzonderlijke virtuele clientmachines.

  • De bibliotheek voor bulkexecutor kan binnen een uur meer dan een terabyte aan gegevens bulksgewijs importeren met behulp van een uitschaalarchitectuur.

  • Het kan bestaande gegevens in Azure Cosmos DB-containers bulksgewijs bijwerken als patches.

Hoe werkt de bulkuitvoering?

Wanneer een bulkbewerking voor het importeren of bijwerken van documenten wordt geactiveerd met een batch entiteiten, worden deze in eerste instantie in een willekeurige volgorde geplaatst in buckets die overeenkomen met hun Azure Cosmos DB-partitiesleutelbereik. Binnen elke bucket die overeenkomt met een partitiesleutelbereik, worden ze onderverdeeld in minibatches.

Elke minibatch fungeert als een nettolading die aan de serverzijde wordt doorgevoerd. De bulkexecutorbibliotheek heeft ingebouwde optimalisaties voor de gelijktijdige uitvoering van de minibatches, zowel binnen als tussen partitiesleutelbereiken.

In het volgende diagram ziet u hoe gegevens bulksgewijs worden gebatched in verschillende partitiesleutels:

Diagram met de architectuur van bulkexecutor.

De bibliotheek voor bulkuitvoering zorgt ervoor dat de doorvoer die aan een verzameling is toegewezen, maximaal wordt gebruikt. Het maakt gebruik van een AIMD-achtige congestiecontrolemechanisme voor elk azure Cosmos DB-partitiesleutelbereik om snelheidsbeperking en time-outs efficiënt af te handelen.

Zie De .NET-bibliotheek voor bulkuitvoering gebruiken om bulkbewerkingen uit te voeren in Azure Cosmos DB en Bulkbewerkingen uitvoeren op Azure Cosmos DB-gegevens voor meer informatie over voorbeeldtoepassingen die gebruikmaken van de bibliotheek voor bulkexecutor.

Zie .NET-bibliotheek voor bulkexecutor en Java-bibliotheek voor bulkexecutor voor referentie-informatie.

Volgende stappen