Mit der kürz­lich erschie­nen SQL Ser­ver 2019 Pre­view bricht Micro­soft mit der klas­si­schen Ver­sio­nie­rung nach Kalen­der­jah­ren um ihren One-Stop-Ansatz für die Ver­ar­bei­tung und Ana­lyse gro­ßer Daten­men­gen, die in ver­schie­de­nen SQL- und NonSQL-Daten­hal­tungs­sys­te­men gespei­chert sind (Data Vir­tua­liza­tion) per SQL zu ermög­li­chen. Die fol­gen­den Aus­sa­gen bezie­hen sich auf nicht Azure SQL son­dern auf die SQL Ser­ver on pre­mise Variante.

Der bis­her ver­ti­kal ska­lierte SQL Ser­ver ist um einen Sto­rage Pool, einen Data Pool sowie um einen Com­pute Pool erwei­tert wor­den. Jeder Sto­rage Pool ist als HDFS-Sto­rage mit einer SQL-Ser­ver Rela­tio­nal Engine und Spark Ana­ly­tics als Kuber­netes Con­tai­ner deployed. Mit Hilfe die­ser Kuber­netes-Ein­hei­ten kann hori­zon­tal ska­liert wer­den und  dadurch las­sen sich große Daten­men­gen über HDFS zur Ver­fü­gung stel­len, die mit Hilfe der Spark Engine (der gesamte Funk­ti­ons­um­fang von Spark ML steht zur Ver­fü­gung) mit einer Viel­zahl von Advan­ced-Ana­ly­tics-Metho­den ver­ar­bei­tet wer­den kön­nen und deren Ergeb­nisse dann in Tabel­len bereit­ge­stellt wer­den, um diese dann mit der Rela­tio­nal Engine von SQL-Ser­ver wei­ter zu verarbeiten.

Somit ermög­licht der SQL Ser­ver Spei­che­rung, Aus­wer­tung und Aus­gabe der Daten bzw. der Ana­lyse-Ergeb­nisse in EINEM System.

Microsoft integriert Spark in SQL Server 2019 Bild1
Abbil­dung 1 Archi­tek­tur  SQL Ser­ver 2019

Dar­über hin­aus unter­stützt SQL Ser­ver 2019 das Kon­zept der Data Vir­tua­liza­tion. Durch die Ver­wen­dung von Exter­nen SQL-Ser­ver-Tabel­len kann auf Daten in ande­ren Daten­quel­len wie Teradata, Ora­cle, Mongo, HDFS-Data Lakes  u.a. zuge­grif­fen wer­den, ohne die Daten trans­fe­rie­ren oder repli­zie­ren zu müs­sen (Data Locality).

Wenn Daten gleich­zei­tig aus meh­re­ren Quel­len gele­sen wer­den sol­len, könnte es beim bis­he­ri­gen SQL Ser­ver zu einen Fla­schen­hals kom­men. Um die­ses Pro­blem zu umge­hen, gibt es neben den Sto­rage Pools soge­nannte Com­pute Pools. Diese bestehen aus SQL Ser­vern, die Abfra­gen auf exter­nen Daten­ban­ken durch­füh­ren und agg­re­gierte Ergeb­nisse lie­fern. Diese kön­nen eben­falls nach Bedarf hori­zon­tal ska­liert wer­den. Zusätz­lich besteht noch die Mög­lich­keit den Spei­cher­platz über Daten­pools zu erweitern.

Fazit

Mit dem SQL Ser­ver 2019 wapp­net sich Micro­soft für die Zukunft im Big Data Bereich. Spark ist ele­men­ta­rer inte­grier­ter Bestand­teil der neuen Ver­sion und soll die per­for­mante Ver­ar­bei­tung gro­ßer Daten­men­gen z.B. bei der Ent­wick­lung und Tes­ten kom­ple­xer ana­ly­ti­scher Modell unter einer ein­heit­li­chen Ober­flä­che ermög­li­chen. SQL-Kennt­nisse sol­len aus­rei­chend sein für die Nut­zung von Spark inner­halb des SQL Ser­ver 2019. Ein wei­te­rer Vor­teil kann die ein­fa­che Inte­gra­tion ana­ly­ti­scher Modelle in ope­ra­tive SQL-Ser­ver-basierte Sys­teme oder Apps sein. Aller­dings stellt sich die Frage, wann diese Funk­tio­na­li­tä­ten auch in Azure SQL zur Ver­fü­gung stehen?