MySQL InnoDB, InnoDB Plugin vs. MYISAM

InnoDB bietet:

  • Transaktionen
  • Locking auf Zeilen Ebene
  • Speicherung in Tablespaces
  • Referenzielle Integrität
  • Primärschlüssel
  • Datensatz-Cache

InnoDB Plugin bietet zustätzlich:

  • Erweiterungen zur Performance und Skalierbarkeit

    • Schnelleres Locking für bessere Skalierbarkeit auf Multi-Prozessor-Systemen
    • Nutzung von mehren skalierbaren Memory Alloziierern
    • dynamische Kontrolle von INSERT Buffering, adaptive Hash-Indexierung und Thread-Nebenläufigkeit
  • Schnelle Index-Erstellung: Index erstellen oder löschen ohne Daten zu kopieren
  • Datenkompremierung, Verkleinerung von Tabellen zur Reduzierung von I/O und Speicherverbrauch
  • Neues Zeilenformat: fully off-page storage von long BLOB, TEXT und VARCHAR Spalten
  • Dateiformatmanager: Zuständig für Auf- und Abwärtskompatibilität
  • INFORMATION_SCHEMA Tabellen: Informationen über Kompression und Locking
  • Weitere Änderungen für erhöhte Flexibilität, bessere Handhabung und  Ausfallsicherheit

    • Dynamische Kontrolle über viele Konfigurationsparameter
    • TRUNCATE TABLE Wiederherstellung der *.ibd Datei um Speicher zurückzugewinnen
    • “Strict mode” um Fehler zu vermeiden
    • Kontrolle über die statistischen Beurteilungen des Optimizers
    • Besseres Error Handling wenn Indexe verworfen werden

Und MyISAM bietet:

  • Locking auf Tabellenebene
  • Speicherung in getrennten Dateien (eine pro Tabelle)
  • Volltextindizierung
  • Daten-Komprimierung

Den Status der Tabelle kann man mit folgendem Befehl ermitteln:

SHOW TABLE STATUS LIKE ‚Tabellenname‘

Zur Laufzeit ist es problemlos möglich den Typen der Datenbank-Tabelle zu ändern:

ALTER TABLE `tabellen_name` TYPE=MYISAM
ALTER TABLE `tabellen_name` TYPE=InnoDB

Fazit:
MyISAM dürfte noch einen Performancevorteil gegenüber dem InnoDB Plugin in haben. Für welchen Datenbanktyp man sich schließlich entscheidet liegt oft an der Art der Applikation, die darauf zugreift. Sollten Features wie z.B. Transaktionssicherheit keine Rolle spielen, dann kann die Entscheidung auf MYISAM fallen. Jedoch hat mich das neue InnoDB Plugin von den Features als auch von der Performance überzeugt, dass ich mich dafür entschieden habe.
Quellen:
http://www.innodb.com/products/innodb_plugin/features/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.