Über 5.000 Erfahrungsberichte von über 400 Hosting-Anbietern im Vergleich!

Was ist InnoDB und was sind die Unterschiede zu anderen Engines?

Hosttest.de
Autor: HOSTTEST-Redaktion   |  29.10.2020


InnoDB erklärtDie Datenbanksysteme MySQL und MariaSB stellen den aktuell am weitesten verbreiteten Standard für Datenbanken bei Webseiten dar. Sie definieren allerdings lediglich die Art und Weise, in der das System die Daten speichert - als relationale in Tabellen, die in festen Kriterien angelegt werden. Für den direkten Umgang mit den Datenbanken und deren Manipulation verwenden MySQL und MariaDB hingegen ein externes Speichersubsystem (Engine), das die Schnittstelle zwischen dem Datenbankmangementsystem (DBMS) und den Informationen darstellt. Diese Aufgabe übernimmt bei beiden seit einigen Jahren die Speicher-Engine InnoDB.

 

Was ist die Aufgabe einer Engine wie InnoDB?

Die eigentliche Aufgabe von InnoDB und anderen Speichersubsystemen liegt darin, eine zusätzliche Zwischenschicht (Layer) zwischen der für die Verwaltung verantwortlichen Software und den gespeicherten Informationen zu bilden. Diese dient dazu, zum Beispiel die Zugriffe zu administrieren, Datensätze zu sperren und parallele Abrufe oder Schreibvorgänge aus unterschiedlichen Quellen zu koordinieren. Das DBMS in Form von MySQL oder MariaDB bildet in diesem Zusammenhang lediglich den Rahmen, der etwa Struktur der Daten und Art der Syntax für Befehle festlegt. Dieses übergibt die Aufgaben inklusive der Daten anschließend an InnoDB oder eine andere Engine, die den direkten Umgang mit den Daten pflegen.

Was steckt hinter der Trennung zwischen MySQL und InnoDB?

Durch die Verwendung eines festen Systems mit unterschiedlichen Speicherengines besitzen MySQL und MariaDB eine Flexibilität, die durch eine feste Integration nicht erreicht werden könnte. Abstrahiert übernehmen InnoDB und weitere Engines die Rolle von Plug-ins, die einen modularen Aufbau bei Kernfunktionen des Datenbankservers zulassen. Diese Trennung erleichtert zudem die Pflege und die Optimierung des Quellcodes, da die Einbindung von Speichersubsytemen externer Anbieter eine Konzentration aller Ressourcen auf die Weiterentwicklung von MySQL beziehungsweise MariaDB zulässt. So stammt InnoDB ursprünglich von dem finnischen Unternehmen Innobase Oy, das der Softwarekonzern nach seiner Übernahme 2005 im Laufe der folgenden Jahre vollständig in die eigene Struktur integrierte.

Welche Vorteile besitzt InnoDB gegenüber anderen Engines?

Bis zu der Version 5.0 setzte MySQL auf MyISAM (My Indexed Sequential Access Method) als Speichersubsystem, gab dieses als Standard jedoch zugunsten von InnoDB auf. Auch die meisten Content Management Systeme (CMS) und Shopsoftware verwenden InnodDB als Standard, viele Plug-ins setzen hingegen nach wie vor auf MyISAM. Dieser Unterschied bei der Präferenz beruht in erster Linie auf den spezifischen Eigenschaften der beiden Engines. Zu den Merkmalen von InnoDB zählen:

  • Zugriffe sperren lediglich eine Spalte (Row) mit einem Datensatz statt einer Tabelle
  • Sichere Zugriffe durch Transaktionen
  • Transaktionen können vor dem Ende abgebrochen und widerrufen werden (Rollback)
  • Integrierte Optionen für Anlegen und Einspielen von Back-ups
  • Automatische Schreibsperre für andere Transaktionen bei Schreibzugriffen/li]
  • Wiederherstellung von Datenbanken nach einem Crash
  • Schnelle SELECT Zugriffe (Lesen von Daten)
  • Unterstützung von Fremdschlüsseln für Sicherheit und Integrität von Transaktionen

Demgegenüber kennzeichnen MyISAM folgende Eigenschaften:

  • Integrierte Suche für Volltext
  • Keine Unterstützung für referenzielle Integrität
  • Zugriff auf Datenbanken in einzelnen Schritten statt gebündelten Transaktionen
  • Keine Kontrolle der Datenbanken auf Konsistenz und Vollständigkeit der Zugriffe
  • Schnelle INSERT und UPDATE Zugriffe (Lesen von Daten)
  • Effiziente Nutzung von Speicher im RAM und auf der Festplatte

Dass InnoDB bei dem Schreiben von Daten deutlich längere Zugriffszeiten benötigt, liegt an der strengen Kontrolle der Datenbanken auf ihre Konsistenz. Im Unterschied zu MyISAM überwacht InnoDB jeden Zugriff, bis dieser erfolgreich in den Speicher oder eine Datei geschrieben wurde. MyISAM erteilt hingegen lediglich eine Anweisung und überlässt die Kontrolle über Änderungen ausschließlich dem Betriebssystem.

Wie lassen sich Datenbanken einer bestimmten Engine wie InnoDB zuordnen?

Die Arbeit mit Datenbanken erfolgt nur selten manuell - falls solche Eingriffe notwendig sein sollten, empfehlen sich für diesen Zweck komfortable Webinterfaces wie zum Beispiel phpMyAdmin. Die Regel ist, dass diese über die PHP Erweiterung MySQLi (MySQL Improved) erfolgt - seit Version 7.0 unterstützt die Programmiersprache nicht mehr dessen frühere Version MySQL. Die einfachste Variante besteht darin, bei dem Anlegen von Datenbanken das Speichersubsystem durch die Option ENGINE = anzugeben. Auch eine nachträgliche Umwandlung ist möglich, indem der folgende Befehl in MySQL, durch MySQLi oder in phpMyAdmin ausgeführt wird:

ALTER TABLE name ENGINE=myisam/innodb;

Eine Umwandlung geht allerdings mit dem Risiko eines Datenverlusts einher und ein Mischbetrieb zwischen InnoDB und anderen Engines empfiehlt sich lediglich begrenzt.

Alternativen zu InnoDB sind Redis, InfluxDB und MySQLi.

Foto: Gerd Altmann auf Pixabay


Weitere Webhoster


Weitere interessante Artikel

Was ist InfluxDB und was sind die Vorteile

Wir erklären euch was InfluxDB ist und was die Vorteile der Datenbank sind.

Was sind Redis Datenbanken und was sind die Vorteile?

Wir informieren euch über das Redis Datenbanksystem und deren spezifischen Vorteile.

Webhoster im Fokus Anzeige
Aktuelle Ausschreibungen
Managed Server
noch 11 Tage und 12 Stunden
Cloudserver inkl Migration
Vor kurzem Beendet
Webhosting für 2 Nischenseiten
Vor kurzem Beendet
Hosting moodle, Webseite, Mail
Vor kurzem Beendet
Neueste Bewertungen
crystali hat ikayano bewertet
Frederik hat Pixel X e.K. bewertet
Iris S. hat Pixel X e.K. bewertet
Andreas C. hat Pixel X e.K. bewertet
Jean-Pierre K. hat KernelHost bewertet
simone hat Alfahosting GmbH bewertet
Noah hat KernelHost bewertet
Richard W. hat ServMedia.de bewertet
Daniel G. hat ESTUGO Webhosting bewertet
Mandy D. hat ikayano bewertet
Peter P. hat Alfahosting GmbH bewertet
Engelbert S. hat lima-city bewertet
F. R. hat HTML Design bewertet
Axel S. hat Celeros Online KG bewertet
Frauke B. hat ServMedia.de bewertet
Klaus M. hat Bitpalast® bewertet
Hasan B. hat ikayano bewertet
rene hat ikayano bewertet
Christoph �. hat Alfahosting GmbH bewertet
N. hat Onyxhosting.de bewertet

Mediapartner:
Webmaster Eye
hosttalk.de

Du bietest Hosting Leistungen an?

Über Hosttest.de

Hosttest stellt eine Plattform rund um das Thema Webhosting Vergleich dar. Dabei können Interessenten aus mehr als 800 Webhostern den für sie passendsten Webhoster anhand von über 5.000 Erfahrungsberichten und über 6.000 Angeboten zu Themen wie Webhosting Vergleich, Root-Server Vergleich, Vserver Vergleich und anderen Hosting-Produkten auswählen.

Zudem küren wir monatlich die TOP20 Webhoster in Deutschland bereits seit 2006.