DBMS und Speicher-Engine - Aufgaben?
Hey Leute,
Es gibt ja die Datenbank-Software als ganzes und ein Modul innerhalb dieser Datenbank, die als Speicher Engine bekannt ist (z.B. InnoDB).
Was sind nun die Aufgaben der Datenbank an sich und der InnoDB?
InnoDB kümmert sich um das Speichern, suchen, löschen und bearbeiten der Daten und stellt sicher, dasss Transaktionen erfolgreich sind?
MariaDB kümmert sich um das Anlegen von Tabellen, Usern und stellt die Konfiguration? Außerdem gibt es die Sprache (SQL) vor? Also halt das allgemeine, was nicht direkt mit den Daten zu tun hat, sprich die Konfiguration?
1 Antwort
Bei InnoDB handelt es sich um ein Speichersubsystem von MariaDB bzw. die eigentliche Speicher-/Datenbank-Engine, die für das Erstellen, Lesen, Löschen und Aktualisieren der Daten zuständig ist.
MariaDB bietet generell mehrere verschiedene Speichersubsysteme an (z.B. Aria, CSV, MERGE, MyISAM, Spider) und du kannst ebenso eigene Engines oder die externer Hersteller einsetzen.
Diese vorhandenen Engines unterscheiden sich darin, dass sie für verschiedene Anwendungsfälle/Szenarien ausgelegt sind. Dementsprechend speichern sie Daten auf jeweils andere Weise, sind bei Lese- oder Schreiboperationen unterschiedlich schnell und stellen unterschiedliche zusätzliche Funktionalitäten zur Verfügung. Letzeres unterscheidet die MariaDB-Engines übrigens von klassischen Datenbanksubspeichersystemen.
Um dazu einmal ein paar Beispiele anzuführen:
- MyISAM ist vor allem für viele, schnelle Lesezugriffe konzipiert.
- Die CSV-Engine speichert ihre Daten im CSV-Format.
- InnoDB ermöglicht eine konfigurierbare Transaktionssicherheit beim Lesen und Schreiben. Das heißt, diese Operationen gewähren mehr Datensicherheit / Konsistenz.
MariaDB ist ein DBMS (Datenbankmanagementsystem) und als solches im Prinzip ein Wrapper für die tatsächliche Datenbank-Engine. Es stellt somit erst einmal die Schnittstelle, über die ein Anwender mit der inneren Engine kommunizieren kann. Dafür gibt es unter anderem implementiere Nutzerrollen, integrierte Zwischenspeicher, eine vorgesetzte Datenbanksprache (wie SQL), usw.. Konfigurationen gehören ebenso dazu.
Wow danke dir für die Antwort. Diese entspricht genau meiner Vorstellung an Infos und Tiefe. Schönen Abend noch!