JSON-Funktionen für MySQL

In einer Laborversion der relationalen Datenbank gibt es SQL-Funktionen zum Verarbeiten des im Web weit verbreiteten Datenformats. Bis zur Produktionsreife ist es aber noch ein weiter Schritt.

In Pocket speichern vorlesen Druckansicht 36 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Während der Konkurrent PostgreSQL schon seit einiger Zeit Funktionen für die Verarbeitung des JSON-Formats (JavaScript Object Notation) enthält, fehlen Oracles relationaler Datenbank MySQL solche Fähigkeiten bislang. Dass daran gearbeitet wird, geht aus einem Blog-Beitrag von Ulf Wendel hervor. Er beschreibt ausführlich die im MySQL-Labor angebotene JSON-Funktionen.

Implementiert sind sie bislang als User-defined Functions (UDF), die man in einen laufenden MySQL-Server lädt. Das funktionierte im Test auch mit einem MySQL 5.6.10, man muss also nicht unbedingt die kommende Version 5.7 verwenden.

Noch stecken in den UDFs jedoch etliche Fehler und Ungereimtheiten, wie Wendel zeigt. So bewertet JSON_VALID() die Konformität von Strings häufig falsch, das Suchen nach Werten funktioniert nicht zuverlässig und es fehlen Komfortfunktionen dafür, etwa reguläre Ausdrücke. Wendel kritisiert zudem die Nutzung von TEXT/BLOB-Spalten für das Speichern von JSON: Dadurch würden schon mittlere Dokumente außerhalb der aktuellen Speicherseite gespeichert, was zusätzlichen I/O hervorruft. Bis die Technik für den Produktivbetrieb taugt, sollten Interessenten intensiv testen und Bugs melden. (ck)