Azure Cosmos DB-BulkExecutor-Bibliothek – Übersicht
GILT FÜR: NoSQL
Azure Cosmos DB ist ein schneller, flexibler und global verteilter Datenbankdienst, der elastisch skaliert werden kann:
- Großer Lese- und Schreibdurchsatz, in der Größenordnung von Millionen von Operationen pro Sekunde.
- Speichern großer Mengen von Transaktions- und Betriebsdaten in der Größenordnung von Hunderten von Terabytes oder sogar mehr mit vorhersehbaren Latenzzeiten von Millisekunden.
Die Bulk Executor-Bibliothek hilft Ihnen, diesen enormen Durchsatz und Speicherplatz zu nutzen. Die BulkExecutor -Bibliothek ermöglicht es Ihnen, Massenvorgänge in Azure Cosmos DB durch Massenimport- und Massenaktualisierungs-APIs durchzuführen. In den folgenden Abschnitten erfahren Sie mehr über die Funktionen der BulkExecutor-Bibliothek.
Hinweis
Derzeit unterstützt die Bulk Executor-Bibliothek Import- und Aktualisierungsvorgänge. Azure Cosmos DB-API unterstützt diese Bibliothek nur für NoSQL- und Gremlin-Konten.
Wichtig
Die Bulk Executor-Bibliothek wird für serverlose Konten derzeit nicht unterstützt. Unter .NET empfehlen wir Ihnen, die Bulk-Unterstützung zu verwenden, die in der V3-Version des SDKs verfügbar ist.
Wichtigste Funktionen der BulkExecutor-Bibliothek
Durch die Verwendung der Bulk Executor-Bibliothek werden die clientseitigen Rechenressourcen, die zur Sättigung des einem Container zugewiesenen Durchsatzes benötigt werden, erheblich reduziert. Eine Singlethreadanwendung, die Daten über die Massenimport-API schreibt, erzielt einen zehnmal höheren Schreibdurchsatz im Vergleich zu einer Multithreadanwendung, die Daten parallel schreibt und gleichzeitig die CPU des Clientcomputers vollständig nutzt.
Die Bulk Executor-Bibliothek nimmt Ihnen die mühsame Aufgabe ab, Anwendungslogik zu schreiben, um die Ratenbegrenzung von Anfragen, Anfrage-Timeouts und andere vorübergehende Ausnahmen zu handhaben. Sie werden innerhalb der Bibliothek effizient verarbeitet.
Es stellt einen vereinfachten Mechanismus für Anwendungen zur Verfügung, um Massenoperationen zur Skalierung auszuführen. Eine einzelne Bulk Executor-Instanz, die auf einer virtuellen Azure-Maschine läuft, kann mehr als 500 K RU/s verbrauchen. Sie können eine höhere Durchsatzrate erreichen, indem Sie mehr Instanzen auf einzelnen virtuellen Clientcomputern hinzufügen.
Die Bulk Executor-Bibliothek kann durch den Einsatz einer Scale-Out-Architektur innerhalb einer Stunde mehr als ein Terabyte an Daten importieren.
Vorhandene Daten in Azure Cosmos DB-Containern können per Massenvorgang in Form von Patches aktualisiert werden.
Wie funktioniert BulkExecutor?
Wenn ein Massenvorgang zum Importieren oder Aktualisieren von Dokumenten mit einem Batch von Entitäten ausgelöst wird, werden die Dokumente anfänglich entsprechend dem Schlüsselbereich der zugehörigen Azure Cosmos DB-Partition in Buckets gemischt. In jedem Bucket, der einem Partitionsschlüsselbereich entspricht, werden sie in Minibatches unterteilt.
Jeder Minibatch fungiert als Nutzlast, die auf dem Server übertragen wird. Die BulkExecutor-Bibliothek verfügt über integrierte Optimierungen für die gleichzeitige Ausführung dieser Minibatches sowohl innerhalb der Partitionsschlüsselbereiche als auch übergreifend über diese Bereiche.
Das folgende Diagramm veranschaulicht, wie der Bulk Executor die Daten in verschiedene Partitionsschlüssel einteilt:
Die BulkExecutor-Bibliothek stellt sicher, dass der Durchsatz, der einer Sammlung zugeordnet ist, optimal genutzt wird. Sie verwendet für jeden Azure Cosmos DB-Partitionsschlüsselbereich einen AIMD-Steuerungsmechanismus für Überlastungen, um Ratenbegrenzungen und Zeitüberschreitungen effizient zu verarbeiten.
Weitere Informationen über Beispielanwendungen, die die Bulk Executor-Bibliothek nutzen, finden Sie unter Verwenden der Bulk Executor-.NET-Bibliothek zur Durchführung von Bulk-Operationen in Azure Cosmos DB und Durchführen von Bulk-Operationen mit Azure Cosmos DB-Daten.
Referenzinformationen finden Sie unter .NET Bulk Executor-Bibliothek und Java Bulk Executor-Bibliothek.