Mobile-Menu

Grundelement eines DBMS Was ist eine Datenbank-Engine (Storage Engine, Speicher-Engine)?

Eine Datenbank-Engine, oft auch als „Storage Engine“ bezeichnet, ist ein wichtiges Grundelement jedes Datenbankmanagementsystems (DBMS). Sie übernimmt die Aufgabe, Daten zu speichern, zu lesen, zu verändern und zu löschen. Je nach Anforderung an die Datenhaltung lassen sich verschiedene Speicher-Engines für ein DBMS verwenden. Es existieren verschiedene Arten von Datenbank-Engines wie transaktionssichere und nicht-transaktionssichere Engines oder In-Memory Storage Engines.

Anbieter zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Alternative Begriffe für Datenbank-Engine sind Storage Engine oder Speicher-Engine. Bei einer Datenbank-Engine handelt es sich um eine grundlegende Komponente jedes Datenbankmanagementsystems (DBMS). Die Engine stellt den Service zum Speichern, Lesen, Verändern und Löschen der Daten einer Datenbank zur Verfügung. Sie kontrolliert den Zugriff auf die Daten und hat wesentlichen Einfluss auf die Transaktionsleistung eines DBMS. Die Speicher-Engine interagiert zur Datenhaltung beispielsweise mit der Dateisystemebene eines physischen Speichergeräts.

In der Regel unterstützten Datenbankmanagementsysteme verschiedene Speicher-Engines mit unterschiedlichen Eigenschaften. Je nach Anforderung an die Datenhaltung lassen sich die Engines eines DBMS austauschen. Typische Arten von Datenbank-Engines sind transaktionssichere und nicht-transaktionssichere oder In-Memory Storage Engines.

Die verschiedenen Arten von Storage Engines

Für Datenbankmanagementsysteme wie MySQL, MongoDB oder MariaDB stehen üblicherweise austauschbare Storage Engines mit unterschiedlichen Eigenschaften zur Verfügung. Jede Engine besitzt spezifische Stärken und Schwächen. Entsprechend den Anforderungen an das DBMS und die Datenhaltung kann die jeweils am besten geeignete Speicher-Engine ausgewählt werden.

Neben transaktionssicheren und nicht-transaktionssicheren Engines existieren beispielsweise In-Memory Storage Engines, welche die Daten im Arbeitsspeicher verwalten. Weitere Arten von Speicher-Engines sind:

  • Datenbank-Engines für die verteilte Datenspeicherung auf mehreren Servern, auch als Cluster-Engines bezeichnet,
  • Datenbank-Engines mit Unterstützung graphenbasierter Speichertechnologien (Datenhaltung in Graphendatenbanken mit Knoten und Kanten),
  • Datenbank-Engines mit direkter Unterstützung von Verschlüsselungstechnologien,
  • Datenbank-Engines mit direkter Unterstützung der komprimierten Datenspeicherung,
  • Datenbank-Engines mit Datenhaltung in CSV-Dateien mit kommagetrennten Werten,
  • Datenbank-Engines mit Unterstützung von Cloud-Storage-Services,
  • eingebettete Datenbank-Engines.

Beispiele für Storage Engines bekannter Datenbankmanagementsysteme

Im Folgenden einige Beispiele für häufig genutzte Storage Engines, wie sie zum Beispiel in Datenbankmanagementsystemen wie MySQL, MongoDB oder MariaDB zum Einsatz kommen:

  • InnoDB,
  • MyISAM,
  • Memory,
  • CSV,
  • Aria,
  • Archive,
  • Falcon,
  • InfiniDB,
  • TokuDB,
  • WiredTiger,
  • MyRocks,
  • XtraDB,
  • SphinxSE,
  • Spider,
  • OQGRAPH (Open Query GRAPH).

(ID:48102853)