MariaDB vs. MySQL
MariaDB oder MySQL: Welches Datenbankmanagementsystem hat die Nase vorn? Stand bei MariaDB anfangs die Entwicklung eines Drop-in-Replacements mit hohen Open-Source-Community-Standards im Vordergrund, verfolgen beide Projekte aktuell ganz unterschiedliche Entwicklungsziele. Welche das sind, erfahren Sie bei uns.
- IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
- Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
- Rechenzentren in Deutschland: Ihre Daten sind sicher
MariaDB vs. MySQL – die wichtigsten Merkmale im Überblick
MySQL ist ein bewährtes Datenbankmanagementsystem, das Anwendenden als Open-Source-Software zur Verfügung steht und sich mit zahlreichen Enterprise-Erweiterungen ergänzen lässt. Das MariaDB-Entwicklungsteam um Michael Widenius hat das Beste der MySQL-Kernsoftware übernommen und um zahlreiche Features erweitert. Für wen sich der Umstieg von MySQL auf MariaDB lohnt, zeigt folgende Tabelle, die zentrale Merkmale beider DBMS gegenüberstellt.
Merkmal | MySQL 8.0 | MariaDB 11 |
---|---|---|
Erscheinungsjahr | 1995 | 2009 |
Entwickler | Oracle | MariaDB Corporation / Foundation |
Lizenz | GPL + proprietär | GPL v2 |
OS-Unterstützung | Linux, Windows, macOS | Breitere Linux-Unterstützung |
Replikation | GTID, Master/Slave | GTID, Galera Cluster |
Partitionierung | MySQL Cluster | Spider, Galera |
Rollenbasierte Kontrolle | Seit 8.0 | Seit 10.0.5 |
Authentifizierung | SHA-256 | ed25519 |
Verschlüsselung | InnoDB | InnoDB, Aria, Logs |
Firewall & Maskierung | Proprietär | Über MaxScale (BSL) |
Analysefunktionen | – | ColumnStore |
Backup | Enterprise Backup | MariaDB Backup (GPL) |
Datenbank-Engines | InnoDB, MyISAM … | + ColumnStore, MyRocks, Aria … |
SQL-/NoSQL-Schnittstellen | Ja / Ja | Ja / Ja |
Konnektoren | u.a. C, Java, PHP | + Excel, Swift, R |
Die Entwicklung von MySQL und MariaDB
Schlüsselfigur hinter MariaDB und MySQL ist der finnische Softwareentwickler Michael „Monty“ Widenius. Zusammen mit den Schweden David Axmark und Alan Larsson gründete Widenius das Aktienunternehmen MySQL AB, das 1995 die erste Version des quelloffenen Datenbankmanagementsystems (DBMS) MySQL veröffentlichte. Dies gipfelte 2008 im Verkauf des Software-Projekts an Sun Microsystems. Im Jahr 2009 verließ Widenius das Softwareprojekt zusammen mit anderen MySQL-Kernentwicklern und -Kernentwicklerinnen und konzentrierte sich fortan auf die Entwicklung des MySQL-Forks MariaDB. Das Entwicklerteam befürchtete, dass Oracle in einen Interessenkonflikt gerät, wenn das Unternehmen die Open-Source-Software MySQL und gleichzeitig auch eine proprietäre Datenbank-Software entwickelt.
Die Entwicklung des MySQL-Forks erfolgte zunächst durch die 2009 gegründete Monty Program AB. Diese fusionierte 2014 mit SkySQL zur MariaDB Corporation. Das Community-Projekt MariaDB Server wird von der MariaDB-Foundation entwickelt. MariaDB hat einen starken Fokus auf die offene Entwicklung. Im Vordergrund stehen zwei Grundsätze:
- Der Quellcode von sich in der Entwicklung befindlichen Programmteilen steht über öffentliche Repositorys zur Verfügung.
- Alle Entwicklungsschritte werden öffentlich dokumentiert.
Schaffen Sie ein sicheres „Zuhause“ für Ihre Webprojekte mit dem SQL Server Hosting von IONOS.
MariaDB vs. MySQL im Vergleich
Die Datenbank-Managementsysteme MySQL und MariaDB basieren auf demselben Software-Kern. MariaDB ist ein Fork (eine Abspaltung) von MySQL 5.1, hat sich im Laufe der Zeit aber zum eigenständigen Datenbank-Managementsystem entwickelt. Wir stellen die Unterschiede der aktuellen MariaDB- und MySQL-GA-Versionen (General Availability) MySQL 8.0.43 und MariaDB 11.8.2 gegenüber.
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support
Datenbankstruktur
Der Entwicklung von MariaDB liegt der Anspruch zugrunde, vollkommene Kompatibilität zur Datenbankstruktur sowie zu den APIs und Konfigurationsdateien von MySQL sicherzustellen, um Anwendern ein Drop-in-Replacement zu ermöglichen. Ein Upgrade von MySQL auf MariaDB oder andersherum soll genauso leicht möglich sein wie ein Upgrade zwischen zwei verschiedenen MySQL-Versionen.
Prinzipiell liegt beiden Datenbank-Managementsystemen dieselbe Datenbankstruktur zugrunde. Beide Systeme entsprechen dem relationalen Datenbankmodell. Bei Administrationsaufgaben und Backups kommen bei MariaDB seit Version 10.5 jedoch nicht mehr wie in MySQL mysqldump
oder mysqladmin
zum Einsatz, sondern mariadb-dump
und mariadb-admin
.
MariaDB hat sich als binärkompatibler 1:1-Ersatz für MySQL etabliert. Ab MySQL Version 8.0 ist diese Kompatibilität jedoch nicht mehr gegeben.
Datenbank-Engines
MariaDB möchte sich von MySQL zukünftig vor allem durch Flexibilität abgrenzen. Anwendern steht neben den von MySQL unterstützten Standard-Engines eine stetig wachsende Anzahl alternativer Datenbank-Engines für spezielle Anwendungsfälle zur Verfügung.
Bei einer *Datenbank-Engine handelt es sich um ein Speichersubsystem, das dem Datenbank-Managementsystem das Erstellen, Lesen, Aktualisieren und Löschen von Daten in Datenbanktabellen ermöglicht – siehe CRUD.
Folgende Tabelle zeigt die verfügbaren Datenbank-Engines für MySQL 8.0.43 und MariaDB 11.8.2 (laut Dokumentation).
Datenbank-Engine | MySQL 8.0.43 | MariaDB 11.8.2 | Beschreibung |
---|---|---|---|
InnoDB / XtraDB | InnoDB ist bei beiden Systemen Standard. XtraDB wurde in MariaDB bis 10.1 verwendet | ||
MyISAM | Veraltetes Speichersystem ohne Transaktionsunterstützung | ||
MEMORY | Für temporäre In-Memory-Tabellen mit schnellen Zugriffen | ||
CSV | Speichert Tabellen im CSV-Format | ||
Archive | Komprimiert Daten für Langzeitspeicherung | ||
BLACKHOLE | Nimmt Daten an, speichert sie aber nicht – dient zum Logging/Testing | ||
Merge | Führt mehrere MyISAM-Tabellen mit gleicher Struktur zusammen | ||
Federated / FederatedX | Zugriff auf entfernte Tabellen via Netzwerk (MariaDB: FederatedX) | ||
ColumnStore | Spaltenorientierte Engine für Analysen großer Datenmengen | ||
Aria | Transaktionssichere MyISAM-Alternative für temporäre Tabellen | ||
CONNECT | Zugriff auf externe Datenquellen wie CSV, XML, ODBC | ||
Sequence | Generiert Zahlenfolgen (z. B. 1, 2, 3 …) | ||
Spider | Sharding-Engine mit Unterstützung für XA-Transaktionen |
Datenbankabfragen
In der Anwendung unterscheiden sich MySQL und MariaDB nicht. Beide DBMS streben eine 100-prozentige Kompatibilität zur Datenbanksprache SQL an. Anwender nutzen identische SQL-Statements, um Datenbankeinträge zu erstellen, zu aktualisieren, abzurufen oder zu löschen.
Eine Einführung in grundlegende SQL-Statements bietet unser MySQL-Tutorial für Einsteiger.
Performance
Bietet MariaDB im Vergleich zu MySQL die bessere Performance? Benchmark-Tests wie der DBT-3 weisen darauf hin. Ausschlaggebend ist hierbei unter anderem, welche Datenbank-Engine zum Einsatz kommt. Benchmark-Tests für Setups mit unterschiedlichen Datenbank-Engines stellen beide Entwickler-Communitys auf den jeweiligen Projekt-Websites zur Verfügung.
MariaDB punktet hier nicht nur mit einer großen Auswahl alternativer Datenbank-Engines, sondern bietet auch einen effizienten Optimizer für SQL-Abfragen. Ab Version 10.0.1 setzt MariaDB bei der Optimierung von Abfragen nicht mehr auf interne Statistiken der jeweiligen Datenbank-Engine, sondern auf Engine-unabhängige Tabellenstatistiken. Diese werden als herkömmliche Tabellen in der Datenbank gespeichert und ermöglichen es, deutlich mehr Werte zu erfassen und auszuwerten, um einen idealen Plan für die Ausführung von SQL-Statements zu ermitteln.
In der Dokumentation von MariaDB finden Interessierte diverse Anleitungen zur Optimierung der Datenbank-Performance. Auch MySQL bietet umfangreiches Informationsmaterial zum Datenbank-Tuning an (Oracle-Web-Konto erforderlich).
Hochverfügbarkeit
Sowohl MySQL als auch MariaDB eignen sich für Szenarien mit verteilten Datenbanken. Um Anwendern hochverfügbare Systeme mit linearer Skalierbarkeit anbieten zu können, stellen beide Software-Projekte Cluster-Lösungen zur Verfügung:
- MySQL Cluster
- MariaDB Galera Cluster
MySQL Cluster ist eine ACID-konforme Echtzeit-Datenbank mit Multi-Master-Architektur ohne Single Point of Failure. Sie bietet bis zu 99,9999 % Verfügbarkeit, horizontale Skalierung auf Standard-Hardware, Auto-Sharding sowie SQL- und NoSQL-Schnittstellen.
MariaDB Galera Cluster ist seit Version 10.1 direkt integriert. Er basiert ebenfalls auf einer Multi-Master-Architektur und verwendet ausschließlich InnoDB (bzw. XtraDB). Für verteilte Datenbanken kommt außerdem MaxScale zum Einsatz. Der konfigurierbare Proxy zur Lastverteilung bietet Funktionen wie Failover, Caching, Read/Write-Splitting und Schutzmaßnahmen gegen DoS. Plugins ermöglichen die Anpassung und Filterung von Datenbankzugriffen.
Seit Version 2 steht MaxScale unter der Business Source License (BSL). Der Quellcode ist frei verfügbar, die Nutzung jedoch beschränkt. Nach drei Jahren wird die Lizenz automatisch zu einer GPL-ähnlichen Open-Source-Lizenz.
Sicherheit
Sowohl MySQL als auch MariaDB bieten Verschlüsselungsfunktionen für inaktive Daten (Data at rest). MySQL setzt eine Verschlüsselung der in der Datenbank gespeicherten Daten mithilfe der Datenbank-Engine InnoDB auf Tablespace-Ebene um. Eine Verschlüsselung einzelner Datenbanktabellen ist nicht möglich.
Bei Tablespaces (Tabellenräumen) handelt es sich um logische Speichereinheiten relationaler Datenbank-Engines wie InnoDB, die sämtliche Daten des Datenbanksystems enthalten. Jeder Tablespace beinhaltet mindestens eine Datafile – eine physische Datei des zugrundeliegenden Betriebssystems, in der sowohl Datenbanktabellen als auch Indizes gespeichert werden.
MariaDB hingegen bietet seit Version 10.1 deutlich differenziertere Verschlüsselungsfunktionen. Diese umfassen eine Data-at-rest-Verschlüsselung auf folgenden Datenbank-Ebenen:
- InnoDB-Tabellenräume
- InnoDB-Tabellen
- InnoDB-Logdateien
- Aria-Tabellen
- Temporäre Dateien
- Binäre Logdaten
Mit Rolling Encryption Keys bietet MariaDB zudem eine Funktion, die es ermöglicht, ein Ablaufdatum für Verschlüsselungsschlüssel festzulegen.
Beide Datenbankmanagementsysteme unterstützen den Key Management Service (KMS) von Amazon Web Services (AWS) via Plugin sowie SSL-verschlüsselte Verbindungen. Bei der Benutzer-Authentifizierung setzen MySQL und MariaDB ebenfalls auf ein Plugin-System. Das MySQL-Entwicklerteam stellt Anwendern mit sha256_password
und caching_sha2_password
zwei Authentifizierungs-Plugins zur Verfügung. Letzteres bietet neben der Standard-Authentifizierung via Secure Hash Algorithm ein serverseitiges Caching, das eine schnellere Re-Authentifizierung ermöglicht. Auch MariaDB setzt bis Version 10.1.21 mit SHA-1 auf den Secure Hash Algorithm. Seit 10.1.22 kommt das ed25519-Plugin zum Einsatz. Bei ed25519 handelt es sich um ein EdDSA-Signaturschema, das SHA-2 mit Curve25519 kombiniert.
Alleinstellungsmerkmal von MariaDB im Bereich Datenbanksicherheit ist die rollenbasierte Zugriffskontrolle Role Based Access Control, RBAC, die seit Version 10.0.5 nativ ins DBMS implementiert ist, die Verwaltung von Zugriffsrechten deutlich vereinfacht und Fehler bei der manuellen Rechtevergabe reduziert. MySQL hat dieses Feature jedoch mittlerweile nachgezogen: Seit MySQL 8.0.0 (2018) unterstützt auch MySQL Rollen (roles) als Teil seiner Benutzer- und Rechtemanagement-Funktionen.
Ökosystem
Mit dem dualen Lizenzsystem verfolgt Oracle bei MySQL eine Open-Core-Strategie. Während das Kernprogramm MySQL als Community-Edition mit öffentlichem Quellcode kostenlos zur Verfügung steht, werden diverse Erweiterungen für das Datenbank-Managementsystem nur in Kombination mit einer der kommerziellen Editionen angeboten. Dank einer starken Vernetzung mit der Open-Source-Community ist es dem MariaDB-Entwicklerteam jedoch möglich, Schnittstellen zu quelloffenen Alternativen für die meisten proprietären MySQL-Produkte in MariaDB zu implementieren.
Funktion | MySQL | MariaDB Server |
---|---|---|
Monitoring | MySQL Enterprise Monitor (proprietär) | Webyog Monyog (proprietär) |
Backup | MySQL Enterprise Backup (proprietär) | MariaDB Backup (Fork von Percona XtraBackup, GPL) |
SQL Management | MySQL Workbench (GPL/proprietär) | Webyog SQLyog (GPL/proprietär) |
Load Balancing & Routing | MySQL Router (GPL/proprietär) | MariaDB MaxScale (BSL) |
Firewall | MySQL Enterprise Firewall (proprietär) | MariaDB MaxScale (BSL) |
Support
Professioneller Support ist sowohl bei MySQL als auch MariaDB nur für zahlende Kunden und Kundinnen verfügbar. MySQL bietet über die kostenpflichtige Oracle Premier Support-Lizenz 24/7-Support, Patches, Updates sowie technische Beratung und Fehlerbehebung per Remote.
Die MariaDB Corporation stellt im Rahmen einer Subscription ebenfalls 24/7-Support, Sicherheits-Updates, Performance-Beratung und Migrationshilfe bereit – auch für MySQL. Da viele ursprüngliche MySQL-Entwicklerinnen und Entwickler heute bei MariaDB arbeiten, wirbt das Unternehmen mit besonders tiefem Know-how in beiden Systemen.
Dokumentation und Community
MySQL ist im Besitz der Oracle Corporation, die auf der offiziellen MySQL-Website eine umfangreiche Dokumentation aller quelloffenen MySQL-Projekte veröffentlicht. Darüber hinaus stehen der Nutzergemeinde folgende Möglichkeiten zur Verfügung, sich über MySQL zu informieren:
Verantwortlich für die Dokumentation von MariaDB ist die MariaDB-Foundation, die sich dabei auf die Nutzergemeinde stützt. Wer sich an der Entwicklung und Dokumentation von MariaDB Servern oder den quelloffenen Anwendungen des MariaDB-Ökosystems beteiligen möchte, findet auf der Website der MariaDB Foundation entsprechende Informationen.
Für welche Anwendungsfälle eignet sich MariaDB oder MySQL?
MariaDB eignet sich gut für interne Geschäftsanwendungen, die Sie ohne Lizenzkosten betreiben möchten. Viele Unternehmen nutzen MariaDB in Webplattformen, Content-Management-Systemen oder als Datenbank für Reporting und Analyse. Auch bei verteilten Systemen mit vielen gleichzeitigen Schreib- und Lesezugriffen zeigt MariaDB Stärken. Wenn Sie auf Linux-Servern arbeiten oder eine MySQL-Installation ersetzen wollen, profitieren Sie von der Kompatibilität und Erweiterbarkeit.
MySQL spielt seine Stärken in großen, stabilen Produktivsystemen aus. Typische Einsatzbereiche sind Online-Shops, Buchungssysteme, SaaS-Plattformen oder Finanzanwendungen mit hohen Anforderungen an Verfügbarkeit und Transaktionssicherheit. Wenn Sie Anwendungen in der Cloud betreiben – etwa auf AWS, Google Cloud oder Oracle Cloud – greifen Sie oft direkt auf MySQL zurück. Auch bei stark strukturierter JSON-Verarbeitung oder wenn Sie SLA-gedeckten Support brauchen, treffen Sie mit MySQL die passende Wahl.
Fazit MariaDB vs. MySQL
MySQL ist ein ausgereiftes Datenbanksystem mit starker Verbreitung. Viele Enterprise-Funktionen wie Monitoring, Backup und Sicherheit sind jedoch nur in kostenpflichtigen Editionen enthalten. MariaDB entstand als Fork von MySQL und hat sich als vollwertige Open-Source-Alternative etabliert. Viele Linux-Distributionen setzen standardmäßig darauf. Exklusive Funktionen wie MaxScale und ColumnStore zeigen die zunehmende Eigenständigkeit.
Die Entscheidung zwischen MySQL und MariaDB hängt letztendlich weniger vom Namen ab, sondern davon, welches System besser zu Ihrem Anwendungsszenario passt.
In weiteren Ratgebern haben wir außerdem MariaDB vs. PostgreSQL und MariaDB vs. MongoDB für Sie verglichen.