SQL Server 2016

Microsoft will Oracle Datenbankkunden abjagen

Thomas Joos ist freiberuflicher IT-Consultant und seit 20 Jahren in der IT tätig. Er schreibt praxisnahe Fachbücher und veröffentlicht in zahlreichen IT-Publikationen wie TecChannel.de und PC Welt. Das Blog von Thomas Joos finden Sie unter thomasjoos.wordpress.com.
Microsoft hat seinen neuen SQL Server 2016 gestartet. Der Hersteller wirbt mit verbesserten Analytics-Funktionen, integrierter In-Memory-Technik sowie mehr Möglichkeiten, andere Datenquellen anzubinden. Als Werbe-Coup will Microsoft wechselwilligen Oracle-Anwendern bis Ende Juni 2016 die SQL-Lizenzen kostenlos abgeben.

Der SQL Server 2016 ist aus den Startlöchern und bietet vor allem im Bereich Business Intelligence und Analyse-Funktionen wichtige Neuerungen. Mit dem neuen Datenbank-Release verbessert Microsoft auch Technologien, die bereits in SQL Server 2014 integriert waren, zum Beispiel In-Memory-Technologien. Bei dieser Technik werden häufig verwendete Tabellen direkt im Arbeitsspeicher abgelegt, und sind auf diesem Weg schneller verfügbar. Außerdem hat Microsoft nach eigenen Angaben die Sicherheit und die Anbindung an die Cloud seines neuen RDBMS (Relational Database Management System) verbessert.

Seit dem ersten Juni 2016 ist der neue SQL Server von Microsoft offiziell verfügbar. Das System wird in den kostenpflichtigen Editionen "Enterprise" und "Standard" sowie den frei verfügbaren Varianten "Developer" und "Express" ausgeliefert. Die bereits angekündigte Linux-Version des SQL Server 2016 soll Microsoft zufolge Mitte kommenden Jahres herauskommen.

Speziell zum Markteintritt hat Microsoft ein spezielles Angebot für Anwender geschnürt, die konkurrierende Datenbanksysteme einsetzen. Microsoft bietet Kunden, die von Oracle-Datenbanken zu SQL Server 2016 migrieren wollen, bis Ende Juni 2016 die notwendigen SQL Server-Lizenzen kostenlos dazu. Einzige Bedingung: Sie müssten eine Software Assurance mit Microsoft abschließen. Zudem umfasst das Angebot dem Hersteller zufolge Unterstützung bei der Migration sowie Zugriff auf die SQL Server-Essentials von Microsoft für die Oracle-Datenbankadministratorschulung. Im offiziellen SQL-Server-2016-Blog behaupten die Microsoft-Verantwortlichen, mit dem neuen SQL Server könnten Anwenderunternehmen vergleichbare Workloads rund um das Data Warehouse, Datenintegration, Business Intelligence sowie Advanced Analytics etwa zu einem Zehntel der Kosten eines entsprechenden Oracle-Systems bearbeiten.

Microsoft behauptet, ein mit dem neuen SQL Server 2016 vergleichbares Oracle-Datenbanksystem sei fast um den Faktor 12 teurer.
Microsoft behauptet, ein mit dem neuen SQL Server 2016 vergleichbares Oracle-Datenbanksystem sei fast um den Faktor 12 teurer.
Foto: Microsoft

Echtzeitdatenanalyse und In-Memory-Verarbeitung

Arbeiten Anwender bisher mit einem Business-Intelligence-System auf Basis von SQL Server, erhält dieses in den meisten Fällen seine Daten zur Verarbeitung zu bestimmten Zeiten, häufig nur einmal Tag. Im SQL Server 2016 gibt es jetzt die Möglichkeit, in Echtzeit auf Basis von In-Memory-ColumnStore und In-Memory OLTP auf die Quelldaten des Data Warehouse zuzugreifen. Eine Analyse dieser Daten im BI-System ist jetzt daher in Echtzeit möglich.

Whitepaper: Der Nutzen des Chief Data Officers

Der Chief Data Officer (CDO) wird immer öfter zu einer zentralen Führungkraft in Unternehmen auf der ganzen Welt. Der Grund ist die zunehmende Relevanz von Daten. Denn Daten sind überall und allgegenwärtig; sie untermauern jede Transaktion, jeden Betrieb und jegliche Interaktion innerhalb und außerhalb von Organisationen. Daten sind aber auf eine Infrastruktur angewiesen, sie müssen gespeichert, archiviert, analysiert und gesichert werden. Dafür braucht es den CDO. In dieser IBM-Studie wird die Rolle des CDO durchleuchtet und gezeigt, welche Vorteile Unternehmen konkret von ihm haben.

Dazu werden in der neuen SQL-Version die Echtzeitanalyse-Funktionen und In-Memory-Konfigurationen direkt in die Datenbank integriert. Anwendungen, die auf dieser Datenbank aufbauen, zum Beispiel um die Daten zu analysieren, nutzen die gespeicherten Daten transparent. Das heißt, die Analyse-Anwendungen selbst müssen den Echtzeitanalyse-Prozess nicht unterstützen, da die zu Grunde liegende Datenbank die Technik selbst verwaltet.

SQL Server 2016 unterstützt natives JSON. Anwender können also direkt aus Datenbanken heraus JSON-Dateien erstellen und in anderen Anwendungen weiter nutzen. Interessant dazu ist auch der Query Data Store. SQL Server 2016 überwacht und optimiert Abfragen und kann diese für spätere Verwendungen weiter speichern.

Umfassende Datenverschlüsselung - auch in der Cloud

Mit dem SQL Server 2016 will Microsoft auch die Sicherheit der Daten erhöhen. Während sich in den Vorgängerversionen die Daten nur auf der Festplatte verschlüsseln ließen, haben Anwender mit SQL Server 2016 auch die Möglichkeit, Daten während der Verwendung zu verschlüsseln. Auch rund um In-Memory-Technologien spielt die Sicherheit eine wichtige Rolle. Hier lassen sich jetzt ebenfalls Daten im laufenden Betrieb verschlüsseln, ohne dass die Leistung einbricht. In-Memory-Tabellen auf OLTB-Basis unterstützen im SQL Server 2016 die sogenannte "Transparente Datenverschlüsselung" (TDE). Das heißt, auch im Arbeitsspeicher abgelegte Tabellen werden umfassend verschlüsselt.

Nutzen Anwender verschlüsselte Daten mit lokalen SQL-Servern und replizieren diese über das Internet in die Cloud, werden diese Daten zu keinem Zeitpunkt entschlüsselt. Das heißt, von der Speicherung, über die Replikation, bis hin zum Übertragen in die Cloud, bleiben die Daten verschlüsselt.

Speichern Nutzer zum Beispiel heikle Daten, wie Informationen von Patienten in einer Datenbank, lassen sich die jeweiligen Spalten verschlüsseln. Die Anwendungen, die auf eine solche verschlüsselte Spalte zugreifen, können natürlich die verschlüsselten Daten verwenden, allerdings können Angreifer die abgefragten Daten nicht abfangen, da sie auch beim Übertragen zwischen Datenbank und Anwendung verschlüsselt bleiben. Die Anwendungen, die auf die verschlüsselten Daten zugreifen, erhalten den Zugriffsschlüssel. Der Schlüssel ist in der Anwendung gespeichert, auch Administratoren haben keinen Zugriff auf diesen Schlüssel. Erst in der Anwendung werden die Daten lesbar gemacht.

Werden Daten in Tabellen geändert, kann der SQL Server 2016 die veränderten Daten als Versionen speichern. Ähnlich wie in SharePoint, lassen sich jetzt also auch für Datenbanken und die Tabellen Versionen anlegen und so die Änderungen nachverfolgen. Die überschriebenen Daten werden in "Temporal Tables" gespeichert und sind auch für Abfragen verfügbar. Im Gegensatz zu "Temporary Tables", sind Temporal Tables auch nach dem Neustart vorhanden. Die Tabellen dienen also dem Speichern von Verlaufsdaten.

Auch in Berichten und für die Analyse lassen sich überschriebene Daten nutzen. Interessant ist das zum Beispiel, wenn Anwender Namen von bestimmten Produkten ändern und Berichte erstellen, die den alten und neuen Namen verwenden sollen.

Sicherheit in Abfragen und Datenmaskierung

Administratoren können Filter in den Datenbanken hinterlegen, in denen festgelegt ist, dass Anwender bestimmte Daten nicht angezeigt bekommen, auch wenn Abfragen die Daten anzeigen würden, da sie in das Abfrage-Schema passen. Dadurch soll verhindert werden, dass Anwender Daten lesen, für deren Verwendung sie zwar befugt sind, deren Inhalt sie aber nicht kennen sollen. Die Filter lassen sich auch auf Basis von Benutzernamen in Active Directory oder Azure Active Directory in den Filtern hinterlegen. Anwender können bestimmte Daten also auf keinem Weg auslesen, wenn sie dazu nicht berechtigt sind.

Mit der dynamischen Datenmaskierung können Administratoren festlegen, dass bestimmte Inhalte nicht komplett übermittelt werden. Sollen Entwickler zum Beispiel eine Anwendung schreiben, die Zugriff auf heikle Daten wie Personalnummern, Kreditkartennummern oder Kontonummern hat, lassen sich die abgefragten Daten maskieren. Es kann zum Beispiel festgelegt werden, dass SQL Server 2016 den Entwicklern zwar den Inhalt der Tabelle anzeigt, diesen aber maskiert. Ein Beispiel ist die Anzeige eines Teiles der Kontonummer, nicht aber der ganzen Nummer. Erst Anwender, die sich an der entsprechenden Applikation anmelden und das Recht haben die Daten zu sehen, erhalten diese auch durch die Datenbank. Entwickler können dadurch zwar umfassend auf alle Informationen zugreifen, sind aber nicht in der Lage, geheimen Daten auszulesen.

Der SQL Server 2016 von Microsoft kann Versionen für Tabellen anlegen und so auch Verlaufsdaten speichern.
Der SQL Server 2016 von Microsoft kann Versionen für Tabellen anlegen und so auch Verlaufsdaten speichern.
Foto: Microsoft

SQL Server 2016 kann darüber hinaus alle Datenbankoperationen überwachen und speichern. Auch dabei lassen sich Filter setzen, also zum Beispiel erfolgreiche oder nicht erfolgreiche Aktionen. Microsoft hat dazu auch die Verbindung zwischen Visual Studio 2015 und SQL Server 2016 optimiert. Es gibt in Zukunft nur noch ein einzelnes Tool, mit dem Sie Projekte in Visual Studio erstellen, die auf SQL Server 2016 aufbauen.

Verbesserte Hochverfügbarkeit und Skalierbarkeit mit Windows Server 2016

In der neuen SQL-Version hat Microsoft auch die Hochverfügbarkeit mit "AlwaysOn" verbessert, und bietet eine höhere Anzahl der Replikationen. Anwender können in SQL Server 2016 bis zu drei synchrone Replikas für automatischen Failover nutzen, auch über Domänengrenzen hinweg. SQL Server 2014 unterstützt in diesem Bereich lediglich zwei synchrone Replikate. SQL Server 2016 beherrscht an dieser Stelle auch automatische Failover-Mechanismen. Erkennt der Server, dass eine Datenbank nicht mehr konsistent ist, lassen sich Replikas für die produktive Verwendung aktivieren.

SQL Server Integation Services (SSIS) unterstützen in der neuen Version die AlwaysOn-Technologie und können auch mit den Replikaten arbeiten. Auch Loadbalancing und die Automatisierung hat der Hersteller überarbeitet. Sie können in Loadbalancing-Umgebungen zum Beispiel auch "Round Robin" für die Replikas von Datenbanken nutzen - ein Scheduling-Verfahren, das konkurrierenden Prozessen jeweils begrenzte Ressourcen zuordnet. SQL Server 2016 wird für den Einsatz mit Windows Server 2016 optimiert und kann daher auf die neuen Funktionen des Nachfolgers von Windows Server 2012 R2 setzen. Besonders interessant ist in dieser Hinsicht die Unterstützung von 12 TB Arbeitsspeicher.

SQL Server 2016 kann außerdem besser mit CPU-Kernen umgehen und Zwischenspeicher der Datenbanken wesentlich effizienter verwalten. Anwender können in Mehr-Prozessor-Systemen in jeder Instanz mit mehreren temporären Datenbanken für die Zwischenspeicherung von Daten arbeiten. Microsoft verspricht in dieser Hinsicht eine deutliche Leistungsverbesserung, da alle temporären Datenbanken parallel verarbeitet werden können.

Business Intelligence, R und Big Data mit Hadoop

Nutzer können mit SQL Server 2016 auf verschiedene Datenquellen zugreifen, um Daten zu analysieren. Neben herkömmlichen relationalen Datenbanken, lassen sich auch nicht-relationale Datenbanken für Analysen und Berichte mit T-SQL abfragen. Auch die Anbindung von Hadoop ist in diesem Bereich kein Problem. Hadoop-Daten lassen sich mit T-SQL abfragen. Praktische Anwendung ist das Füllen von Tabellen auf SQL Servern mit Daten aus Hadoop oder anderen Quellen.

Power Query kann für Analyse und für das Erstellen von Berichten verwendet werden. Auch hier können die abgefragten Daten aus verschiedenen Quellen stammen und auch in unterschiedliche Datenmodelle integriert werden. In SQL Server 2016 lassen sich die Integration Services zusammen mit Power Query nutzen.

Business Intelligence-Analysen funktionieren in SQL Server 2016 auch mobil. Hier unterstützt der neue Server Windows 10, aber auch Geräte mit Android und iOS. Die Kommunikation zwischen Endgerät und SQL-Server erfolgt über HMTL5. Anwender können sich mit der neuen Analyse-Funktion selbst Dashboards mit den gewünschten Daten zusammenstellen. Einmal erstellte und gespeicherte Dashboards sind auf allen Endgeräten verfügbar. Die Dashboards lassen sich zudem auch touchoptimiert darstellen.

R in SQL Server 2016 verfügbar

In SQL Server 2016 ist auch die Sprache "R" integriert. Die ist vor allem für Datenbankanalysen optimal. Microsoft hatte Anfang 2015 das Unternehmen Revolution Analytics übernommen, einen renommierten Entwickler im Umfeld der Programmiersprache R. Anwender können mit SQL Server 2016 uneingeschränkt Ihre R-Modelle weiterverwenden. Skripte auf Basis von R lassen sich über den Microsoft Azure Marketplace herunterladen und in SQL Server 2016 integrieren. Umgekehrt können Entwickler ihre eigenen R-Skripte über diesen Weg auch verkaufen.

Für Data Scientists, die eigene Analysen mit R erstellen, können die Datenbankadministratoren und Entwickler einheitliche Oberflächen zur Verfügung stellen, mit denen die Daten auf Basis von SQL-Mitteln weiterverwendet werden können. Die relationalen Datenbanken und die Bibliotheken für Analysen werden über T-SQL miteinander verbunden und sind über diesen Weg auch abfragbar.

Die Master Data Services (MDS) wurden ebenfalls überarbeitet. Die Leistung wurde laut Microsoft vervielfacht, und Berechtigungen lassen sich granularer vergeben. In der neuen Version lassen sich zudem verschiedene Archivierungsoptionen für Transaktionsprotokolle festlegen. Entitäten können in MDS über verschiedene Modelle verwendet werden.

Microsoft Azure und Auslagern von Tabellen in die Cloud

In SQL Server 2016 gibt es die Möglichkeit, Tabellen lokal und in der Cloud zu betreiben. Anwender können lokale Tabellen auf Servern mit SQL Server 2016 also in die Cloud ausdehnen. Die Tabelle wird lokal und in der Cloud gespeichert, ist aber von lokalen Anwendungen aus zugreifbar. Sinnvoll ist das vor allem für Daten, die nicht ständig benötigt werden, und auf die kein leistungsstarker Zugriff erfolgen muss, zum Beispiel Verkaufszahlen aus der Vergangenheit. (ba)

Wer tiefer in die die Technologie des Microsoft SQL Servers einsteigen will, dem empfehlen wir die Microsoft-Workshop-Reihe auf Channel 9.