Ich habe einige Probleme mit MongoDB und der Speicherplatznutzung. Früher hatte ich eine große Sammlung von ungefähr 600 Millionen Datensätzen mit mehr als 110 GB auf der Festplatte. Vor kurzem habe ich beschlossen, es zu löschen, weil die Daten veraltet waren. Dazu habe ich die Sammlung über die Weboberfläche von rockmongo gelöscht. Dementsprechend zeigt mir rockmongo die Sammlung nicht mehr an, jedoch hat sich meine Datenträgerverwendung überhaupt nicht geändert.
Gibt es einen sauberen Vorgang, den ich nicht kenne und der ausgeführt werden muss, um die Datenbank mit den Datenbankdateien auf der Festplatte zu synchronisieren?
Ich habe versucht, eine "Reparatur" durchzuführen, aber das System beklagt, dass nicht genügend Speicherplatz auf der Festplatte vorhanden ist ... das liegt daran, dass MongoDB alles verwendet.
quelle
mongodump
,oldDatabase.dropDatabase()
,mongorestore --db newDatabase dump/oldDatabase
.Während der oben beschriebene Ansatz von mongodump / drop / mongorestore aus technischer Sicht gut funktioniert, müssen Sie die Datenbank währenddessen offline schalten, was sich auf den Service auswirken würde.
Wenn Sie dies ohne Ausfallzeiten tun möchten UND wenn Sie MongoDB Replica Sets [1] verwenden, können Sie dies folgendermaßen tun:
Wiederholen Sie dann die obigen Schritte für jedes andere Mitglied im Replikatsatz.
[1] https://docs.mongodb.org/manual/tutorial/deploy-replica-set )
quelle
Gemäß dieser FAQ https://docs.mongodb.com/manual/faq/storage/#faq-disk-size
Die einzige Möglichkeit besteht darin, Folgendes zu tun:
quelle