2016 ist ein Jahr voller Überraschungen. Auch in der Welt der Datenbanken. Daher möchte ich die weitreichendsten Neuerungen rund um Datenbanken kurz zusammenfassen.
MySQL und MariaDB werden modern
Bisher haben sich MySQL und MariaDB im Wesentlichen auf den Funktionsumfang von SQL-92 beschränkt. Nun haben sich beide entschlossen in der nächsten Hauptversion (MySQL 8.0, MariaDB 10.2) die Klauseln WITH
und OVER
zu unterstützen. Bei MariaDB kann man diese Funktionen in der aktuellen Beta-Version schon ausprobieren. In der MySQL „lab release“ ist bisher nur die WITH
-Klausel verfügbar.
Parallele Ausführung in PostgreSQL 9.6
Bei den kommerziellen Datenbanken ist es weit verbreitet, bei den Open-Source-Mitbewerbern aber ein Unikum: Seit Version 9.6 kann PostgreSQL einzelne Abfragen auch auf mehreren Prozessorkernen ausführen und damit moderne Hardware für datenintensive Abfragen besser nutzen. Version 9.6 kann nur in einigen speziellen Fällen parallelisieren – in den kommenden Versionen wird die Funktionalität jedoch schrittweise erweitert werden. Apropos kommende Versionen: Die nächste Hauptversion von PostgreSQL wird 10 heißen.
SQL Server auf Linux (Beta)
Die nächste SQL Server Version (momentan als „vNext“ bezeichnet) wurde als Betaversion vorgestellt. Auch auf Linux. Die Installation ist auf unterstützten Distributionen (Red Hat, Ubuntu) über den Packagemanager möglich. Darüber hinaus stellt Microsoft auf Docker-Images zur Verfügung. Die „What’s New“-Liste bleibt aus Entwicklersicht vorerst bescheiden – immerhin: STRING_AGG
kommt. Gleichzeitig mit der Beta von vNext wurde auch 2016 SP1 freigegeben. Dort findet man nun CREATE OR ALTER
.
Oracle 12cR2 vorerst nur in der Cloud
Einerseits wurde die Version 12.2 der Oracle-Datenbank vorgestellt, andererseits kann man sie noch nicht herunterladen. Nach Microsoft dürfte Oracle jetzt auch einer Cloud-First-Strategie zu folgen. Für Entwickler gibt es ohnehin nicht viel Neues. In Stichworten: Fehlerbehandlung für CASE
und LISTAGG
, approximative Aggregatfunktionen, bessere materialized Views und natürlich JSON. Die vollständige Liste findest du in der „New Features“-Dokumentation.
DB lernt OFFSET
– leider
Auch bei DB2 für Linux, UNIX und Windows (kurz LUW) gab es dieses Jahr mit 11.1 eine neue Version. Der Tenor bei den SQL-Erweiterungen ist Kompatibilität. Offenbar strebt IBM an, jeden SQL-Dialekt zu verstehen. Und so kommt es, dass DB2 nun auch SQL:2011 OFFSET
-Klausel ohne Aktivierung des MySQL-Kompatibilitätsvektors unterstützt. Ein schwerer Rückschlag für meine No-Offset-Bewegung.
SQLite lernt Row-Values
SQLite macht diesen Rückschlag wieder gut und unterstützt ab Version 3.15.0 Row-Values – jenes SQL-92 Konstrukt, das das Leben ohne OFFSET
oft vereinfacht. Wenn du mit No-Offset noch nichts anzufangen weißt, solltest du dir unbedingt diesen Artikel ansehen.