MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB schlechte Schreibleistung bei großen Sammlungen mit mehr als 50.000.000 Dokumenten

Höchstwahrscheinlich stoßen Sie aufgrund des Rekordwachstums auf Probleme, siehe http ://docs.mongodb.org/manual/core/write-performance/#document-growth .

Mongo bevorzugt Datensätze mit fester (oder zumindest begrenzter) Größe. Wenn Sie die Datensatzgröße über den vorab zugewiesenen Speicherplatz hinaus erhöhen, wird das Dokument an einen anderen Speicherort auf der Festplatte verschoben, wodurch sich Ihre E/A mit jedem Schreibvorgang vervielfacht. Erwägen Sie, „genügend“ Platz für Ihr durchschnittliches Dokument beim Einfügen vorab zuzuweisen, wenn Ihre Dokumentgrößen relativ homogen sind. Ziehen Sie andernfalls in Betracht, schnell wachsende verschachtelte Arrays in eine separate Sammlung aufzuteilen und dadurch Aktualisierungen durch Einfügungen zu ersetzen. Überprüfen Sie auch Ihre Fragmentierung und ziehen Sie in Betracht, Ihre Datenbanken von Zeit zu Zeit zu komprimieren, damit Sie eine höhere Dokumentendichte pro Block haben, wodurch harte Seitenfehler reduziert werden.