Ich betreibe eine partitionierte MongoDB-Umgebung - 3 mongod-Shards, 1 mongod-Konfiguration, 1 mongos (keine Replikation).
Ich möchte mongoimport verwenden, um CSV-Daten in die Datenbank zu importieren. Ich habe 105 Millionen Datensätze in Inkrementen von 500.000 in 210 CSV-Dateien gespeichert. Ich verstehe, dass mongoimport single-threaded ist und habe gelesen, dass ich mehrere mongoimport-Prozesse ausführen sollte, um bessere Leistungen zu erzielen. Allerdings habe ich das versucht und keine Geschwindigkeitssteigerung festgestellt:
Beim Ausführen von 3 mongoimports parallel erhielt ich etwa 6.000 Inserts/Sekunde pro Prozess (also 18.000 i/s), während ich beim Ausführen von 1 mongoimport etwa 20.000 Inserts/Sekunde erhielt.
Da diese Prozesse durch die einzelne mongod-Konfiguration und mongos geroutet wurden, frage ich mich, ob dies an meiner Cluster-Konfiguration liegt. Meine Frage ist, ob ich durch eine andere Cluster-Konfiguration bessere mongoimport-Geschwindigkeiten erzielen kann. Brauche ich mehr mongos-Prozesse? Wie viele mongoimport-Prozesse sollte ich gleichzeitig starten?