Der SQL Server 2014 wurde im Februar 2014 in San Francisco offiziell freigegeben. Microsoft bietet ihn in drei Versionen an – “Standard” mit Basis-Datenbank, Reporting- und Analysefunktionen, “Business Intelligence” mit erweiterten Reporting- und Analysefunktionen und Self-Service-BI sowie “Enterprise” für geschäftskritische Anwendungen und Data Warehousing.
Die wohl entscheidende Erweiterung ist eine neue Technologie, die eine In Memory Verarbeitung der Daten ermöglicht. Hier kann auf Tabellen-Ebene entschieden werden, welche Daten im Arbeitsspeicher gehalten werden sollen. Dadurch wird die bestehende Hardware optimal ausgenutzt.
Die Datenbankengine dafür entstand unter dem Namen Hekaton. Hier wurde mit OLTP (Online Transaction Processing) eine Arbeitsspeicheroptimierung eingearbeitet, die es ermöglicht, einzelne Tabellen im Arbeitsspeicher zu halten und damit langwierige Lese- und Schreibzugriffe zu verringern.
Vereinfachte Darstellung der SQL Server Engine inkl. der In-Memory OLTP Komponenten
Das Wissen, welche Daten hochtransaktional sind, ist dafür grundlegend, das heißt das Nutzungsverhalten der DB sollte zu Beginn und auch später in regelmäßigen Abständen analysiert werden, um die relevanten Tabellen zu identifizieren. Auch hierfür werden entsprechende Analysetools angeboten.
Für die Migration bestehender Datenbanken stellt Microsoft das Tool AMR (Analysis, Migrate and Report) bereit, das die Tabellen analysiert, die sich für die Verlagerung in den Arbeitsspeicher eignen. Damit lassen sich gezielt diejenigen Tabellen in den Arbeitsspeicher verschieben, die hohe Zugriffe aufweisen. Dabei hat sich die Handhabung des Microsoft SQL Servers 2014 durch die neue Technologie kaum verändert. Tabellen können weiterhin mit den herkömmlichen SQL Statements abgefragt werden, unabhängig davon ob es sich um ganz normale oder ‚InMemory’-Tabellen handelt.
Über das SQL Management Studio 2014 ist auch die Analyse von z.B. 2008 SQL Server DBs möglich. So kann bereits im Vorfeld ermittelt werden, ob bei der Migration auf 2014 auch die ‚InMemory’-Technologie genutzt werden kann, da hierfür nicht alle Tabellen geeignet sind.
Zu dem Vorteil des schnelleren Zugriffs kommen ein paar Nachteile oder Stolpersteine, die eine Migration zu einer ‚InMemory’-Tabelle erschweren.
Dazu gehören unter anderem:
Außerdem muss die Arbeitsspeicherauslastung gut überwacht werden. Ist die Datenmenge größer als der verfügbare Arbeitsspeicher, wird ein Fehler geworfen. Um diesen Fall zu verhindern, gibt es neue Reports im SQL Server, die die Nutzung des Arbeitsspeichers zeigen.
Eine kostenlose Testversion von SQL Server 2014 können Interessierte bei Microsoft herunterladen oder in der Azure-Cloud ausprobieren.