Vue d’ensemble de la bibliothèque d’exécuteur en bloc Azure Cosmos DB
S’APPLIQUE À : NoSQL
Azure Cosmos DB est un service de base de données rapide, flexible et distribué à l’échelle mondiale qui permet d’effectuer un scale-out élastique pour prendre en charge :
- Un débit important de lecture et d’écriture, de l’ordre de plusieurs millions d’opérations par seconde.
- Le stockage de volumes élevés de données transactionnelles et opérationnelles, de l’ordre de plusieurs centaines de téraoctets ou plus encore, avec une latence prévisible à la milliseconde.
La bibliothèque d’exécuteur en bloc vous aide à utiliser ce stockage et ce débit immenses. La bibliothèque d’exécuteur en bloc vous permet d’effectuer des opérations dans Azure Cosmos DB par l’intermédiaire les API d’importation en bloc et de mise à jour en bloc. Les sections qui suivent décrivent en détail les fonctionnalités de la bibliothèque d’exécuteur en bloc.
Notes
La bibliothèque de l’exécuteur en bloc prend actuellement en charge les opérations d’importation et de mise à jour. L’API Azure Cosmos DB prend en charge cette bibliothèque uniquement pour les comptes NoSQL et Gremlin.
Important
La bibliothèque d’exécuteurs en bloc n’est actuellement pas prise en charge sur les comptes serverless. Sur .NET, nous recommandons d’utiliser la prise en charge en bloc disponible dans la version V3 du Kit de développement logiciel (SDK, Software Development Kit).
Principales fonctionnalités de la bibliothèque d’exécuteur en bloc
L’utilisation de la bibliothèque d’exécuteur en bloc réduit considérablement les ressources de calcul côté client nécessaires pour saturer le débit alloué à un conteneur. Une application à thread unique qui écrit des données à l’aide de l’API d’importation en bloc atteint un débit d’écriture 10 fois supérieur à celui d’une application multithread qui écrit des données en parallèle tout en saturant l’UC de l’ordinateur client.
La bibliothèque d’exécuteur en bloc élimine de façon abstraite les tâches fastidieuses d’écriture de la logique d’application qui gère la limitation du taux des requêtes, les délais d’attente des requêtes et d’autres exceptions temporaires. Elle les gère efficacement dans la bibliothèque.
Elle fournit un mécanisme simple permettant aux applications d’effectuer des opérations de scale-out en bloc. Une seule instance d’exécuteur en bloc qui s’exécute sur une machine virtuelle Azure peut consommer plus de 500 K d’unités de requête par seconde. Vous pouvez obtenir un débit plus élevé en ajoutant plus d’instances sur des machines virtuelles clientes individuelles.
La bibliothèque d’exécuteur en bloc peut importer en bloc plus d’un téraoctet de données par heure en utilisant une architecture scale-out.
Elle peut mettre à jour en bloc des données existantes dans des conteneurs Azure Cosmos DB sous forme de correctifs.
Comment fonctionne l’exécuteur en bloc ?
Quand une opération en bloc d’importation ou de mise à jour des documents est déclenchée avec un lot d’entités, elles sont initialement mélangées dans des compartiments qui correspondent à leur plage de clés de partition Azure Cosmos DB. Elles sont composées en mini-lots dans chaque compartiment qui correspond à une plage de clés de partition.
Chaque mini-lot agit comme charge utile qui est validée côté serveur. La bibliothèque d’exécuteur en bloc comporte des optimisations intégrées permettant l’exécution simultanée des mini-lots au sein de et entre les plages de clés de partition.
Le diagramme suivant montre comment l’exécuteur en bloc traite les données par lots vers différentes clés de partition :
La bibliothèque de l’exécuteur en bloc veille à utiliser au maximum le débit alloué à une collection. Elle utilise un mécanisme de contrôle de congestion de style AIMD pour chaque plage de clés de partition Azure Cosmos DB afin de gérer efficacement la limitation du taux et les délais d’attente.
Pour plus d’informations sur les exemples d’applications qui utilisent la bibliothèque de l’exécuteur en bloc, consultez Utiliser la bibliothèque .NET de l’exécuteur en bloc pour effectuer des opérations en bloc dans Azure Cosmos DB et Effectuer des opérations en bloc sur les données Azure Cosmos DB.
Pour plus d’informations de référence, consultez la Bibliothèque de l’exécuteur en bloc .NET et la Bibliothèque de l’exécuteur en bloc Java.