Microsoft integriert Spark in SQL Server 2019

Mit der kürzlich erschienen SQL Server 2019 Preview bricht Microsoft mit der klassischen Versionierung nach Kalenderjahren um ihren One-Stop-Ansatz für die Verarbeitung und Analyse großer Datenmengen, die in verschiedenen SQL- und NonSQL-Datenhaltungssystemen gespeichert sind (Data Virtualization) per SQL zu ermöglichen. Die folgenden Aussagen beziehen sich auf nicht Azure SQL sondern auf die SQL Server on premise Variante.

Der bisher vertikal skalierte SQL Server ist um einen Storage Pool, einen Data Pool sowie um einen Compute Pool erweitert worden. Jeder Storage Pool ist als HDFS-Storage mit einer SQL-Server Relational Engine und Spark Analytics als Kubernetes Container deployed. Mit Hilfe dieser Kubernetes-Einheiten kann horizontal skaliert werden und  dadurch lassen sich große Datenmengen über HDFS zur Verfügung stellen, die mit Hilfe der Spark Engine (der gesamte Funktionsumfang von Spark ML steht zur Verfügung) mit einer Vielzahl von Advanced-Analytics-Methoden verarbeitet werden können und deren Ergebnisse dann in Tabellen bereitgestellt werden, um diese dann mit der Relational Engine von SQL-Server weiter zu verarbeiten.

Somit ermöglicht der SQL Server Speicherung, Auswertung und Ausgabe der Daten bzw. der Analyse-Ergebnisse in EINEM System.

Abbildung 1: Architektur  SQL Server 2019

Darüber hinaus unterstützt SQL Server 2019 das Konzept der Data Virtualization. Durch die Verwendung von Externen SQL-Server-Tabellen kann auf Daten in anderen Datenquellen wie Teradata, Oracle, Mongo, HDFS-Data Lakes  u.a. zugegriffen werden, ohne die Daten transferieren oder replizieren zu müssen (Data Locality).

Wenn Daten gleichzeitig aus mehreren Quellen gelesen werden sollen, könnte es beim bisherigen SQL Server zu einen Flaschenhals kommen. Um dieses Problem zu umgehen, gibt es neben den Storage Pools sogenannte Compute Pools. Diese bestehen aus SQL Servern, die Abfragen auf externen Datenbanken durchführen und aggregierte Ergebnisse liefern. Diese können ebenfalls nach Bedarf horizontal skaliert werden. Zusätzlich besteht noch die Möglichkeit den Speicherplatz über Datenpools zu erweitern.

Fazit

Mit dem SQL Server 2019 wappnet sich Microsoft für die Zukunft im Big Data Bereich. Spark ist elementarer integrierter Bestandteil der neuen Version und soll die performante Verarbeitung großer Datenmengen z.B. bei der Entwicklung und Testen komplexer analytischer Modell unter einer einheitlichen Oberfläche ermöglichen. SQL-Kenntnisse sollen ausreichend sein für die Nutzung von Spark innerhalb des SQL Server 2019. Ein weiterer Vorteil kann die einfache Integration analytischer Modelle in operative SQL-Server-basierte Systeme oder Apps sein. Allerdings stellt sich die Frage, wann diese Funktionalitäten auch in Azure SQL zur Verfügung stehen?