MySQL oder PostgreSQL? Auf die Anwendung kommt es an!
Kommentare

Frustriert darüber, dass die Lager immer nur aus der eigenen Perspektive über die jeweilige Datenbank reden, hat Chris Travers versucht, neutral darzulegen, in welchen Szenarien PostgreSQL oder MySQL

Frustriert darüber, dass die Lager immer nur aus der eigenen Perspektive über die jeweilige Datenbank reden, hat Chris Travers versucht, neutral darzulegen, in welchen Szenarien PostgreSQL oder MySQL die bessere Wahl sind.

So sagt er, dass PostgreSQL sehr konservativ mit Daten umgeht und auf Multi-Application-Umgebungen optimiert ist, wohingegen MySQL mit Fehlern rechnet und unzulässige Eingaben oft übergeht. Letzteres lässt sich über Plug-ins beheben, was Anwendbarkeit erhöht, jedoch oft nicht die Datensicherheit.

Über nachrüstbare Tabellensysteme wie InnoDB oder BDB erst wird es in MySQL möglich, Datenbanktransaktionen oder Typen-Validierung den Ansprüchen der Anwendung entsprechend anzupassen. Zusätzliche SQL-Modi erlauben es, die Sprache mit einem eigenen Dialekt zu versehen und weiter für die individuellen Bedürfnisse zurechtzubiegen.

PostgreSQL hingegen, das bei der UC Berkeley unter dem Namen Postgres begann, fußt auf einem objektrelationalen Datenmodell. Ziel ist dabei gewesen, Datentransfers und Speicherbedarf auf ein Minimum zu reduzieren und dabei möglichst vielen Anwendungen den Zugriff auf dieselben Relationen zu verschaffen. Letztere liegen als SQL-API vor. Und Funktionen dazu können in etlichen Sprachen zur Verfügung gestellt werden. Damit verschwimmen die Grenzen zwischen Datenbank und Middleware, da ein Gros der Business-Logic bereits auf Datenbank-Ebene abgewälzt werden kann.

Somit bieten MySQL und PostgreSQL unterschiedliche Formen der Flexibilität: Bei MySQL legt der Entwickler fest, an welche Richtlinien der Anwendung die Datenbank sich halten muss, während PostgreSQL die Möglichkeit einräumt, das komplette Datenmodell selbst zu gestalten. Travers schließt seinen Vergleich ab mit den Worten:

MySQL is designed with the idea that applications provide logic and the database provides dumb storage of the application’s state.

[…]

PostgreSQL, on the other hand, is designed with the idea that the database itself is a modelling tool, and that the applications interact with it over an API defined in SQL.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -