Delen via


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 doorvoer voor lezen en schrijven, in de volgorde van miljoenen bewerkingen per seconde.
  • Het opslaan van grote hoeveelheden transactionele en operationele gegevens, op volgorde van honderden terabytes of nog meer, met voorspelbare millisecondenlatentie.

Met de bulkexecutorbibliotheek kunt u deze enorme doorvoer en opslag 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

Momenteel ondersteunt bulkexecutorbibliotheek import- en updatebewerkingen. Azure Cosmos DB-API biedt alleen ondersteuning voor deze bibliotheek voor NoSQL- en Gremlin-accounts.

Belangrijk

De bulkexecutorbibliotheek wordt momenteel niet ondersteund voor serverloze accounts. In .NET wordt u aangeraden de bulkondersteuning te gebruiken die beschikbaar is in de V3-versie van de SDK.

Belangrijkste functies van de bulkexecutorbibliotheek

  • Door de bulkexecutorbibliotheek te gebruiken, worden de rekenresources aan de clientzijde aanzienlijk verminderd die nodig zijn om de doorvoer die aan een container is toegewezen, te verzadigen. Een enkele threaded-toepassing die gegevens schrijft met behulp van de bulkimport-API, bereikt 10 keer meer schrijfdoorvoer in vergelijking met een toepassing met meerdere threads die gegevens parallel schrijft terwijl deze de CPU van de clientcomputer overbelast.

  • De bulkexecutorbibliotheek abstraheert de tijdrovende taken van het schrijven van toepassingslogica om snelheidsbeperking van aanvragen, time-outs van aanvragen en andere tijdelijke uitzonderingen af te handelen. 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 exemplaar van een bulkexecutor dat 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 bulkexecutorbibliotheek kan meer dan een terabyte aan gegevens binnen een uur bulksgewijs importeren met behulp van een uitschaalarchitectuur.

  • Bestaande gegevens in Azure Cosmos DB-containers kunnen bulksgewijs worden bijgewerkt als patches.

Hoe werkt de bulkuitvoering?

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

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

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

Diagram toont architectuur voor bulkexecutor.

De bulkexecutorbibliotheek zorgt ervoor dat de doorvoer die aan een verzameling is toegewezen, maximaal wordt gebruikt. Er wordt gebruikgemaakt van een mechanisme voor congestiebeheer in AIMD voor elk partitiesleutelbereik van Azure Cosmos DB om efficiënt snelheidslimieten en time-outs te verwerken.

Zie De .NET-bibliotheek voor bulkexecutor 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 bulkexecutorbibliotheek.

Zie de .NET bulkexecutorbibliotheek en java-bibliotheek voor bulkexecutor voor naslaginformatie.

Volgende stappen