Mongoimport: Aktualisierung der Sammlung Abendnacht, ohne den Datenverbrauch zu unterbrechen

StackOverflow https://stackoverflow.com/questions/8301421

  •  22-10-2019
  •  | 
  •  

Frage

Ich habe eine Sammlung von ungefähr 625.000 Objekten.

Nachts über Cron rufe ich eine aktualisierte Datei (TSV) dieser Daten von einem Datenanbieter ab und muss sie wieder in meinen MongoDB importieren.

Was ist der beste Weg, dies zu tun, ohne die Website/den Dienst und ihre Benutzer zu unterbrechen, die die Daten konsumieren? Ist Mongoimport -UpSt direkt auf der Sammlung der beste Weg? Es ist einfach so langsam.

Sollte ich über andere Methoden nachdenken, die Kopien meiner Sammlung beinhalten?

War es hilfreich?

Lösung

Ist Mongoimport -UpSt direkt auf der Sammlung der beste Weg? Es ist einfach so langsam.

Dies wird funktionieren, aber meiner Erfahrung nach mongoimport war langsam und unhandlich. Es hat auch einige andere schwerwiegende Einschränkungen: Keine Fähigkeit, den Fortschritt zu verfolgen, kein Platz für die Überprüfung/Validierung, kein Protokoll darüber, was es tut.

Sollte ich über andere Methoden nachdenken, die Kopien meiner Sammlung beinhalten?

Die alternative Methode hier besteht darin, ein Skript zu schreiben, das dies tut. In den meisten Sprachen ist dies ziemlich trivial.

Auf diese Weise können Sie den Fortschritt nachverfolgen und schlechte Daten verfolgen. Wenn Sie den Import besonders langsam finden, können Sie möglicherweise auch den Prozess verlassen und die Arbeit aufteilen.

Über Geschwindigkeit

Denken Sie daran, dass Sie 625K -Objekte aktualisieren. Wenn Sie 1K -Updates/Sekunden erhalten, müssen Sie noch 10 Minuten aktualisieren. Wenn du läufst mongostat Oder überprüfen Sie Ihre Überwachung während des Importprozesses, Sie sollten eine Vorstellung davon bekommen, wie viel Arbeit geleistet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top