Was ist der Unterschied zwischen MariaDB und MySQL?

82

Was ist der Unterschied zwischen MariaDB und MySQL? Ich bin nicht sehr vertraut mit beiden. Ich bin hauptsächlich ein Front-End-Entwickler.

Sind sie syntaktisch ähnlich? Wo unterscheiden sich diese beiden Abfragesprachen?

Wikipedia erwähnt nur den Unterschied zwischen der Lizenzierung:

MariaDB ist ein von der Community entwickelter Zweig der MySQL-Datenbank, dessen Antrieb darin besteht, dass die Community ihren kostenlosen Status unter der GPL beibehält, während der MySQL-Lizenzstatus unter dem derzeitigen Besitz von Oracle ungewiss bleibt.

chrisjlee
quelle
Dies könnte hilfreich sein: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Antworten:

95

MariaDB ist ein abwärtskompatibler, binärer Ersatz für MySQL . Was dies bedeutet ist:

  • Daten- und Tabellendefinitionsdateien (.frm) sind mit Binärdateien kompatibel.
  • Alle Client-APIs, -Protokolle und -Strukturen sind identisch.
  • Alle Dateinamen, Binärdateien, Pfade, Ports, Sockets usw. müssen identisch sein.
  • Alle MySQL-Konnektoren funktionieren unverändert mit MariaDB.
  • Das mysql-client-Paket funktioniert auch mit dem MariaDB-Server.

In den meisten praktischen Szenarien funktioniert MariaDB Version 5.xy genauso wie MySQL 5.xy, MariaDB folgt der Version von MySQL, dh die Versionsnummer gibt an, mit welcher MySQL-Version es kompatibel ist.

MariaDB wurde von Michael "Monty" Widenius, einem der ursprünglichen Entwickler von MySQL und Mitbegründer von MySQL Ab, als Fork von MySQL ins Leben gerufen. Die MariaDB Foundation ist die Depotbank von MariaDB.

Die Hauptmotivation für MariaDB bestand darin, eine Floss-Version von MySQL bereitzustellen, falls Oracle mit MySQL alle Unternehmen anspricht. Es ist erwähnenswert, dass Monty gegen die Übernahme von MySQL (über Suns Übernahme) durch Oracle war.

Obwohl MariaDB mit MySQL kompatibel sein soll, gibt es aus dem einen oder anderen Grund einige Kompatibilitätsprobleme und verschiedene Funktionen :

  • MariaDB beinhaltet alle gängigen Open Source Engines,
  • MariaDB behauptet mehrere Geschwindigkeitsverbesserungen gegenüber MySQL und
  • Es gibt ein paar neue Floss-Erweiterungen, die MySQL fehlt

    Schließlich stammt der Name von Montys Tochter Maria (die andere ist My), da MySQL nun eine eingetragene Marke der Oracle Corporation ist.

yannis
quelle
1
Vielen Dank für die sehr ausführliche Erklärung. Genau das, wonach ich gesucht habe.
Chrisjlee
5
MariaDB ist ausdrücklich nicht vollständig in SQL-99, wie auf der Seite, auf die diese Antwort verweist, nicht angegeben. Beispielsweise werden Behauptungen überhaupt nicht unterstützt, und CTEs haben es noch nicht zu einer stabilen Version geschafft. Die Geschichte ist für MySQL ähnlich.
Air
Ich glaube, die Links zu montyprogram dot com sind verrottet, aber ich habe keine Ahnung, wo Entsprechungen für diese Links online gefunden werden konnten.
Hay
MariaDB unterstützt InnoDB richtig? Warum ist es so geschrieben?
Paulson Peter
1
@PaulsonPeter Ja, MariaDB unterstützt InnoDB. Ich bin mir nicht sicher, worum es bei deiner zweiten Frage geht.
Yannis
15

Es ist eine Abzweigung - zwei separate Projekte, die von derselben ursprünglichen Codebasis ausgehen, sich jedoch in unterschiedliche Richtungen bewegen. Dies ist häufig bei Open Source-Projekten der Fall, bei denen Oracle die Sponsoren gekauft hat.

Nach meinem Verständnis wird MariaDB von den ursprünglichen MySQL-Entwicklern gepflegt und erweitert, und MySQL wird von Oracle gepflegt und erweitert. Es hängt davon ab, wen Sie diesen Job machen möchten.


quelle