Wie kann ich die Größe einer MongoDB-Datenbank vergrößern?

Wie kann ich die Größe einer MongoDB-Datenbank vergrößern?

Ich habe Fotos mit Berichten auf MongoDB hochgeladen. Ich habe das Größenlimit der Datenbank erreicht. Wie erhöhe ich die Größe der Datenbank?

db.stats()
{
        "db" : "fieldops",
        "collections" : 6,
        "objects" : 20454,
        "avgObjSize" : 890464.9997066589,
        "dataSize" : 18213571104,
        "storageSize" : 18432802736,
        "numExtents" : 52,
        "indexes" : 4,
        "indexSize" : 809424,
        "fileSize" : 21398290432,
        "nsSizeMB" : 16,
        "extentFreeList" : {
                "num" : 0,
                "totalSize" : 0
        },
        "dataFileVersion" : {
                "major" : 4,
                "minor" : 22
        },
        "ok" : 1
}

Und nebenbei: Ich habe im Moment 12.000 Bilder, die jeden Monat hochgeladen werden. Ich habe gelesen, dass das MongoDB- data fileLimit bei 16.000 liegt. Ich konnte die Definition data fileim Glossar nicht finden. Bezieht sich das auf die bufferedBilder, die ich in die Datenbank hochgeladen habe? Muss ich also, sobald das passiert, einen separaten Server mit einem Shard einrichten? Oder kann ich auf derselben Maschine einen Shard erstellen?

Dank im Voraus.

Antwort1

Ich habe Fotos mit Berichten auf MongoDB hochgeladen. Ich habe das Größenlimit der Datenbank erreicht. Wie erhöhe ich die Größe der Datenbank?

Vorausgesetzt, Sie haben freien Speicherplatz, wird MongoDB automatisch zusätzlichen Speicherplatz nach Bedarf zuweisen. Da Sie die MMAP-Speicher-Engine verwenden (basierend auf Ihrer db.stats()Ausgabe), wird MongoDB Speicherplatz in zunehmenden Schritten von bis zu 2 GB pro neuer Datei vorab zuweisen (oder maximal 512 MB pro Datei, wenn Sie diesmallFilesMöglichkeit). Wenn Ihre Datenbank aktuell >18 GB groß ist, benötigen Sie mindestens 2 GB freien Speicherplatz (plus etwas Speicherplatz für das Betriebssystem, wenn sich Ihr temporäres Verzeichnis auf demselben Datenträger befindet).

Es gibt keine Begrenzung der Dokumentanzahl für eine Sammlung, es sei denn, Sie verwenden eine begrenzte Sammlung mit einer angegebenenmaxGrenze(der kleiner als 2^32 sein muss). Es gibt MongoDB-Produktionsbereitstellungen mit Billionen von Dokumenten (siehe:MongoDB im großen Maßstab).

MongoDB 3.0+ verfügt über eine Speicher-Engine-API, daher kann es einige Einschränkungen geben, die je nach Speicher-Engine variieren. Beispielsweise kann dieBegrenzung der Datengrößefür eine einzelne mongodmit der klassischen MMAPv1-Speicher-Engine sind es normalerweise 64 Terabyte Daten mit aktiviertem Journaling. Die WiredTiger-Speicher-Engine (optional in 3.0, Standard in 3.2+) hat diese Einschränkung nicht.

Das Einfügen von Zehntausenden Dokumenten pro Monat sollte kein Problem sein.

Weitere Informationen finden Sie unter:MongoDB-Grenzen und -Schwellenwerte.

verwandte Informationen