GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist MySQL vs. MariaDB vs. Percona?

Illustration von Walker Cahall

Zielgruppe

In diesem Artikel wird davon ausgegangen, dass Sie mit Datenbanken und einigen Terminologien rund um ihre Funktionen zumindest oberflächlich vertraut sind.

Einführung

Datenbanken unterstützen jede Anwendung, und es gibt viele Möglichkeiten. MySQL ist seit langem eine beliebte Open-Source-Wahl; MariaDB und Percona sind jedoch zwei wichtige Code-Forks, die MySQL durch erweiterte Funktionen ersetzen können. Dieser Artikel bietet einen breiten Vergleich der drei.

MySQL

Bild:MySQL / Lizenziert unter CC BY-SA 3.0

MySQL ist ein weithin bekanntes, sehr beliebtes relationales Open-Source-Datenbankverwaltungssystem (oft als RDBMS abgekürzt). Sie wurde in den 1990er Jahren als hochverfügbare, zuverlässige Datenbank für webbasierte Anwendungen entwickelt. Obwohl es Open Source ist, gehört es Oracle, das es als kostenlose Community-Edition unter der GPL (GNU General Public License) und als kommerziell lizenzierte Version anbietet. Die Oracle-Version von MySQL ist eine gemeinsame Installation auf vielen Hosts, ein Teil der klassischen LAMP- und WAMP-Stacks und die Standarddatenbank für WordPress.

Seine Stärke liegt in seiner Langlebigkeit. Die Codebasis ist sehr stabil und zuverlässig für die Art von Webanwendungen, für die sie entwickelt wurde. Es gibt eine große Gemeinschaft von MySQL-Benutzern und -Administratoren und als Ergebnis eine große Sammlung von Informationen, die für MySQL veröffentlicht wurden, sowohl im Internet als auch in gedruckter Form.

Seine Schwächen im Vergleich zu den anderen beiden Datenbanken liegen in seiner Governance. Viele in der Open-Source-Community betrachten Oracle als blockierende Kraft für die Open-Source-Natur des ursprünglichen Projekts. Außerdem erfordern bestimmte Anwendungen aufgrund des dualen Lizenzmodells eine kommerzielle Lizenz.

MySQL vs. MariaDB/Percona

Als MySQL von Sun und dann von Oracle übernommen wurde, verließen Gruppen das Unternehmen, um ihre eigenen Forks des MySQL-Codes zu starten. Das bringt uns zu MariaDB und Percona. Beide sind als Drop-in-Ersatz für MySQL konzipiert. Anwendungen, die mit MySQL funktionieren, sollten auch mit diesen beiden Forks funktionieren. Obwohl es sich um Konkurrenten handelt, schöpft jeder Fork aus dem Open-Source-Code des anderen. MariaDB bietet beispielsweise die XtraDB-Engine von Percona an. Percona hat einige der Optimierungen und Thread-Pool-Verbesserungen von MariaDB übernommen. Beide wurden gegenüber dem Basis-MySQL verbessert, einschließlich der Behebung von Unterabfragen.

MariaDB

Bild:MariaDB / Lizenziert unter CC BY-SA 3.0

Der MariaDB-Fork neigt dazu, die Bandbreite der MySQL-Fähigkeiten zu erweitern, und ist beim Hinzufügen neuer Funktionen weniger konservativ als Percona. MariaDB hat darauf gedrängt, Fortschritte mit dem Abfrageoptimierer zu machen. Es ist möglicherweise die bessere Wahl, wenn Sie nicht feststellen können, welche Art von Abfragen Ihr Projekt regelmäßig benötigt. Einige andere Merkmale, die MariaDB auszeichnen, sind die folgenden:

  • MariaDB enthält eine größere Auswahl an Speicher-Engines als MySQL Base oder Percona, einschließlich jetzt einer NoSQL-Option mit Cassandra. Optional ist auch XtraDB von Percona enthalten.
  • Ab Version 10.1 bietet MariaDB eine Datenbankverschlüsselung auf der Festplatte.
  • MariaDB bietet Skalierbarkeitsfunktionen, einschließlich Multi-Source-Replikation, wodurch ein einzelner Server aus mehreren Quellen replizieren kann.
  • Die Interaktion der globalen Transaktions-IDs zwischen MariaDB und MySQL erfordert möglicherweise eine sorgfältige Implementierung, wenn Sie ein komplexes Replikationsschema planen, das MySQL-Varianten überbrückt. Beispielsweise ist es möglich, von MySQL 5.6 nach MariaDB 10.X zu replizieren, aber nicht umgekehrt.

Insgesamt ist MariaDB ein ausgereifter, zukunftsweisender Zweig von MySQL, der darauf abzielt, neue Funktionen und Weiterentwicklungen für die Datenbank anzubieten. Es eignet sich für große VPS-Hosting-Anwendungen mit mehreren Servern, insbesondere solche mit sich ändernden Abfragemustern, die den Optimierer von MariaDB nutzen können.

Percona-Server

Percona hat sich auf sehr anspruchsvolle Anwendungen mit seiner eigenen Hochleistungsalternative zur InnoDB-Speicher-Engine namens XtraDB konzentriert, einschließlich Instrumentierungstools, um sie zu optimieren. Ihre Funktionen tendieren zu Leistungs-, Verfügbarkeits- und Skalierbarkeitsverbesserungen für die größten Datenbanken mit dem höchsten Durchsatz. Auf ihrer Website behauptet Percona, aus Kompatibilitätssicht näher am Basis-MySQL-Code und konservativer als MariaDB zu sein. Weitere Merkmale, die Percona begünstigen, sind die folgenden:

  • In ihrem Streben nach Leistung bietet Percona mehr Zähler und Diagnosen, um die Leistung zu messen und die Datenbank zu optimieren.
  • Percona hat Skalierbarkeitsverbesserungen für große Datenbanken, einschließlich einiger Funktionen in ihrem kostenlosen Serverprodukt, die nur in der Enterprise-Ebene von MySQL verfügbar sind.
  • Percona hat auch zusätzliche Tools neben der DB-Engine, einschließlich eines XtraDB-Clusters und eines XtraBackup-Dienstprogramms.

Wie MariaDB ist Percona ein ausgereifter Open-Source-Zweig von MySQL. Ihr Fokus liegt mehr auf der Leistung der größten und anspruchsvollsten Datenbanken mit den Tools, um diese Leistung zu erreichen und aufrechtzuerhalten.

Also, was ist eigentlich besser?

Wie bei den meisten Dingen in der Technik lautet die Antwort „es kommt darauf an“. Ein Großteil der Debatte scheint eher ein zweistufiger Streit als ein Dreikampf zu sein. Die erste Stufe ist MySQL im Vergleich zu einem seiner Ersetzungen. Sie müssen entscheiden, ob Sie überhaupt eine Änderung benötigen. Die Forks verbessern das Basis-MySQL mit Leistungsverbesserungen und mit zusätzlichen Funktionen und Tools. Die Leistung wird umso wichtiger, je größer Ihre Datenbank ist, so dass kleine Datenbanken weniger wahrscheinlich viel von diesem Vorteil in den Forks sehen. Aber es könnte auch andere Gründe geben, sich für einen Ersatz zu entscheiden, wie z. B. Lizenzierung oder Datenflexibilität. Wenn Sie sich für einen Drop-in entscheiden, dann dreht sich die Diskussion um welchen.

Es wäre zu einfach, sich auch nur den obigen Vergleich anzusehen und zu sagen, dass MariaDB sich nicht um die Leistung kümmert oder dass der Optimierer in Percona unterdurchschnittlich ist. Das stimmt überhaupt nicht. Beide Gabeln zeichnen sich auf der grundlegenden Datenbankebene aus. Sie unterscheiden sich stärker, wenn Sie den Rand des Umschlags erreichen.

Was ist dann wichtiger? Wenn es um die Möglichkeit geht, flexible Datentypen über eine Reihe verschiedener Quellen hinweg zu speichern, sollten Sie sich zuerst MariaDB ansehen. Wenn Sie eine größere Datenbank haben, die dennoch eine schnelle Leistung erfordert, beginnen Sie Ihre Suche mit Percona. Ignorieren Sie den anderen Zweig trotzdem nicht vollständig. Einige ihrer Tools können aufgrund des gemeinsamen MySQL-Stammverzeichnisses mit beiden Zweigen arbeiten und könnten genau die Lösung sein, die Sie benötigen.

Wenn Sie aus MySQL herausgewachsen sind und in eine der Gabeln greifen möchten, aber nicht an der Spitze der Größe oder Flexibilität stehen, dann scheint die Entscheidung eine Geschmackssache zu sein. Welches Unternehmen bietet Ihnen die Dienste oder Tools an, die Sie ohnehin nutzen würden?

Sie sind sich immer noch nicht sicher oder möchten sich weiter vertiefen? Werfen Sie einen Blick auf einige der folgenden Vergleiche, die die Leute von MariaDB und Percona zusammengestellt haben.

  • Percona-Funktionsvergleich
  • MariaDB vs. MySQL-Funktionen
  • Merkmale von MariaDB 10

Linux
  1. MySQL vs. MariaDB:Was sind die Hauptunterschiede zwischen ihnen?

  2. Erstellen Sie eine neue Datenbank und verwenden Sie sie in MySQL/MariaDB

  3. Installieren Sie MariaDB auf CentOS 6.4

  4. So ersetzen Sie MySQL durch MariaDB unter CentOS 6

  5. Was ist das Standard-Root-Passwort für MySQL 5.7

Spickzettel für MySQL-Datenbankbefehle für Linux

Speichern Sie Kannel DLR in MySQL/MariaDB

So installieren Sie MySQL/MariaDB unter Debian 11

So ändern / setzen Sie das MySQL- oder MariaDB-Root-Passwort zurück

Wie man MySQL mit Percona und Keepalived multimastert

8 Schritte zur Installation von MirthConnect mit MySQL / MariaDB unter Linux