Dienstag, 30. August 2011

Technische Unterschiede PostgreSQL, MySQL, MariaDB - Teil 2

Teil 1 dieser Artikelserie ist hier:
http://miraspostgresqlwelt.blogspot.com/2011/08/technische-unterschiede-postgresql.html

MySQL und MariaDB

Zuerst möchte ich ein paar Worte zu MySQL und MariaDB verlieren.

MySQL hatte das große Pech, zweimal innerhalb von kürzester Zeit verkauft zu werden. Zuerst an Sun und danach hat Oracle Sun gekauft. Heute besitzt somit Oracle das Copyright für MySQL.

Monty Widenius war der Urentwickler von MySQL.

MariaDB ist ein Fork von MySQL, der vor dem Verkauf von Sun an Oracle von Monty gezogen wurde. Viele der Entwickler, die ursprünglich am MySQL Server selbst mitgewirkt haben, haben Sun bzw. Oracle verlassen und die meisten dieser Entwickler arbeitet heute im Monty- / MariaDB-Umfeld. Zum Glück sind nur wenige, wie ich selbst, abtrünnig geworden und arbeiten heute ganz woanders.

Zu dem Monty-/MariaDB-Umfeld gehören Dienstleistungsfirmen wie SkySQL (Finland), FromDual (Schweiz) und Percona (Amerika). Jede mit eigenen, individuellen Schwerpunkten. Ich nenne diesen Zusammenschluss auch gerne die Monty-Wolke.

MariaDB hat sich mitlerweile unabhängig und gut weiterentwickelt.

Natürlich ist vieles in MySQL und MariaDB gleich. Aber auch einiges bereits unterschiedlich. Sofern es notwendig ist, werde ich beide getrennt behandeln. An den Stellen, wo es keine Unterschiede gibt, werde ich sie unter einem Namen zusammenfassen. Wenn nicht beide explizit erwähnt werden, sondern nur einer, gilt die Aussage für beide.

Für mich persönlich ist MariaDB das eigentliche MySQL, da für mich ein Produkt
nicht nur aus dem Produktnamen sondern auch aus den Leuten, die dahinterstehen, besteht.

Storage Engines MySQL und MariaDB

Was wird zum Vergleich herangezogen?

MyISAM ist eine Storage Engine - die eine völlig andere Zielgruppe hat als PostgreSQL. MyISAM ist transaktionslos und kümmert sich mit Absicht nicht unbedingt um Eingabekontrolle. MyISAM ist nicht ACID-konform.

ARIA ist eine Neuentwicklung in MariaDB. Der Unterschied zu MyISAM ist, dass ARIA zumindestens jetzt schon Durable (das D aus ACID, crashsicher) ist.

InnoDB ist ACID-konform und unterstützt MVCC.

XtraDB ist ein InnoDB-Fork der Firma Percona, der stetig individuell und unabhängig von Percona weiterentwickelt wird. Percona hat hier zusätzlich grundlegende Patche, die von Google und Facebook zur Verfügung gestellt wurden, eingearbeitet.

XtraDB ist in MariaDB implementiert.

MyISAM und ARIA haben eine völlig andere Zielgruppe als PostgreSQL, InnoDB und XtraDB.

Auch PostgreSQL verfügt über einige Zusatzfeatures, mit denen andere Zielgruppen angesprochen werden.

Der Artikel beschränkt sich hier auf den Anwendungsbereich, in dem die Zielgruppe identisch ist. Es wird nur MySQL und MariaDB mit Einsatz von InnoDB bzw. XtraDB berücksichtigt.

InnoDB und XtraDB haben viele Gemeinsamkeiten. Auch hier werde ich nur von einem sprechen, solange es keine Unterschiede gibt. Auch hier gilt, wird nur einer erwähnt, gilt die Aussage für beide.

Fortsetzung folgt ...

Keine Kommentare:

Kommentar veröffentlichen