This entry is part 2 of 11 in the series MySQL Performance Serie

Das Herz der Datenbank ist, neben dem eigentlichen MySQL-Daemon, die verwendete Storage-Engine. Im Gegensatz zu vielen kommerziellen Datenbanken wie Oracle und DB2 ist diese bei MySQL entkoppelt vom eigentlichen Serverprozess.

Diese Architekturfeinheit bietet dem Anwender die Möglichkeit innerhalb eines Servers mehrer Engines mit unterschiedlichen Features zu verwenden und abhängig von seinen Bedürfnissen auszuwählen. Hier eine Liste der aktuell existierenden Engines:

  • MyISAM Storage Engine
  • InnoDB Storage Engine
  • MERGE Storage Engine
  • MEMORY (HEAP) Storage Engine
  • BDB (BerkeleyDB) Storage Engine (ab 5.1.12 nicht mehr unterstützt)
  • EXAMPLE Storage Engine
  • FEDERATED Storage Engine
  • ARCHIVE Storage Engine
  • CSV Storage Engine
  • BLACKHOLE Storage Engine

Auf die Feinheiten der einzelnen Engines einzugehen würde den Rahmen dieses Beitrags sprengen, jedoch ist der Unterschied zwischen den beiden meist verwendeten Engines MyISAM und InnoDB kurz zu beleuchten: InnoDB ist wie auch die BDB-Engine eine transaktionssichere Datenbank, welche beim parallelen Zugriff mehrerer Benutzer besser geeignet ist, da sie mit Hilfe von Row-Level-Locking und ACID-Transaktion die Datenkonsistenz sicherstellt und trotzdem gutes Antwortzeitverhalten liefert. Da MyISAM auf solche Features verzichtet und großzügig auch mal eine ganze Tabelle blockiert, ist sie für diese Anforderung ungeeignet, bietet aber wiederum im seriellen Zugriff, wie z.B. beim Reporting oder anderen Analyseverfahren eine meist bessere Leseperformance.

Da MySQL einen Mischbetrieb erlaubt kann man natürlich seine Tabellen den individuelle Bedürfnissen anpassen.

Im nächsten Teil geht es um den MySQL-Proxy.

Bernd Erk

Autor: Bernd Erk

Bernd ist einer der Geschäftsführer der NETWAYS Gruppe und verantwortet das Tagesgeschäft. Da er in einem früheren Leben mit Java und Oracle Datenbanken gearbeitet hat, kümmert er sich immer noch gerne um das Thema Reporting - sowohl bei NETWAYS, als auch im Icinga Team. In seiner knappen Freizeit streitet er sich mit seinem Sohn, wer das iPad gerade benutzen darf und widmet sich der Weiterverbreitung der gehobenen fränkischen Schaschlik-Kultur.