eBizTalk - Berichten, Unterhalten, Weiterbilden
Ob Branchendiskurs, Fachartikel oder ein Blick hinter die Unternehmenskulissen: eBizTalk ist die Plattform, die uns auffordert, unsere Leser über Events und Projekte auf dem Laufenden zu halten. Und uns gegenseitig natürlich auch.

SQL Server 2014 – “In Memory”

Veröffentlicht am 01.12.2014 von Ireen Raue , Custom Development

Mit dem neuen SQL Server ist eine In Memory-Technologie auch ohne teure Erweiterungen oder High End Geräte möglich – wenn auch nicht ganz ohne Einschränkungen…

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. 

Codename Hekaton

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.

 112414_1926_SQLServer202.png

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. 

Transaktionsleistungssammler

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:

  • kein ALTER einer bestehenden Tabelle hin zu einer ‚In-Memory’-Tabelle möglich, dies funktioniert nur über CREATE-TABLE à man muss eine neue Tabelle anlegen und die Daten migrieren
  • Hinzufügen eines Index nur beim Create der Tabelle möglich
  • keine Check oder Foreign Key Constrains möglich à damit zwingend über SPs erforderlich.
  • keine Nutzung von Trigger möglich
  • keine berechneten Spalten. 

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.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise