Derzeit ist unsere Aufgabe, 1 Million Datensätze von einem externen Server zu holen, zu verarbeiten und speichern Sie es in der db. Wir verwenden node.js
zum Abrufen der Datensätze und mongodb
als Datenbank.Mongodb Antwort verlangsamt unglaublich nach 200.000 Datensätze
Wir entschieden uns, den Prozess in zwei Aufgaben aufzuteilen, die Datensätze abzurufen und zu verarbeiten. Jetzt können wir alle Datensätze abrufen und in Mongo ablegen, aber wenn wir versuchen, sie zu verarbeiten (indem ich meine, ändere ein paar Attributwerte, mache eine einfache Berechnung und aktualisiere die Attribute), sehen wir eine drastisch langsame Antwort in mongodb Updates um 200,000
Datensätze.
Für die Verarbeitung der Daten nehmen wir Chargen von 1000 Datensätzen, verarbeiten sie, aktualisieren die Datensätze (einzeln) und gehen dann zum nächsten Batch über. Wie könnte die Leistung verbessert werden?
Haben Sie alle Indizes auf Ihrem db haben? Wenn ja, lassen Sie sie während des Imports fallen. – dbcb
@ dbcb wir haben das getan. Momentan gibt es keinen Index für die Sammlung. – Rahul
Warum nicht die Bulk-API für Updates verwenden? - http://docs.mongodb.org/manual/reference/method/Bulk.find.update/ – BatScream