Verursacht beim Massenladen CouchDB

8

Ich habe ~ 15.000 Zeilen in MSSQL 2005, die ich in CouchDB migrieren möchte, wo eine Zeile ein Dokument ist. Ich habe eine CLR-UDF, die n Zeilen in eine schemagebundene XML-Datei schreibt. Ich habe eine XSL-Transformation, die das Schema-gebundene XML in JSON konvertiert.

Mit diesen existierenden Werkzeugen denke ich, dass ich MSSQL zu XML zu JSON gehen kann. Wenn ich n Zeilen pro JSON-Datei stapel, kann ich cURL scripten, um die Dateien zu durchlaufen und sie mit der Bulk-API _bulk_docs an CouchDB zu senden.

Wird das funktionieren? Hat jemand schon einmal eine Migration gemacht? Kannst du einen besseren Weg empfehlen?

    
FreddyB 14.01.2009, 19:43
quelle

1 Antwort

6

Bisher habe ich einige Konvertierungen von älteren SQL-Datenbanken zu CouchDB durchgeführt. Ich hatte immer einen etwas anderen Ansatz.

  1. Ich habe den Primärschlüssel der SQL-DB als Document-Id verwendet. Dadurch konnte ich immer wieder importieren ohne Angst vor doppelten Dokumenten.
  2. Ich habe zeilenweise Importe statt eines Massenimports durchgeführt. Es erleichtert das Debugging. Ich habe über eine Internetverbindung zwischen 5-10 Einblendungen pro Sekunde gesehen. Obwohl das nicht blitzschnell ist, war es schnell genug für mich. Meine größte Datenbank ist 600.000 Dokumente mit insgesamt 20 GB. Zeile für Zeile blähen Sie die Datenbank während des Imports auf, führen Sie daher gelegentlich eine Komprimierung durch. Dann wieder, es sei denn, Ihre Zeilen sind riesig 15.000 Zeilen klingt nicht viel.

Mein Importcode sieht normalerweise so aus:

%Vor%     
max 19.01.2009, 22:16
quelle

Tags und Links