MySQL vs. Mariadb

MySQL, PostgreSQL, SQLite
ddm3ve
Moderator
Moderator
Posts: 1246
Joined: 2011-07-04 10:56
 

MySQL vs. Mariadb

Post by ddm3ve »

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.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: MySQL vs. Mariadb

Post by Joe User »

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.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
User avatar
rudelgurke
Posts: 410
Joined: 2008-03-12 05:36
 

Re: MySQL vs. Mariadb

Post by rudelgurke »

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.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: MySQL vs. Mariadb

Post by Joe User »

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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
ddm3ve
Moderator
Moderator
Posts: 1246
Joined: 2011-07-04 10:56
 

Re: MySQL vs. Mariadb

Post by ddm3ve »

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.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
datawarehousing
 

Re: MySQL vs. Mariadb

Post by datawarehousing »

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/
User avatar
daemotron
Administrator
Administrator
Posts: 2643
Joined: 2004-01-21 17:44
 

Re: MySQL vs. Mariadb

Post by daemotron »

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.
“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
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: MySQL vs. Mariadb

Post by Joe User »

Welcome back ;)
Wir haben letztens eine große Webapplikation von MySQL auf MariaDB umgestellt. ...[snip]... Im Endeffekt haben wir keine allzu großen Probleme gehabt
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.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
jan10001
Anbieter
Posts: 757
Joined: 2004-01-02 12:17
 

Re: MySQL vs. Mariadb

Post by jan10001 »

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.)
User avatar
daemotron
Administrator
Administrator
Posts: 2643
Joined: 2004-01-21 17:44
 

Re: MySQL vs. Mariadb

Post by daemotron »

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 :joy:
“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
jan10001
Anbieter
Posts: 757
Joined: 2004-01-02 12:17
 

Re: MySQL vs. Mariadb

Post by jan10001 »

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.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: MySQL vs. Mariadb

Post by Joe User »

jan10001 wrote: 2022-06-05 21:11... auch Certificate Authentication dort möglich sein. ...
Das kann MySQL, zumindest eingeschränkt, auch: https://dev.mysql.com/doc/refman/8.0/en ... e-user-tls
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.