MySQL vs. Mariadb
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
MySQL vs. Mariadb
Da ich in einem anderen Thread die Frage gestellt hatte, warum mysql und nicht MariaDB würde ich es gerne in einem eigenen Thread besser erörtern.
Was mich überraschte, dass sich MariaDB und MySQL scheinbar soweit auseinander entwicklen, dass es nicht mehr kompatibel sei.
Das widerspricht such zu meinem bisherigen Kenntnisstand:
https://www.informatik-aktuell.de/betri ... idung.html
https://mariadb.com/kb/de/mariadb-vs-my ... atibility/
Da mein aktuellster Kenntnisstand war, dass MariaDB nun auch Innodb wieder vollständig unterstützen soll, keine Ahnung wo ich das gelesen habe, stelle ich also mal die ggf. Probleme hier zur Diskussion.
Leider zeigt sich, dass viele Distributionen sich sehr strickt für MariaDB entschieden haben, womit es vereinzelt Stolpersteine gibt, mysql zu installieren.
Was mich überraschte, dass sich MariaDB und MySQL scheinbar soweit auseinander entwicklen, dass es nicht mehr kompatibel sei.
Das widerspricht such zu meinem bisherigen Kenntnisstand:
https://www.informatik-aktuell.de/betri ... idung.html
https://mariadb.com/kb/de/mariadb-vs-my ... atibility/
Da mein aktuellster Kenntnisstand war, dass MariaDB nun auch Innodb wieder vollständig unterstützen soll, keine Ahnung wo ich das gelesen habe, stelle ich also mal die ggf. Probleme hier zur Diskussion.
Leider zeigt sich, dass viele Distributionen sich sehr strickt für MariaDB entschieden haben, womit es vereinzelt Stolpersteine gibt, mysql zu installieren.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: MySQL vs. Mariadb
Beide scheinen sich wohl wieder etwas angenähert zu haben (ich hatte den letzten Vergleich zu MySQL 5.7 Beta Zeiten betrachtet, da war er IIRC noch grösser), trotzdem sind noch teils signifikannte Unterschiede vorhanden:
https://www.eversql.com/mariadb-vs-mysql/ (kleine, unvollständige Zusammenfassung)
https://blog.panoply.io/a-comparative-vmariadb-vs-mysql
Hinzu kommen noch etliche kleinere Unterschiede, welche als Solche erstmal nicht relevant erscheinen, in Kombination mit Anderen aber durchaus spürbar werden könnten. Das ist natürlich immer stark von den zum Einsatz kommenden Apps und Workloads abhängig.
Persönlich bevorzuge ich nach wie vor MySQL, zumal ich mit MariaDB 5.6 leider mal beim Update richtig Schiffbruch (~4GB Daten futsch) erlitten habe, was mir bei MySQL seit 3.x in der Form noch nie passiert ist.
https://www.eversql.com/mariadb-vs-mysql/ (kleine, unvollständige Zusammenfassung)
https://blog.panoply.io/a-comparative-vmariadb-vs-mysql
Hinzu kommen noch etliche kleinere Unterschiede, welche als Solche erstmal nicht relevant erscheinen, in Kombination mit Anderen aber durchaus spürbar werden könnten. Das ist natürlich immer stark von den zum Einsatz kommenden Apps und Workloads abhängig.
Persönlich bevorzuge ich nach wie vor MySQL, zumal ich mit MariaDB 5.6 leider mal beim Update richtig Schiffbruch (~4GB Daten futsch) erlitten habe, was mir bei MySQL seit 3.x in der Form noch nie passiert ist.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 410
- Joined: 2008-03-12 05:36
Re: MySQL vs. Mariadb
MariaDB hatte einige Zeit XtraDB von Percona als InnoDB Ersatz mitgeliefert, allerdings glaube ich mich erinnern zu können dass wieder auf InnoDB zurückgeschwenkt wurde, Ton war wohl dass die Entwicklung bei InnoDB mittlerweile die Features von XtraDB bieten soll.
Zum Einsatz, hängt ganz vom Projekt ab. MariaDB mit Galera und fertig ist der Cluster, was bei Oracle Geld kostet, zumindest die native Lösung. Eine direkte 1:1 Migration wurde, aufgrund eher durchwachsener Testergebnisse, nicht produktiv durchgeführt und da bleibt es bei MySQL.
Für eine neue interne Lösung kam dann MariaDB zum Einsatz, mittles PAM / Kerberos das Ganze ans lokale AD ran und Nutzer hatten eine Stelle weniger, wo Passwört angepasst werden müssen.
Vermutlich dürfte es den meisten Web-Anwendungen allerdings egal sein, ob mit MySQL oder MariaDB "geredet" wird.
Fazit, bei neuen Projekten, gern MariaDB, sonst wird bei MySQL geblieben.
Die Inkompatibilität ist nach meinem bisherigen Kenntnisstand, solange keine MariaDB / MySQL spezifischen Features genutzt werden, wohl der Benamung der Bibliotheken geschuldet. So suchen diverse Binaries immer noch nach "libmysqlclient.so" während MariaDB hier ein "libmariadbclient.so" mitbringt. Diverse Distributionen habe dafür "compat" Pakete.
Zum Einsatz, hängt ganz vom Projekt ab. MariaDB mit Galera und fertig ist der Cluster, was bei Oracle Geld kostet, zumindest die native Lösung. Eine direkte 1:1 Migration wurde, aufgrund eher durchwachsener Testergebnisse, nicht produktiv durchgeführt und da bleibt es bei MySQL.
Für eine neue interne Lösung kam dann MariaDB zum Einsatz, mittles PAM / Kerberos das Ganze ans lokale AD ran und Nutzer hatten eine Stelle weniger, wo Passwört angepasst werden müssen.
Vermutlich dürfte es den meisten Web-Anwendungen allerdings egal sein, ob mit MySQL oder MariaDB "geredet" wird.
Fazit, bei neuen Projekten, gern MariaDB, sonst wird bei MySQL geblieben.
Die Inkompatibilität ist nach meinem bisherigen Kenntnisstand, solange keine MariaDB / MySQL spezifischen Features genutzt werden, wohl der Benamung der Bibliotheken geschuldet. So suchen diverse Binaries immer noch nach "libmysqlclient.so" während MariaDB hier ein "libmariadbclient.so" mitbringt. Diverse Distributionen habe dafür "compat" Pakete.
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: MySQL vs. Mariadb
Galera ist allerdings MySQL und nicht MariaDB (MariaDB hat lediglich eine Portierung vorgenommen) und auch für MySQL absolut kostenlos.
MySQL-Cluster ist allerdings ebenfalls Open-Source und kostenlos zu haben (https://dev.mysql.com/downloads/cluster/), weshalb ich jetzt nicht wüsste, welche Cluster-Lösung Oracle nur kostenpflichtig für MySQL anbietet.
Per PAM/Kerberos an AD geht mit MySQL ebenfalls:
https://dev.mysql.com/doc/refman/5.7/en ... ation.html
https://dev.mysql.com/doc/refman/5.7/en ... ation.html
Es spricht also nach wie vor Nix für MariaDB, es war für wenige Monate tatsächlich "besser", aber diese Zeiten sind längst vergangen und einige Distros/Maintainer sind mal wieder einem vorhersehbar kurzem Hype erlegen und haben nun den Salat, wie schon bei systemd und libressl, welche langfristig auch ein absehbarer Griff ins Klo gewesen sind...
MySQL-Cluster ist allerdings ebenfalls Open-Source und kostenlos zu haben (https://dev.mysql.com/downloads/cluster/), weshalb ich jetzt nicht wüsste, welche Cluster-Lösung Oracle nur kostenpflichtig für MySQL anbietet.
Per PAM/Kerberos an AD geht mit MySQL ebenfalls:
https://dev.mysql.com/doc/refman/5.7/en ... ation.html
https://dev.mysql.com/doc/refman/5.7/en ... ation.html
Es spricht also nach wie vor Nix für MariaDB, es war für wenige Monate tatsächlich "besser", aber diese Zeiten sind längst vergangen und einige Distros/Maintainer sind mal wieder einem vorhersehbar kurzem Hype erlegen und haben nun den Salat, wie schon bei systemd und libressl, welche langfristig auch ein absehbarer Griff ins Klo gewesen sind...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Moderator
- Posts: 1246
- Joined: 2011-07-04 10:56
Re: MySQL vs. Mariadb
Herje, ja das klingt nicht gut.
Ich wollte kürzlich auf einer Entwicklungsumgebung Mysql 8.0 verproben.
Das System hatte sich nach ca. 4 Wochen wegen RAM Verbrauch verabschiedet.
Die Installation war schon ziemlich unangenehm. Auf Opensuse Leap ist halt alles schon auf Mariadb fixiert.
In der Tat, der Schwenk von ExtraDB auf Innodb ist vollzogen. Ich denke auch, dass hier die Performance eine wesentliche Rolle spielt.
Ich wurde ja mal für meine Haltung gesteinigt:
Ich hielt es damals schon für gut, dass Mysql zu Oracle gewandet ist. Letztlich hat das Unternehmen sehr viel Erfahrung im Umfeld Datenbanken.
Ich wollte kürzlich auf einer Entwicklungsumgebung Mysql 8.0 verproben.
Das System hatte sich nach ca. 4 Wochen wegen RAM Verbrauch verabschiedet.
Die Installation war schon ziemlich unangenehm. Auf Opensuse Leap ist halt alles schon auf Mariadb fixiert.
In der Tat, der Schwenk von ExtraDB auf Innodb ist vollzogen. Ich denke auch, dass hier die Performance eine wesentliche Rolle spielt.
Ich wurde ja mal für meine Haltung gesteinigt:
Ich hielt es damals schon für gut, dass Mysql zu Oracle gewandet ist. Letztlich hat das Unternehmen sehr viel Erfahrung im Umfeld Datenbanken.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: MySQL vs. Mariadb
Finnish software engineer Michael “Monty” Widenius is the key figure behind the development of both MySQL and MariaDB. In 1995, together with the Swedish duo of David Axmark and Alan Larsson, Widenius formed his stock company MySQL AB, which (only one year after releasing the project for the first time) published its first open source database management system (DBMS) called MySQL. This consequently gave rise to their worldwide success. The system reached its peak in 2008 when it was sold to Sun Microsystems for 1 billion dollars.
In 2009, Wildenius left the software project together with other key MySQL developers and immediately began laying foundations for MySQL’s new project fork – MariaDB. The reason for Wildenius’ break-up with his previous project was the imminent take-over by Sun Microsystems lead by the highly controversial software giants Oracle in 2010. Widenius’ development team feared that Oracle would get into a conflict of interest with them if the giants were to redevelop the open source software – MySQL – as well as any proprietary database software.
According to Widenius, MariaDB should:
Keep talented team members contributing to the rise of MySQL under one roof
Promote the continuation of community development engines
See more here: https://www.ionos.com/digitalguide/host ... -vs-mysql/
And Here : https://tech1985.com/data-warehousing/
In 2009, Wildenius left the software project together with other key MySQL developers and immediately began laying foundations for MySQL’s new project fork – MariaDB. The reason for Wildenius’ break-up with his previous project was the imminent take-over by Sun Microsystems lead by the highly controversial software giants Oracle in 2010. Widenius’ development team feared that Oracle would get into a conflict of interest with them if the giants were to redevelop the open source software – MySQL – as well as any proprietary database software.
According to Widenius, MariaDB should:
Keep talented team members contributing to the rise of MySQL under one roof
Promote the continuation of community development engines
See more here: https://www.ionos.com/digitalguide/host ... -vs-mysql/
And Here : https://tech1985.com/data-warehousing/
-
- Administrator
- Posts: 2643
- Joined: 2004-01-21 17:44
Re: MySQL vs. Mariadb
Wir haben letztens eine große Webapplikation von MySQL auf MariaDB umgestellt. Die Applikation ist seit 17 Jahren in Betrieb, daher hat sich da eine gewisse Datenmenge angesammelt (~24GiB). Im Endeffekt haben wir keine allzu großen Probleme gehabt - die Verbindungen werden per Wildfly Connection Pool gemanaged, so dass wir nur an dieser Stelle umschalten mussten. Aufgrund des Alters der Applikation läuft alles noch auf MyISAM, was die Migration natürlich recht einfach gemacht hat.
Im Detail gab es aber doch Probleme, da einige Funktionen anders implementiert sind. Besonders RAND() ist uns da aufgefallen - formal ist die Funktion bei beiden gleich definiert, aber die Verteilung der gelieferten Zufallswerte unterscheidet sich deutlich. MySQL nutzt den Wertebereich gleichmäßiger aus, wohingegen bei MariaDB überproportional viele Werte < 0.5 geliefert werden. Natürlich handelt es sich bei beiden um Pseudo-Random Werte, die letztlich vorhersagbar sind, aber die Verteilungsqualität bei MariaDB ist problematisch und zwang uns, in den Applikationscode einzugreifen.
Im Detail gab es aber doch Probleme, da einige Funktionen anders implementiert sind. Besonders RAND() ist uns da aufgefallen - formal ist die Funktion bei beiden gleich definiert, aber die Verteilung der gelieferten Zufallswerte unterscheidet sich deutlich. MySQL nutzt den Wertebereich gleichmäßiger aus, wohingegen bei MariaDB überproportional viele Werte < 0.5 geliefert werden. Natürlich handelt es sich bei beiden um Pseudo-Random Werte, die letztlich vorhersagbar sind, aber die Verteilungsqualität bei MariaDB ist problematisch und zwang uns, in den Applikationscode einzugreifen.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: MySQL vs. Mariadb
Welcome back ;)
In der Richtung ist es auch meist relativ unproblematisch, aber andersrum (MariaDB zu MySQL) treten doch häufiger Probleme auf. Solltet Ihr also irgndwann mal wieder zurückmigrieren wollen, dann ist gründliches doppelt/dreifaches Testen und ggf. so gar ein temporärer Parralelbetrieb angeraten.Wir haben letztens eine große Webapplikation von MySQL auf MariaDB umgestellt. ...[snip]... Im Endeffekt haben wir keine allzu großen Probleme gehabt
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Anbieter
- Posts: 757
- Joined: 2004-01-02 12:17
Re: MySQL vs. Mariadb
Wie sieht es eigentlich bei der Benutzer-Rechteverwaltung aus, ist die bei beiden gleich oder gibt es Unterschiede? Ich überlege eine eigene Business Software zu schreiben (Cross-Platform-Programmierung) und muß demnächst mal testen was genau mit MariaDB, MySQL,Postgre geht oder nicht. (Bei Oracle wüsste ich das es geht, müsste da wohl aber mit Lizenzkosten rechnen.)
-
- Administrator
- Posts: 2643
- Joined: 2004-01-21 17:44
Re: MySQL vs. Mariadb
Die Rechteverwaltung ist bei beiden äußerlich gleich gelöst, auch wenn es Unterschiede im Hintegrund gibt - MySQL z. B. hat die PASSWORD() Funktion aus Sicherheitsgründen deprecated, während MariaDB sie immer noch nutzt. Allerdings glänzen beide nicht gerade mit als sicher geltenden KDFs wie scrypt oder Argon2 für die Bildung von Password Hashes. Meh.
PostgreSQL nutzt übrigens SCRAM-SHA-256 für Passwort-Authentifizierung, wobei der als angreifbar geltende PBKDF2 als KDF zum Einsatz kommt. Nicht optimal, aber besser als doppelte SHA-1 hashes, wie MariaDB sie immer noch einsetzt (und MySQL auch immer noch aus Rückwärtskompatibilität nutzen kann).
Ich bin für meine eigenen Projekte schon vor einer Weile auf Postgres umgestiegen - ist dichter am SQL ISO Standard, und vor allem unabhängig von Unternehmenspolitik. Wenn man mal ehrlich ist, würde meistens aber auch SQLite reichen
PostgreSQL nutzt übrigens SCRAM-SHA-256 für Passwort-Authentifizierung, wobei der als angreifbar geltende PBKDF2 als KDF zum Einsatz kommt. Nicht optimal, aber besser als doppelte SHA-1 hashes, wie MariaDB sie immer noch einsetzt (und MySQL auch immer noch aus Rückwärtskompatibilität nutzen kann).
Ich bin für meine eigenen Projekte schon vor einer Weile auf Postgres umgestiegen - ist dichter am SQL ISO Standard, und vor allem unabhängig von Unternehmenspolitik. Wenn man mal ehrlich ist, würde meistens aber auch SQLite reichen
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
-
- Anbieter
- Posts: 757
- Joined: 2004-01-02 12:17
Re: MySQL vs. Mariadb
Hm, für SQLite müsste ich eine Server Software programmieren was zuviel Aufwand wäre. Allerdings das die Sicherheit beim Login ein Problem ist hätte ich nicht gedacht, ausserdem scheint die Verschlüsselung des Table Space auch ein Problem zu sein. Deswegen schließe ich MySQL und MariaDB aus und schaue mir PostgreSQL an, denn soweit ich das im Hinterkopf habe sollte neben Table Space Verschlüsselung auch Certificate Authentication dort möglich sein. Danke @daemotron das hat mir mächtig Zeit gespart.
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: MySQL vs. Mariadb
Das kann MySQL, zumindest eingeschränkt, auch: https://dev.mysql.com/doc/refman/8.0/en ... e-user-tls
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.