Freie Datenbank MySQL: Release-Kandidat von Version 5.7 mit JSON

Im zweiten Release-Kandidaten der nächsten MySQL-Version finden sich unter anderem ein Ersatz für funktionale Indizes, ein JSON-Datentyp samt passenden Funktionen und ein neues Export-Tool.

In Pocket speichern vorlesen Druckansicht 37 Kommentare lesen
MySQL-Logo

(Bild: mysql.com)

Lesezeit: 2 Min.
Von
  • Christian Kirsch

Möglicherweise nähert sich das Veröffentlichungsdatum von MySQL 5.7: Oracle hat jetzt die als "2. Release-Kandidat" bezeichnete Version 5.7.8 veröffentlicht. Das Unternehmen arbeitet seit über zwei Jahren an diesem Update der freien Datenbank.

Eine der wichtigsten Neuerungen dürfte die JSON-Unterstützung sein, die erstmals im Oktober 2013 in MySQL auftauchte. Sie scheint nun hinreichend komfortabel und sinnvoll zu sein. So gibt es neben dem neuen Datentyp JSON etliche Funktionen, die Informationen darüber liefern (JSON_DEPTH, JSON_LENGTH etc.) und Werte in diesem Format erzeugen (JSON_OBJECT, JSON_ARRAY, JSON_MERGE). Hinzu kommen JSON_CONTAINS, JSON_KEYS und JSON_EXTRACT für das Suchen von Werten und Schlüsseln in JSON-Objekten sowie Methoden zum Ändern (unter anderem JSON_REMOVE, JSON_INSERT, JSON_REPLACE).

Bereits in MySQL 5.7.6 wurden "generated columns" eingeführt, deren Werte die Datenbank aus anderen Spalten errechnet. Dies kann wahlweise bei jedem Einfügen und Ändern geschehen ("materialized") oder erst beim Lesen ("virtual"). Erstere liefern auch bei nicht-deterministischen Funktionen wie NOW() bei jedem Lesen denselben Wert, letztere sparen Platz in der Datenbanktabelle. Mit dem jetzt veröffentlichten Release-Kandidaten lassen sich Indizes für solche virtuellen Spalten definieren, was dem in anderen Datenbanken verfügbaren funktionalen Index nahe kommt. Generated columns sind bislang nur für die Storage-Engine InnoDB verfügbar und unterstützen weder Volltext- noch Geowerte.

Als Ergänzung des altehrwürdigen mysqldump zum Ex- und Importieren von Datenbankinhalten gibt es nun mysqlpump. Es erlaubt das parallele Sichern mehrerer Datenbanken und ihrer Objekte, was den Prozess beschleunigen soll. Umgekehrt verläuft das Laden schneller, weil das Werkzeug sekundäre Indizes erst erzeugt, wenn alle Zeilen in die Tabelle eingefügt sind. Erstmals werden Benutzerdaten als SQL-Statements (CREATE USER etc.) exportiert, nicht mehr als Operationen auf internen MySQL-Tabellen. Als Backup-Tool taugt mysqlpump jedoch noch nicht, warnt Morgan Tocker in einem Blog-Eintrag: Es erzeugt bislang keinen Synchronisationspunkt vor dem Start des Exports, wodurch inkonsistente Daten entstehen können.

Einen Veröffentlichungstermin für MySQL 5.7 hat Oracle bislang nicht genannt. Die Vermutung liegt jedoch nahe, dass es auf der Ende Oktober in San Francisco stattfindenden Hausmesse "Open World" soweit sein könnte. (ck)