2017-09-12 2 views
-2

Ich habe Millionen (etwa 200 Millionen) Datensätze, die ich in meine CosmosDb einfügen muss.Azure CosmosDB Batch einfügen

Ich habe gerade festgestellt, dass Microsoft Batch-Insert-Funktion nicht implementieren konnte ... (1), (2) < --- 3 Jahre zu antworten.

Anstatt mich von einem Microsoft-Gebäude zu werfen, habe ich begonnen, nach alternativen Lösungen zu suchen.

Eine Idee, die ich hatte, war, alle meine Dokumente in eine Datei zu schreiben und dann diese Datei in meine DB zu importieren.

Nun, wie kann ich, nachdem ich meine JSON-Datei mit meinen Dokumenten erstellt habe, den Massenimport (aus Python 3.6) durchführen?

Ich bin auf einige Migration tool gestoßen, aber ich frage mich, ob es einen besseren/schnelleren Weg gibt und ohne dass ich dieses Tool installieren muss ... Sie sehen, ich werde meinen Code in einem WebJob ausführen, so installieren Das Migrationstool ist sowieso keine Option.

Antwort

0

Ich empfehle Ihnen, Mongo DB driver zu verwenden, die von Azure Document DB unterstützt wird.

Mongo DB driver Arbeiten mit dem binary Protokoll, während Azure Document DB SDK Arbeiten mit dem HTTP Protokoll.

Wie wir wissen, ist die Arbeitseffizienz des binären Protokolls besser als das HTTP-Protokoll.

könnten Sie Bulk Methode verwenden, um Daten in Azure Cosmos DB und jede Gruppe von Operationen haben 1000 Operationen können höchstens zu importieren. Bitte beachten Sie das Dokument here.

Anmerkungen:

Die maximale Größe für ein Dokument ist 2 MB im Azure Dokument DB, die here erwähnt wird.

+0

Vielen Dank für Ihren Vorschlag. Es scheint, dass ich die Fähigkeiten von Cosmos DB stark überschätzt habe. – pookie

Verwandte Themen