MYSQL / POSTGRESQL

MySQL vs. PostgreSQL – meine ehrliche Meinung nach 15 Jahren

Die ehrliche Antwort zuerst: PostgreSQL ist in fast allen technischen Bereichen besser als MySQL. Bessere Typen, echtes JSON-Handling, Arrays als nativer Datentyp, Window-Funktionen die sich intuitiv anfühlen, besseres Constraint-Handling, sauberere SQL-Konformität. Wer das bestreitet hat nicht beide ernsthaft benutzt.

Und trotzdem benutze ich für die meisten neuen Projekte immer noch MariaDB. Das ist kein Widerspruch – das ist Pragmatismus. Hier warum.

Das Hosting-Ökosystem entscheidet oft

Der typische Shared-Hosting-Anbieter in Deutschland liefert MySQL oder MariaDB. Managed WordPress-Hosting: MariaDB. Günstige VPS-Setups mit Plesk oder cPanel: MariaDB. Wer für einen Kunden eine Webanwendung baut und der Kunde will auf seinem bestehenden Hosting deployen, hat meistens keine Wahl. PostgreSQL ist auf Self-Hosted-Setups problemlos verfügbar – aber eben nicht überall vorinstalliert.

Was MySQL/MariaDB wirklich gut macht

Für standard Web-Workloads – viele einfache Reads, überschaubare Writes, relationale Daten ohne exotische Typen – ist MariaDB vollkommen ausreichend. Die Dokumentation ist exzellent, die Community riesig, Tutorials für jedes Problem gibt es zuhauf. Und MyISAM ist seit Jahren nicht mehr der Standard – InnoDB macht seinen Job ordentlich.

-- Was MariaDB gut kann: einfache, schnelle Reads SELECT u.name, COUNT(b.id) AS bestellungen FROM users u LEFT JOIN bestellungen b ON b.user_id = u.id WHERE u.aktiv = 1 GROUP BY u.id ORDER BY bestellungen DESC LIMIT 20; -- Mit Index auf (aktiv) und (user_id): schnell. Sehr schnell.

Wann ich PostgreSQL nehme

Wenn das Projekt JSON-Dokumente ernsthaft verarbeitet – nicht nur speichert, sondern abfragt, filtert, indexiert. Wenn ich Arrays als Datentyp brauche. Wenn komplexe Analytik-Abfragen mit Window-Funktionen nötig sind. Wenn Full-Text-Search über mehrere Felder sauber funktionieren muss. Und wenn ich die Kontrolle über den Server hab und nicht auf Hosting-Vorgaben angewiesen bin.

Fazit: beide kennen, beide richtig einsetzen. MySQL für den typischen Web-Werkzeugkasten, PostgreSQL wenn die Aufgabe es verlangt. Religiöser Eifer in die eine oder andere Richtung hilft dem Projekt nicht.


← zurück zu Datenbanken   📂 Archiv