MySQL, MariaDB und Percona - Erkan Yanar im Gespräch
Erkan Yanar ist - neben seiner hauptberuflichen Projekttätigkeit - auch einer der bekanntesten Autoren und Sprecher auf Konferenzen rund um MySQL, MariaDB, Percona und Galera. Mit Informatik Aktuell sprach er über die weitere Entwicklung von MySQL und MariaDB.
Informatik Aktuell: Herr Yanar, Sie sind seit vielen Jahren im Projektgeschäft mit Schwerpunkten auch bei MySQL und MariaDB tätig. Was hat sich aus ihrer Sicht in den letzten Jahren verändert?
Erkan Yanar: Der Markt ist interessanter geworden. Neben technischen Neuerungen hat Oracles Kauf von Sun und damit von MySQL einiges geändert. Technische Neuerungen wie GTIDs, Performance_Schema, verbesserte Replikationstechniken und einiges mehr zeugen von einer stetigen Weiterentwicklung. Für eine gewisse Zäsur hat Oracles Übernahme gesorgt.
Informatik Aktuell: Wie äußert sich diese Zäsur? Und wie wirkt sie sich auf Nutzerinnen und Nutzer von MySQL aus?
Erkan Yanar: Auf eine gewisse Weise wurde MySQL gerade durch Oracle für einige Kunden interessant. Andere Kunden, die entweder eine Dual-Vendor-Strategie (mit MySQL und Oracle) oder eine reine OpenSource-Strategie fuhren, mussten sich umschauen. Da im Core MySQL weiter unter der GPL entwickelt wird, können Forks wie Percona und MariaDB ihre Version von MySQL entwickeln und die interessantesten Neuerungen von MySQL in ihr Produkt integrieren.
Informatik Aktuell: Welche Auswirkungen haben denn Forks wie MariaDB? Zeigt sich da, dass OpenSource-orientierte Leute eher den Weg von MySQL zu MariaDB gehen? Oder bleibt MySQL nach wie vor so stark vertreten wie zuvor?
Erkan Yanar: Ja, MariaDB erlebt viel Zulauf. Die Redhat Familie (RHEL, Centos und Fedora) wie auch (Open)SuSE haben schon MySQL durch MariaDB ersetzt. Sowohl Debian als auch Ubuntu verwenden MySQL als default. So ist zu erwarten, dass der Anteil von MySQL-Installationen, welche auch MariaDB-Installationen sind, stetig steigen wird. Aber größere Kunden von mir wechseln aktiv zu MariaDB.
Informatik Aktuell: Wird sich denn MySQL in der jetzigen Form als Teil von Oracle überhaupt halten können? Welche Entwicklung erwarten Sie da?
Erkan Yanar: MySQL ist profitabel. Die bisherige Gangart von Oracle war es, nie profitable Bereiche zu entsorgen. Mein persönliches Problem ist eher die Planungssicherheit. Schon jetzt sind einige Features wie Thread-Pool oder das Audit-Plugin nur in der Enterpriseversion (also nicht GPL) enthalten. Der Vertrag mit der EU über die offene Entwicklung läuft noch in diesem Jahr aus. Was das heißt, ist nicht klar. Oracle steckt viel Energie in die Entwicklung von MySQL, ignoriert aber Entwicklungen in der Community. So finden sich in MariaDB Erweiterungen wie Galera (einer synchronen Multi-Master Replikation), TokuDB (eine Storage Engine für schnelle und kompakte Schreibperformance) und vieles mehr. Unter anderem auch eigene Thread-Pool- und Audit-Plugin-Implementierungen, welche im Gegensatz zu Oracle unter der GPL stehen, also OpenSource sind. Während bei Oracle der Focus der MySQL-Entwicklung MySQL als Webdatenbank ist, ist MariaDB viel offener.
Informatik Aktuell: Was empfehlen Sie angesichts dieser Entwicklung? Wie sollen Nutzerinnen und Nutzer von MySQL damit umgehen? Welche Strategie empfiehlt sich?
Erkan Yanar: Wie anfangs angedeutet hat sich der Kreis der Nutzer durch die Übernahme von MySQL durch Oracle vergrößert. Ich als OpenSource-Enthusiast plädiere für MariaDB (oder auch Percona). Wohl wissend, dass viele gute Änderungen in MySQL auch von MariaDB übernommen werden. Aber auch die Verwendung von MySQL in der OpenSource-Version kann sinnvoll sein. Da z.B. das von mir gemochte Optimizer Trace nicht nach MariaDB übernommen wurde. Der Vorteil der Verwendung der OpenSource Version ist die fehlende Abhängigkeit von Oracle durch den Zwang entsprechend Lizenzen zu erwerben. Wobei ein empfohlener Support weiterhin von Oracle oder aber auch von Mitbewerbern eingekauft werden kann. Nutzer, denen das Thema OpenSource unwichtig ist, finden in MySQL (Enterprise) weiterhin eine gute Datenbank, die viel Aufmerksamkeit von Oracle erfährt. Aber auch hier lohnt es sich, Funktionalitäten zu vergleichen. Für eigene Projekte fehlt mir bei MySQL die langfristige Planungssicherheit in puncto OpenSource.
Informatik Aktuell: Welche Hürden und Herausforderungen sind denn beim Wechsel von MySQL zu MariaDB oder Percona zu erwarten? Hält sich der Aufwand im Rahmen oder muss man dazu einiges in die Hand nehmen?
Erkan Yanar: Bis MySQL 5.5 ist ein Wechsel schon durch den Tausch der Binaries erledigt. Ab MySQL 5.6 wird es interessanter. Wenn Implementierungen von Features verwendet werden, die zwischen MariaDB und MySQL unterschiedlich sind - wie z.B. die GTID - ist es etwas komplizierter. Der Wechsel von MySQL 5.6 zu Percona 5.6 wiederum ist denkbar einfach. Was vor allem daran liegt, dass Percona nahe am MySQL-Original bleibt.
Informatik Aktuell: In den Fällen, in denen es kompliziert ist, ist der Wechsel aber dennoch möglich? Gibt es Konstellationen, für die von einem Wechsel abzuraten ist?
Erkan Yanar: Derzeit gibt es in MariaDB nichts wie den optimizer trace oder EXPLAIN FORMAT=JSON. Wem das am Herzen liegt, sollte bei MySQL bleiben. Der größte Unterschied ist derzeit bei der jeweiligen Implementierungen der GTIDs.
Informatik Aktuell: Gibt es eigentlich auch Projekte, bei denen von MySQL zu Oracle Database oder umgekehrt migriert wird? Oder ist das eher die Ausnahme?
Erkan Yanar: Oh, das ist wohl eher die Ausnahme. Einmal hatte ich ein Projekt, in dem aufgrund fehlender Zertifizierungen für MySQL migriert werden sollte. Aber auch hier wurde nicht migriert.
Informatik Aktuell: Wie wird die weitere Entwicklung bei MariaDB aussehen? Was ist hier zu erwarten?
Erkan Yanar: Ein großer Schritt wird die Integration von Galera, einer synchronen Multi-Master-Replikation, sein. Galera gibt es schon jetzt als separates MariaDB-Paket, aber ab MariaDB 10.1 wird Galera Bestandteil sein. Die Entwicklung von MariaDB wird zweigleisig sein. Die guten Änderungen von MySQL werden übernommen und eigene Features weiterentwickelt. So steht (endlich) windowing support auf der Roadmap.
Im Großen und Ganzen ist zu erwarten, dass viel Energie auch in die bestehenden Features gesteckt wird. Features die leider noch nicht weit verbreitet sind. Wie z.B. das Rollenkonzept, SpiderSE (automatisches Sharding), ConnectSE (zugriff auf externe - auch ODBC - Quellen) und, und, und.
Informatik Aktuell: Dann noch eine letzte Frage, Herr Yanar. Auf welcher Konferenz sehen wir Sie denn als nächstes? Was haben Sie in nächster Zeit geplant?
Erkan Yanar: Wer mich in puncto MySQL sehen will, kann dies als nächstes auf der DOAG machen. Dort halte ich einen Vortrag über die Genese der MySQL-Replikation von den Anfängen zu den upcomming Features in MySQL 5.7 und MariadDB 10.1.
Informatik Aktuell: Herr Yanar, vielen Dank für das Gespräch.