Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

Das Innodb-Plugin

Beim Innodb-Plugin aus dem Hause Innobase handelt es sich um eine weiterentwickelte Version der von MySQL mitgelieferten Innodb-Engine [7]. Zu den Verbesserungen zählen eine generelle Optimierung von CPU-Last und I/O-Zugriffen, ein schnellerer Locking-Mechanismus, erweiterte Konfigurations- und Reporting-Möglichkeiten sowie optionales Komprimieren von Tabellen.

Seit MySQL 5.1 ist es möglich, mitgelieferte Engines zu entladen und durch andere Versionen zu ersetzen. Beginnend mit MySQL 5.1.38 liefert MySQL das Innodb-Plugin zusätzlich aus. Da es von MySQL als Release Candidate betrachtet wird, muss der Admin es jedoch manuell aktivieren. Die offizielle MySQL-Dokumentation nennt die dafür notwendigen Schritte [8]. Es ist zu empfehlen, die jeweils aktuelle Innodb-Plugin-Version von der Innodb-Webseite einzuspielen – so kann der Anwender von der Kombination aus Distributions-Updates für den MySQL-Kern und den neuesten Funktionen und Optimierungen des Innodb-Plugins profitieren.

Ubuntu 10.04 liefert den MySQL-Server in der Version 5.1.41 aus. Im Verzeichnis »/usr/lib/mysql/plugin/« befindet sich standardmäßig ein nicht aktiviertes Innodb-Plugin in Version 1.0.4. Aktuell ist aber zurzeit Version 1.0.6. Diese kann der Anwender von der Innodb-Webseite herunterladen und entpacken. Die Datei »ha_innodb.so« kopiert er dann in das Verzeichnis »/usr/lib/mysql/plugin/« . Da Ubuntu standardmäßig Serverdienste per Apparmor schützt, muss er dies entweder deaktivieren oder anpassen, um das Laden von Inhalten aus dem Plugin-Verzeichnis zu erlauben. Der Regelsatz »/etc/apparmor.d/usr.sbin.mysqld« wird hierfür um folgende Zeilen erweitert:

/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/* mr,

Ein Neustart von Apparmor per »service apparmor restart« aktiviert die neuen Regeln. In der »my.cnf« aktiviert der Admin die Innodb-Engine und lädt das Innodb-Plugin, wie in Listing 2 zu sehen. In der Innodb-Plugin-Dokumentation sind ausführliche Informationen dazu zu finden. Das Error-Log des MySQL-Servers zeigt nach dem Neustart des Datenbankservers mit dem Innodb-Plugin 1.0.6 die in Listing 3 zu sehende Meldung.

Listing 3

Ohne und mit Innodb-Plugin

 

Listing 2

Innodb-Plugin in my.cnf

 

Komprimierte Tabellen

Ausführliche Informationen zu den Optimierungen und neuen Funktionen des Innodb-Plugins bietet die Dokumentation. Hervorstechend ist das neue Barracuda-Dateiformat. Es speichert im Gegensatz zum Standardformat Antelope die Innodb-Tabellen komprimiert. Das kostet zwar zusätzliche CPU-Zyklen, spart dafür aber – je nach Datenstruktur – mitunter viel I/O-Performance ein, da deutlich weniger Operationen auf der Festplatte/SSD erforderlich sind.

Ob sich der Wechsel zu Barracuda lohnt, muss jeder Admin durch Messungen ermitteln. Insbesondere Tabellen mit großen Text- und Blob-Feldern profitieren von der Komprimierung. Übrigens bietet Myisam seit Langem Tabellen im Compressed-Format. Allerdings können komprimierte Myisam-Tabellen nicht im Betrieb verändert werden.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2020