MongoDb : Vermeiden Sie übermäßige Speicherplatz
Ich habe eine Datenbank, die zugewiesen wurde, wurde ein Raum der 85GB. Ich habe diese Größe mit der show-dbs-Befehl.
Aber wenn ich die db.stats(), bekomme ich die storage-Größe wie 63GB. Nach Durchlaufen des docs fand ich dat mongo db weist eine Größe auf die db erstellt wird und dann die eigentlichen Daten gefüllt ist.
Warum mongo tut dies preallocation und gibt es eine Möglichkeit, kann ich dies vermeiden preallocation ?
Wenn ja, wird es eine gute Idee sein, es zu tun oder es auf aus performance-Sicht ?
Dank!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Details finden Sie hier: http://www.mongodb.org/display/DOCS/Excessive+Festplatte+Speicherplatz
Nun zu Ihrem Fall. Ich denke, dass die aktuelle Größe der datafiles kann verursacht werden durch preallocation allein. Die maximale Größe der zugewiesenen Daten-Dateien beträgt 2 GB. Vielleicht sind Sie einmal gespeichert, viel mehr Daten als heute? Der link oben zeigt auch, wie zurückfordern, die diese Daten, wenn Sie sicher sind, dass Sie nicht brauchen es eh bald. Dies erfordert eine Menge Speicherplatz, die während des Prozesses, so müssen Sie dies einige Planung.
Deaktivieren preallocation wird in der Tat perfomance auswirken. Wenn Sie viele Einsätze, der Prozess würde regelmäßig zu warten, bis Sie eine neue Datei erstellen.
Können Sie deaktivieren preallocation mit der --noprealloc Befehl Linie parameter.
Lesen Sie mehr hier