SQL Server 2017

Python, R und Linux zur Entwicklung nutzen

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Microsoft hat dem SQL Server 2017 einige neue Features spendiert, darunter die Unterstützung von Python.
Microsoft hat dem SQL Server 2017 einige neue Features spendiert, darunter die Unterstützung von Python. (Bild: Thomas Joos / Microsoft)

Mit dem SQL Server 2017 hat Microsoft zahlreiche Neuerungen auf den Weg gebracht, die auch für Entwickler interessant sind. Die neue Version lässt sich auf Linux installieren und bietet mehr Interoperabilität.

SQL Server 2017 erlaubt die Installation auf Linux-Servern, wenn auch in eingeschränkter Form. Besonders interessant ist aber die verbesserte Leistung.

Bereits die Preview-Version hat einen Weltrekord für den TPC-H 1-TB Datawarehouse-Workload aufgestellt und schlägt SQL Server 2016 und seine Vorgänger deutlich. Benötigt ein Unternehmen einen möglichst starken Datenbank-Server, zum Beispiel für die Echtzeitanalysen von Daten, scheint SQL Server 2017 ein interessantes Produkt zu sein.

Python und R in Apps nutzen

Die Programmiersprache R wurde bereits von SQL Server 2016 unterstützt, im Falle des SQL Server 2017 kommt zusätzlich noch Python hinzu. Die Funktion „Microsoft Machine Learning Services“ erlaubt in SQL Server 2017 die Ausführung von Python-Skripten direkt auf dem Datenbank-Server.

Die Unterstützung soll in allen Editionen von SQL Server 2017 verfügbar sein. SQL Server 2017 kann als Datenquelle für Python-Apps und -Skripte genutzt werden. Python-Code lässt sich auch in SQL-Datenbanken integrieren. Außerdem ist es möglich, Python ebenso wie R als Transact-SQL-Prozedur einzubetten.

Der Microsoft SQL Server 2017 unterstützt Python.
Der Microsoft SQL Server 2017 unterstützt Python. (Bild: Thomas Joos / Microsoft)

Non-Clustered Columnstore Indexes – Mehr Leistung mit vorhandenem Code

Die bessere Leistung des Servers wird vor allem durch die neuen Non-Clustered Columnstore Indizes erreicht. Die Funktion steht im laufenden Betrieb zur Verfügung und kann Indizes im laufenden Betrieb erstellen. Wie das geht, zeigt Microsoft im MSDN. Auch die Aktualisierung des Index ist im laufenden Betrieb möglich.

Außerdem bietet SQL Server 2017 Adaptive Query Processing. Die Funktion verbessert die Leistung, ohne dass der Code neu geschrieben werden muss. Online-Indizes lassen sich jederzeit pausieren und fortsetzen. Dadurch können Entwickler Datenbankanwendungen schreiben, die effizient auf mehrere SQL-Server in verschiedenen Rechenzentren zugreifen.

Container und Linux nutzen

In vielen Umgebungen sind Anwendungen notwendig, die nicht nur auf Microsoft-Netzwerke setzen können. SQL Server 2017 lässt sich deshalb auch auf Linux-Servern installieren. Dazu stellt Microsoft eigene Installationsdateien für Linux zur Verfügung. Vor allem Red Hat, Suse und Ubuntu werden dabei unterstützt.

Auch Docker-Container lassen sich mit SQL Server 2017 betreiben, was vor allem für die Entwicklung von Microservices interessant ist, die eine Datenbank-Engine benötigen. Die Installation in OpenShift und Docker Swarm ist ebenfalls möglich. Zu den unterstützten Treibern und Frameworks gehören zum Beispiel Java, .NET, Ruby, Python und viele andere.

Da Docker-Container auch auf anderen Betriebssystemen zur Verfügung stehen, zum Beispiel MacOS X, kann SQL Server 2017 über den Umweg als Container auch auf Mac-Rechnern installiert werden. Das ist für die Entwicklung von Anwendungen genauso interessant, wie die mögliche Installation auf Linux-Servern. Hier ist der Umweg über Docker zwar möglich aber nicht nötig.

SQL Server Agent auf Linux und Replikation zwischen Betriebssystemen

Wenn SQL Server 2017 auf Linux installiert ist, lässt sich auch hier der SQL Agent nutzen, auch zur Entwicklung. Das hilft zum Beispiel bei der Replikation von Transaktionsprotokollen über verschiedene SQL-Server hinweg. Zusätzlich kann der Listener für Always-On-Datenbankverfügbarkeitsgruppen jetzt auch auf Linux-Servern genutzt werden. Die Replikation von Datenbanken lassen sich dadurch nicht nur zwischen verschiedenen Servern durchführen, sondern auch zwischen verschiedenen Betriebssystemen.

Die Befehlszeilentools sqlcmd, bcp und sqlpackage lassen sich auf Linux-Servern nutzen und daher in Skripte einbinden. In-Memory-OLTP und Columnstore kann in SQL Server 2017 auch auf Linux-Servern genutzt werden. Für eine schnelle und sichere Datenübertragung hilft die Komprimierung sowie die Verschlüsselung der Daten und zeilenbasierte Sicherheit sowie Datenmaskierung. Das alles funktioniert auf Linux-Servern genauso wie auf SQL-Servern.

DB Mail, Alerts, FileTables, Strech DB, PolyBase, Erweiterungen von Drittanbietern, XPs, Datenbank-Spiegelung und VSS-Snapshots lassen sich auf Linux-Servern allerdings nicht nutzen. Das kann sich mit den nächsten Servicepacks aber durchaus ändern. Außerdem sind die Analysis-, Reporting-, Integration-, R-, Master-Data- und Data-Quality-Services derzeit nicht auf SQL-Servern verfügbar, die auf Linux installiert werden.

Daten sozialer Netzwerke analysieren

Bei der Analyse von Graph-Daten helfen unter Microsoft SQL Server 2017 neue Tabellen.
Bei der Analyse von Graph-Daten helfen unter Microsoft SQL Server 2017 neue Tabellen. (Bild: Thomas Joos / Microsoft)

SQL Server 2017 unterstützt Graph Data. Der Datenbank-Server kann also auch zur Analyse von Daten aus sozialen Netzwerken genutzt werden. Hierbei helfen die beiden neuen Tabellenarten „NODE“ (Knoten) und „EDGE“. Verwenden Entwickler beim Erstellen einer neuen Tabelle die Variante „NODE“, erstellt der Datenbank-Server für jede Reihe eine NodeID. Tabellen des Typs „EDGE“ erstellt Verbindungen zwischen verschiedenen NODE-Tabellen.

Fazit

Die maßgeblichen Neuerungen in SQL Server 2017 für Entwickler ist die Integration von Python sowie der Betrieb von SQL Server 2017 auf Linux-Servern inklusive der Unterstützung des SQL-Agents auf Linux-Servern. Die verbesserten Indizes erlauben eine schnellere und effizientere Erstellung von Indizes und eine flexiblere Gestaltung der Programmierung. Die beiden neuen Tabellen ermöglichen die Analyse von Daten aus sozialen Netzwerken.

Alles in allem bietet SQL Server 2017 auch mit der Unterstützung von Docker einen durchaus interessanten Mehrwert im Vergleich zu den Vorgängerversionen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44783692 / Datenbanken)