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

Warum ist eine leere MongoDB-Datenbank so groß?

Abhängig von Ihrer Version von MongoDB und der konfigurierten Speicher-Engine werden beim Start mehrere Daten- und Metadatendateien vorab zugewiesen. Dies ist das erwartete Verhalten:Eine "leere" Bereitstellung führt immer noch zu Verwaltungs- und Diagnosedaten.

Basierend auf Ihrer Verzeichnisliste führen Sie MongoDB 3.2 aus, das standardmäßig die WiredTiger-Speicher-Engine verwendet. WiredTiger weist bis zu 100 MB pro Journaldatei zu, sodass Ihre neue Bereitstellung über ~300 MB an vorab zugewiesenen Journaldateien verfügt :

     100M    ./journal/WiredTigerLog.0000000003
     100M    ./journal/WiredTigerPreplog.0000000001
     100M    ./journal/WiredTigerPreplog.0000000002

Abgesehen von Journaldateien werden andere Metadaten in Ihrem dbpath erstellt (ohne dass Sie bisher explizit Datenbanken erstellt haben) enthält:

  • Ein local Datenbank mit einer begrenzten Sammlung namens startup_log mit einigen diagnostischen Informationen zu jedem Startaufruf dieser Instanz von mongod . Es wird eine zugehörige Sammlung und Indexdatei für local.startup_log geben; Die Dateinamen sind undurchsichtig, aber als erste erstellte Dateien schätze ich, dass dies in Ihrem Beispiel sein könnte:

     36K    ./collection-0-3697658674625742251.wt
     36K    ./index-1-3697658674625742251.wt
    
  • Mehrere WiredTiger-Metadatendateien. Es gibt immer mindestens eine Datenbank in einer Bereitstellung seit local Datenbank wird standardmäßig für das startup_log erstellt :

    4.0K    ./WiredTiger
    4.0K    ./WiredTiger.lock
    4.0K    ./WiredTiger.turtle
    4.0K    ./WiredTigerLAS.wt
     16K    ./_mdb_catalog.wt
     36K    ./sizeStorer.wt
     44K    ./WiredTiger.wt
    
  • Eine diagnostic.data Verzeichnis; dies dient der regelmäßigen Erfassung von Serverstatusmetriken:

    168K    ./diagnostic.data/metrics.2016-06-10T11-17-58Z-00000
    72K    ./diagnostic.data/metrics.2016-06-10T10-19-31Z-00000