10 Speicher-Engines in MongoDB

Speicher-Engines sind die Kernkomponenten einer Datenbank, die bestimmen, wie Daten gespeichert, abgerufen und verwaltet werden. MongoDB bietet mehrere Speicher-Engines an, die jeweils spezifische Anforderungen an Performance, Datenspeicherung und Konsistenz adressieren. Die Wahl der richtigen Engine kann den Unterschied zwischen einer optimalen und einer suboptimalen Datenbankleistung ausmachen.

10.1 Übersicht der Speicher-Engines

10.1.1 WiredTiger


10.1.2 MMAPv1


10.1.3 In-Memory


10.1.4 TokuMX/TokuMXse


10.1.5 RocksDB


10.2 Abfragen der verwendeten Speicher-Engine

Die aktuell verwendete Speicher-Engine kann über die MongoDB-Shell abgefragt werden:

db.serverStatus().storageEngine

Beispielausgabe:

{
  "name": "WiredTiger",
  "supportsCommittedReads": true,
  "readOnly": false,
  "persistent": true
}

10.3 Wechsel der Speicher-Engine

10.3.1 Konfigurationsänderungen

Die Speicher-Engine kann in der Konfigurationsdatei mongod.conf festgelegt werden:

storage:
  dbPath: /var/lib/mongodb
  engine: WiredTiger

Oder direkt in der Kommandozeile:

mongod --storageEngine WiredTiger

10.3.2 Ablauf des Wechsels

  1. Datenexport: Exportieren Sie bestehende Daten mit mongodump, da Speicher-Engines unterschiedliche Datenformate verwenden.
  2. Konfigurationsanpassung: Ändern Sie die Speicher-Engine in der Konfigurationsdatei oder via Kommandozeilenargument.
  3. Datenimport: Importieren Sie die Daten mit mongorestore.
  4. Neustart: Starten Sie die MongoDB-Instanz neu.

10.4 Empfehlungen

Vor einem Wechsel sollten immer Backups erstellt und Tests durchgeführt werden, um Datenintegrität und Systemstabilität sicherzustellen.