SQL SERVER (TEIL 1) Architektur und Konzepte

Nach nur zwei Jahren erneuert Microsoft den SQL Server zur Version 2016.
Microsoft hat im Sommer des vergangenen Jahres die Version 2016 seines SQL Servers freigegeben. Seit der ersten Version zu Beginn der 1990er Jahre wurde das Datenbankmanagementsystem beständig erweitert und erneuert. Aufgrund der langjährigen Entwicklung des Produkts darf man eine ausgereifte Software erwarten.

Daher sind die Änderungen in der Version 2016 meist nicht mehr so einschneidend, wie dies bei früheren Versionen der Fall war. Dennoch gibt es eine Reihe an Detailverbesserungen und innovativen Konzepten.

In diesem ersten Teil unseres Berichts zum SQL Server 2016 wollen wir Sie vor allem über Architektur und Konzepte und deren Neuerungen informieren. Im Teil 2 in der nächsten Ausgabe gehen wir auf die Installation, die Verwaltung und weitere Besonderheiten ein (Bild 1).

Der SQL Server und seine Entwicklung

Der SQL Server zählt zu jenen Produkten von Microsoft, die auf eine langjährige Historie zurückblicken können. Im Jahr 1993 lieferte Microsoft die erste Version des SQL Servers. Dieser gründete auf eine Kooperation mit Sybase. Anschließend folgten die Versionen 4.2, 6.0 und 6.5, dann die Version 7. Seit der Version 2000 hat die Jahreszahl Einzug in die Bezeichnung des SQL Servers (Version 2000) gehalten. Dem folgten die Versionen 2005, dann 2008, 2012, 2014 und nun schließlich 2016.

Vom alten Sybase-Code ist wohl längst nichts mehr übrig. Die Verbesserungen der Version 2016 finden sich vor allem in den Analysefunktionen, wie sie für Business Intelligence oder Massenverarbeitung benötigt werden. Darüber hinaus hat Microsoft die In-Memory-Verarbeitung von Massendaten optimiert.

Hierbei werden die häufig verwendeten Tabellen direkt im Arbeitsspeicher des Rechners abgelegt und müssen nicht immer erst von der Platte geladen werden. Da der Zugriff auf den Arbeitsspeicher um ein Vielfaches schneller ist als Plattenzugriffe, wird die Verarbeitung erheblich beschleunigt. Gleichzeitig ist der Arbeitsspeicher im Verhältnis zum Plattenplatz natürlich eingeschränkt. Das Verfahren kann also nur für die am häufigsten verwendeten Tabellen genutzt werden. Ferner hat Microsoft nach eigenen Angaben die Sicherheit und die Anbindung an die Cloud verbessert.

Wie schon die Vorgängerversionen wird auch der SQL Server 2016 in mehreren Editionen angeboten. Microsoft unter-
scheidet dabei nach Server-Editionen und den speziellen Editionen. Diese beiden Versionen sind kostenpflichtig. Daneben stehen mit der Developer Edition und Express Edition zwei weitere Varianten des SQL Servers zur Verfügung, die kostenlos abgegeben werden. Sie wenden sich vor allem an Entwickler. Ab 2017 soll es den SQL Server auch für das Betriebssystem Linux geben.

Unter dem folgendem Link ist ein E-Book zum SQL Server 2016 abzurufen: https://www.microsoft.com/germany/tech net/news/show.aspx?id=msdn_de_61272. Das Buch führt in die Änderungen in SQL Server 2016 ein, die bereits in der Community Preview 3.2 enthalten sind.

Eingeschlossen sind die Verbesserungen der DatenbankEngine und der Reporting Services inklusive Datenvirtuali-sierung. Die vollständige technische Dokumentation findet man unter https://www.microsoft.com/de-de/server-cloud/ products/sql-server/overview.aspx (Bild 2).

Neuerungen in den Konzepten des SQL Servers

Die Neuerungen, die Microsoft beim SQL Server 2016 angebracht hat, betreffen sowohl die Software-Entwicklung als auch die Administration. Dies gilt, weil der SQL Server ja auch diese beiden Bereiche der IT berührt. Der Programmentwickler verwendet den SQL Server zur Speicherung der Applikationsdaten, während der Administrator für den reibungslosen Betrieb sorgen muss.

In Hinblick auf die Verwaltung hat Microsoft, wie auch bei den vergangenen Versionen, die Automatisierung weiter vorangetrieben. So manche T ätigkeit, die der Administrator bis-

lang noch manuell durchführen musste, ist nun automatisiert worden. Damit schreibt Microsoft eine Strategie fort, die schon seit mehreren Versionen des SQL Servers eingeführt wurden.

Die prinzipielle Stoßrichtung dabei ist eine weitgehend selbstoptimierende IT, in der sich die Systeme stärker als heute selbst verwalten und optimieren.

Zerlegt man den SQL Server in seine Bestandteile, so präsentiert er sich in Form von mehreren Diensten. Microsoft spricht dabei von Services. Ein Service gruppiert eine zusammengehörende Menge an Diensten oder Hilfen für einen bestimmten Nutzen.

Die wichtigsten Services im Überblick:

Datenbankmodul: Den Kern des Datenbanksystems stellt die Datenbank-Engine dar. In diesem Modul wurden zahlreiche Änderungen vorgenommen. Sie betreffen beispielsweise jene Aspekte, die für eine kürzere Antwortzeit und höhere Verfügbarkeit sorgen.

R Services: Die R Services sind neu im SQL Server 2016. Sie umfassen die Statistiksprache R und weitere in diesem Kontext hilfreiche Werkzeuge. Die Sprache R und R Services dienen vor allem zur Datenanalyse.

Integration Services: Sie übernehmen die Zusammenführung unterschiedlichster Datenquellen in den Datensenken und fungieren als Grundlage für die Werkzeuge der Business Intelligence (BI). Sie werden mitunter auch als Analysewerkzeuge bezeichnet. Sie sind damit vergleichbar mit den ETL-Werkzeugen, die man gemeinhin im BI-Umfeld vorfindet.

Analytical Services: Die Analytical Services stellen die OLAP-Dienste des SQL Server 2016 dar. Sie gehören bereits seit der Version SQL Server 2000 zum Umfang des Datenbankprodukts. Die Änderungen hier betreffen vor allem eine einfachere Programmierung. Ferner wurden diverse Hilfsmittel zum Aufbau der Datenmodelle und Auswertungen hinzugefügt.

Reporting Services: Die Funktionen der Reporting Services erlauben umfangreiche Berichte samt Integration zusätzliche Komponenten und unterstützen bei der Einbindung der Berichte in weitere Applikationen.

Ferner übernehmen sie eine Reihe weitergehender Verwaltungsfunktionen.

Replication: Als Replikation bezeichnet man all die Techniken zum Ko-
pieren und Verteilen von Daten und Datenbankobjekten aus einer Datenbank in eine andere und das anschließende Synchronisieren zwischen den Datenbanken. Das letztendliche Ziel ist fast immer, einem möglichen Datenverlust vorzubeugen. Replikation kann aber auch zwischen unterschiedlichen Server-Standorten stattfinden. Dabei werden die Daten an Remote-Benutzer oder mobile Benutzer an verschiedenen Standorten über lokale Netzwerke und WANs, Funkverbindungen oder über das Internet verteilt. In diesem Fall sorgt die Replikation für eine erhöhte Verfügbarkeit der Daten. Eine Alternative zur Replikation ist die Synchronisation der Daten mit dem Microsoft Sync Framework. Es schließt Komponenten und ein intuitives und flexibles API ein, die es erleichtern, zwischen SQLServer-, SQL-Server-Express-, SQL-Server-Compact- und SQL-Azure-Datenbanken zu synchronisieren (Bild 3).

Data Quality Services: Mit den SQL Server Data Quality Services (DQS) soll die DatenQualität erhöht werden. Dies geschieht durch eine Wissensdatenbank. Sie kann beim Ausführen von Maßnahmen zur Verbesserung der Datenqualität herangezogen werden. Dazu gehören beispielsweise die Korrektur, Erweiterung, Standardisierung und Deduplizierung der Daten. DQS ermöglicht es außerdem, eine Datenbereinigung mit cloudbasierten Verweisdatendiensten auszuführen, die von speziellen Verweisdatenanbietern bereitgestellt werden.

SQL Server Management Studio: Das Management Studio stellt die zentrale Verwaltungskonsole für den SQL Server und alle oben genannten Dienste dar. Es fasst die unterschiedlichen Werkzeuge der Vorgängerversion zusammen und ergänzt diese um weitere Funktionen.
Der SQL Server umfasst alle Funktionsmodule zur Datenspeicherung und Auswertung (Bild 2)
Durch Transaktionsreplikation werden Änderungen an der Datenbank weitergereicht (Bild 3)

Die Notification Services: Sie ermöglichen eine schnelle Übermittlung der in den Analytical Services gewonnenen Ergebnisse an die Empfänger und zielen damit in Richtung Realtime Monitoring auf der Grundlage von analytischen Auswertungen.

Manche der erwähnten Funktionsblöcke, wie etwa die R Services, sind völlig neu, andere wiederum wurden bereits in den vergangenen Jahren als Add-ons oder Servicepacks dem bestehenden SQL Server hinzugefügt.

Das Datenbank-Modul des SQL-Servers

Das Datenbankmodul (die Database Engine) des SQL Servers ist mittlerweile seit Jahren erprobt und bei unzähligen Kunden im Einsatz. Die frühen Kinderkrankheiten sind ausge-
standen, gravierende Fehler sind hier nicht mehr vorhanden. Infolgedessen gibt es auch keine besonders herausragenden Neuerungen.

Eine Tabelle kann nun auf maximal 253 andere Tabellen und Spalten als Fremdschlüssel (ausgehende Referenzen) verweisen. SQL Server 2016 erhöht außerdem den Grenzwert für die Anzahl der anderen Tabellen und Spalten, die auf Spalten in einer einzelnen Tabelle (eingehende Referenzen) verweisen können, von 253 auf 10.000. Ferner unterstützt der neue SQL Server nun auch temporale Tabellen mit Versionsverwaltung.

automatische aktualisierung

Die automatische Aktualisierung der Statistik erfolgt jetzt aggressiver für große Bestände. Der Schwellenwert zum Auslösen der automatischen Aktualisierung der Statistik beträgt 20 Prozent. Die INSERT-Anweisung in einer INSERT-SELECT-Anweisung erhält mehrere Threads oder kann einen parallelen Plan aufweisen.

Das neue Management Studio bietet die Möglichkeit, den Live-Ausführungsplan einer aktiven Abfrage anzuzeigen. Dieser Live-Abfrageplan bietet Echtzeit-Einblicke in den Ab-frage-Ausführungsprozess, während die Steuerelemente von
einem Abfrageplanoperator zu einem anderen übertragen werden. Der Abfragespeicher ist eine neue Funktion, die über DBAs Einblick in die Auswahl und die Leistung des Abfrageplans bietet. Er vereinfacht das Beheben von Leistungsproblemen, indem er das schnelle Auffinden von Leistungsabweichungen durch Änderungen an Abfrageplänen ermöglicht.

Ein wesentlicher Bereich der Änderungen betrifft neben den allgemeinen Optimierungen hinsichtlich der Performance und den Erweiterungen für die Programmierung den Zweig der Business Intelligence. Das Microsoft BI-Angebot besteht aus den Komponenten der Integration Services, der Analytical Services, der Reporting Services und neu in 2016 der R Services.

Die Analytical Services umfassen OLAP-Server zur Datenauswertung und Analyse. Die Reporting Services fassen all jene Werkzeuge zusammen, die mit der Erstellung und Verwaltung von Berichten zu tun haben (Bild 4).

Die Sprache R

Die Implementierung der Dienste der Sprache R ist neu im SQL Server 2016. Die Dienste basieren auf der Analysesprache R und sollen bei der Auswertung der Daten helfen. Die Grundlage für die R Services bildete die Übernahme des Unternehmens Revolution Analytics im Frühjahr 2015. R wird von mehr als 2,5 Millionen Data Scientist und Statistikern genutzt und im Rahmen vieler Statistik-Studiengänge an Hochschulen gelehrt. Es ist eine Sprache von Statistikern für Statistiker.

Die Anwender erstellen in R ihre Analysemodelle. Einmal erstellte R-Modelle kann man mit SQL Server 2016 uneingeschränkt weiterverwenden. Darüber hinaus sind über 8000 R-Pakete frei verfügbar. Skripts, die auf der Sprache R basieren, lassen sich über den Microsoft Azure Marketplace herunterladen und können so in den in SQL Server 2016 integriert werden.

Umgekehrt können die Entwickler ihre eigenen R-Skripts auch über den Marktplatz vertreiben. Unternehmen, die eigene Analysen mit R erstellen, können einheitliche Oberflächen und Verwaltungshilfen aufbauen. Die Verknüpfung der relationalen Datenbanken und der Bibliotheken für Analysen erfolgt durch T-SQL.

analyse von Daten

Angeboten werden die Analysen in R in zwei Formen, als Dienst (Services) im Kontext des SQL Servers und als eigeständiger Server. Das Ziel ist in jedem Fall die Integration der Source-Sprache R in den Kontext des SQL Servers.

R Services unterstützen die Analyse von Daten. Die R Services können daher in das Datenbanksystem des SQL Servers
Power BI ermöglicht umfangreiche Analysen der Daten (Bild 4)
integriert werden (In-Database). Hierbei unterstützen sie die schnelle Entwicklung, Bereitstellung und Operationalisierung von R-Lösungen, die auf der Grundlage der SQL-Ser-ver-Plattform und zugehöriger Dienste erstellt werden. Ferner gehört zu den R Services ein Datenbankdienst, der außerhalb des SQL Servers mit den Diensten des R-Systems kommuniziert. Die Modellierung der Analysen erfolgt als R-Mo-delle. Sie lassen sich dabei vielfältig bearbeiten und an die Nutzeranforderungen anpassen. Die fertigen Analysen lassen sich in gespeicherten Prozeduren (Stored Procedure) des SQL Servers einbetten. R Plots helfen bei der Bewertung der Analysen (Bild 5).

Auswertungen lassen sich zwischen den R-Services und dem SQL Server austauschen. Der Test und die Entwicklung von Anwendungen können auch remote von einem entfernten Computer aus erfolgen. R Services (In-Database) werden die COMPUTE-Klausel auf die Daten in R auf dem gleichen Computer wie die Datenbank ausführen können.

Der Microsoft R Server wird als eigenständiges Serversystem angeboten. Er unterstützt verteilte, skalierbare R-Lö-sungen auf mehreren Plattformen und verwendet mehrere
Enterprise-Datenquellen, einschließlich Linux, Hadoop und Teradata.

Die Integration Services

Die Integration Services umfassen all die Dienste zur Zusammenführung (Integration) von einzelnen Datenquellen zu einer Einheit. Damit sind sie im Prozessablauf auch vor den Analytical Services und den Reporting Services anzutreffen. Bei den Integration Services handelt es sich um eine Sammlung von Werkzeugen und programmierbaren Objekten, mit denen Daten aus unterschiedlichen Quellen extrahiert und transformiert werden können.

Diese gesammelten Daten können dann in ein einzelnes Ziel oder in mehrere Ziele geladen werden. Damit decken die
Integration Services all jene Funktionen ab, die man früher den ETL-Tools zugeschrieben hatte. Die Definition und der Integrationsablauf werden in einem Integrationspaket beschrieben, das als Projekt im Designer definiert wird. Die Daten sind somit in den Rahmen von Visual Studio eingeklinkt.

Die Integration Services bieten dabei mehrere Editoren, die das Projekt hinreichend beschreiben und spezifizieren. Sie ermöglichen die Definition des Kontrollflusses, des Datenflusses und der Ereignissteuerung. Definiert wird der Integrationslauf der Daten in grafischer Notation, unterstützt durch die notwendigen Attribute in den Eigenschaftsdialogen der Editoren.

Dabei werden Schleifenverarbeitung, Fehler-Handling und eine Protokollierung des Integrationslaufs unterstützt. Ferner gehören Debug-Hilfen sowie Werkzeuge zur Untersuchung und Spezifikation der Pakete zum Umfang des Integ-ration-Services-Toolsets. Als Datenquellen kommen all jene in Betracht, die über die gängigen Windows-Mechanismen wie etwa OLE DB, ODBC oder FTP angebunden werden können, und natürlich auch Flat Files. Möglich sind auch Umsetzungen von Daten oder etwa das Nachschlagen von weiteren Daten (das Lookup) in anderen Quellen.

Das Ergebnis eines Integrationslaufs sind die zusammengeführten Daten in einem Data Warehouse oder Data Mart. Darauf setzen dann die nachgeschalteten Prozesse und Toolsets des SQL Server 2016 auf. Dies sind die Analytical Services und die Reporting Services.

Die Reporting Services

Mit den Reporting Services lassen sich Berichte erstellen, veröffentlichen und verwalten. Diese können dann auf unterschiedliche Weise an die gewünschten Benutzer übermittelt werden, etwa durch Anzeigen der Berichte im Webbrowser, auf mobilen Geräten oder als E-Mails in den Postfächern. Im ersten Schritt wird dabei ein Report definiert. Die Definition eines Reports wird in RDL (Report Definition Language), einem XML-Dialekt, vorgenommen.

Zur Laufzeit wird die RDL-Datei an die Reporting Service Engine des SQL Servers übergeben. Dort erfolgt das Auslesen der benötigten Daten aus den Datenquellen ebenso wie der Aufbau des Reports.

Da dieser auf RDL basiert, können Reports prinzipiell auch mit einem Editor erstellt werden. Dies ist natürlich ein aufwendiges Unterfangen. Der bessere und sicherlich einfachere Weg ist der Aufbau eines Berichts durch einen grafischen Editor, der dann auch den WYSIWYG-Modus unterstützt.

Korrespondierend dazu steht ein Self-Service für Endbenutzer bereit, der eine vereinfachte Berichterstellung für Analyse-Umgebungen ermöglicht.
R Plot - 9 x
«- ® [J] dä1 [5 "fp ’ip

Distribution of Gas Milage
10 15 20 25 30

IiMm Per Gaien
Durch den Einsatz von R-Bibliotheken lassen sich vielerlei ansprechende Diagramme erstellen (Bild 5)
Durch seine Einfachheit soll der Report Manager auch ein Ad-hoc-Reporting für den Benutzer ermöglichen. Durch die Offenlegung der Schnittstelle können zudem Drittanbieter eigene Werkzeuge zur Definition von Berichten in das Toolset einbinden.

Hinterlegt werden die Report-Definitionen als RDL-File wiederum im SQL Server. Durch rollenbasierte Mechanismen werden dabei weitreichende Zugriffslogiken implementiert. Deren Grundlagen sind das Active Directory und der SQL Server. Der Funktionsumfang der Reporting Services beschränkt sich eindeutig auf das Reporting.
Die von SQL Server Reporting Services bereitgesteUten Dienste helfen beim Aufbau von Berichten für unterschiedliche Geräte (Bild 6)
QueLLe: Microsoft
Data-Mining-Verfahren

In Kontext des SQL Server 2016 bezieht sich das Reporting meist auf die Massendaten für das Tagesgeschäft. Die Auswertungen sind im Vergleich zu den Analysen und Data-Mining-Verfahren meist von einfacher Natur. Dazu zählen etwa Listen mit Zwischensummen oder Durchschnittswerten. Als Datenquelle dafür kommen relationale oder OLAP-Daten in Betracht. Das sind neben dem schon erwähnten Data Warehouse auch davon unabhängige Datenquellen.

Sollten die Daten aus unterschiedlichen Datenhaltungssystemen aggregiert werden müssen, so geschieht auch das über
Zum Umfang der analytical Services gehören die Funktionen des Data Mining (Bild 7)
die unterschiedlichen Schnittstellen. Und da diese Interfaces für nahezu alle Datenquellen verfügbar sind, sollte hierbei auch kein Engpass auftreten.

Bezüglich der zeitlichen Steuerung sind verschiedene Verfahren anwendbar. Sie werden durch eine Scheduling-Funk-tion unterstützt. Bleibt nur noch die Verteilung und Ausgabe der Berichte auf die Zielgeräte, die durch Erweiterungen der Reporting Services vorgenommen werden.

Diese Erweiterungen kümmern sich um die Verteilung der Berichte mittels E-Mail oder als Dateiablagen. Hierbei unterstützt das Dienstpaket alle gängigen Formate, einschließlich HTML und PDF, aber auch die Übergabe an weitere Portale oder Dienste.
Aus der Verbindung der Zeitsteuerung für die Erstellung der Berichte und den Abonnementfunktionen lassen sich dabei regelmäßige Berichtsläufe erzeugen, deren Ergebnisse auch automatisch an die Empfänger übertragen werden. Ferner ist eine Integration der Berichte in bestehende Anwendungen programmierbar (Bild 6).

Die analytical Services

Erweiterungen gibt es zudem hinsichtlich der Analytical Services. Ähnlich wie bei den Reporting Services stellen die Analytical Services in erster Linie eine Entwicklungsplattform dar. Für die eigentliche Analyse der Daten können die Anwender auf verschiedene Tools und Hilfen zurückgreifen. Verglichen mit dem Vorgänger hat man vor allem daran gearbeitet, die Entwicklung dieser Anwendungen zu vereinfachen.

Die Entwicklung dieser Anwendungen kann auch aus Visual Studio heraus erfolgen. Hierfür werden eine Reihe von Assistenten und Design-Tools bereitgestellt. Assistenten helfen bei der Erstellung von Datenanalysen.

Eingeschlossen sind auch Hilfen zur Modellierung. Diese vereinfachen den Aufbau von Datenmodellen und den Relationen der Daten zueinander. Sie stellen außerdem auch die Grundlage für die weitere Analyse dar.

Für die Analyse steht der Data Mining Assistent zur Verfügung (Bild 7). Der Assistent sammelt eigenständig die Daten und bringt sie in Abgleich mit dem verwendeten Mining-Al-gorithmus. Hierzu gehört die selbstständige Integration sowohl von demografischen Daten als natürlich auch von trans-aktionalen Datenbeständen.
Johann Baumeister

hat Informatik studiert und verfügt über langjährige Erfahrung in der Entwicklung, der Anwendung und dem Rollout von IT-Systemen. Außerdem ist er als Autor für zahlreiche IT-Publikationen tätig. redaktion@webundmobile.de



You may also like

Keine Kommentare:

Blog-Archiv

Powered by Blogger.