Über 5.500 Erfahrungsberichte von über 400 Hosting-Anbietern

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 phpMyAdmin & wofür brauche ich es?

Wir zeigen euch was phpMyAdmin ist und wofür es genutzt wird.

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
2* Managd Server Dediziert
Vor kurzem Beendet
Neuer vServer gesucht
Vor kurzem Beendet
Colocation Housing 1 x HE
Vor kurzem Beendet
Neueste Bewertungen
Jürgen M. hat HTML Design bewertet
Tanja hat 1&1 IONOS SE bewertet
Bernd hat server-provider.com bewertet
Denis B. hat Celeros Online KG bewertet
Felix hat server-provider.com bewertet
Ewald E. hat UD Media GmbH bewertet
Herb hat goneo bewertet
Max hat server-provider.com bewertet
Max hat server-provider.com bewertet
Max hat server-provider.com bewertet
Max hat server-provider.com bewertet
Kevin M. hat server-provider.com bewertet
David S. hat server-provider.com bewertet
Rudi R. hat server-provider.com bewertet
Manuel H. hat server-provider.com bewertet
Manfred G. hat server-provider.com bewertet
Michael L. hat server-provider.com bewertet
Alex S. hat Hoststar bewertet
Christoph H. hat server-provider.com bewertet

Mediapartner:
Webmaster Eye
hosttalk.de
Wir konnten bereits Hunderttausenden Webmastern helfen den passenden Hosting-Anbieter zu finden.
Über Hosttest.de

Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.

Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...