Microsoft Fabric ist die neue cloudbasierte Analyse-Plattform aus dem Hause Microsoft, welche diverse bekannte Einzelprodukte in einer SaaS-Lösung vereint, um bestmöglich den End2End-Prozess abzubilden: Von der Datenbeschaffung, über die Datentransformation, bis hin zum fertigen Report!
Microsoft Fabric auf einen Blick
Die Hauptkomponenten von Fabric sind:
- Data Factory: Beschaffung der Daten aus verschiedensten Quellen, erste Transformation der Daten
- Synapse: weitere Transformation der Daten, Bereinigen und Anreichern von Daten, Abfragen von Daten
- Power BI: Visualisierung von Daten durch interaktive Berichte
- Data Activator: Überwachung von Datenmodellen und Kennzahlen
Die Grundidee einer einheitlichen Analytics-Plattform ist nicht neu. Fabric ist im Grunde die Weiterentwicklung dieses Konzepts, welches mit „Synapse Analytics“ ihren Anfang hatte.
Doch Microsoft hat in Fabric nicht nur die besagten Einzelwerkzeuge vereint, sondern hat weitere sehr interessante Neuerungen in Fabric integriert:
- Ein zentraler Datenspeicher – OneLake genannt, wo die benötigten Daten abgelegt werden und alle Anwender dieser Plattform gemeinsam mitarbeiten können.
- Ein zentrales Governance- und Sicherheitskonzept, welches sich durch die ganze Plattform zieht
Alle Personen des Analytics-Projekts gemeinsam auf einer Plattform
Fabric vereint nicht nur technische Möglichkeiten durch den Zusammenschluss der Einzelprodukte, sondern stärkt außerdem die Kollaboration der einzelnen Personen und Rollen innerhalb des Analytics-Projekts.
Das ganze Projekt-Team, unabhängig von der jeweiligen Rolle der Einzelperson, arbeiten gemeinsam auf der Fabric-Plattform. Die Anwender von Fabric arbeiten alle in der gleichen Projektumgebung und mit der gleichen Datenbasis und erstellen ihrer Rolle entsprechend weitere Inhalte für das Projekt.
Um optimal zusammenarbeiten zu können bietet Fabric eine einheitliche Arbeitsumgebung und für jede Rolle den passenden Einstieg, um schnell auf die passenden Inhalte zugreifen zu können. Fabric orientiert sich hierbei an der Arbeitsumgebung, wie sie für die Power BI-Entwickler schon lange existiert.
In dieser einheitlichen Umgebung wird in sogenannten „Arbeitsbereichen“ zusammengearbeitet und die erstellten Inhalte (Artefakte) gemeinsam genutzt.
Die Arbeit als Data Engineer
Was ist der Data Engineer?
Ein Data Engineer ist die Person innerhalb eines Analytics-Projekts, welche sich um die Datenbeschaffung und Datenaufbereitung kümmert. Oftmals ist auch die Bereitstellung der passenden Infrastruktur zur Speicherung der Daten die Aufgabe eines Data Engineers.
Fabric bietet einem Data Engineer viele Möglichkeiten, um die konkreten Aufgaben dieser Rolle bestmöglich auszuüben:
- Bereitstellung der Infrastruktur zur Datenspeicherung (Lakehouse)
- Erstellung von Prozessketten (Pipelines, Flows) zum Kopieren von Daten in das Lakehouse
- Schreiben von Code/Skripten (Notebooks) für die Datenerfassung, -aufbereitung und Datentransformation
Die Tools des Data Engineer
Die Anwenderoberfläche von Fabric ist optimal angepasst auf die jeweilige Rolle. Entsprechend der Rolle bekommt jeder Anwender als Startbildschirm direkt die Menüpunkte, Werkzeuge und Inhalte eingeblendet, die für seine Arbeit am wichtigsten sind und zuletzt vom ihm erstellt bzw. verwendet wurden.
Für den Data Engineer sieht die Oberfläche beispielsweise wie folgt aus:
Dieser schnelle und optimierte Einstieg erhöht die Effizienz und ermöglicht eine nahtlose Weiterentwicklung der Projektinhalte.
Die Fabric Data Factory
Die Fabric Data Factory ist, wie zuvor die „Azure Data Factory“, die Datendrehscheibe. Data Engineers können Daten aus verschiedensten Datenquellen extrahieren und transformieren und diese den Zielspeichern (Lakehouses und Warehouses) der Fabric-Plattform zuführen.
Für diese Aufgabe stehen zwei Werkzeuge bereit, die “Data Flows” und die “Data Pipelines”:
- Data Flows: Die Data Flows bieten eine Vielzahl von vordefinierten Transformationsbausteinen, so dass sie, ohne einen Code schreiben zu müssen, in einer grafischen Oberfläche Ihre ETL/ELT-Prozesse abbilden können. Die Dataflows basieren auf der bekannten Power Query-Engine, wie sie auch in Power BI, Excel und anderen Tools verwendet wird. Ein Dataflow wird in der Regel eingesetzt, um eine einzige Tabelle als Ergebnis der Transformationsschritte zu erhalten (z.B. eine aufbereitete Kundenstamm-Tabelle).
- Datenpipelines: Die Datenpipelines bringen ebenfalls viele vordefinierte Bausteine mit, die in einer grafischen Oberfläche per Drag & Drop genutzt werden können. Dadurch können einfache bis sehr komplexe Datenabläufe gesteuert werden.
Neben dem Extrahieren von Daten aus verschiedensten Quellen, können auch SQL-Skripte, Notebooks oder Dataflows ausgeführt werden.
Durch smarte Assistenten ist das Kopieren von Daten von A nach B sehr einfach und schnell realisierbar. Unterstützend und zeitsparend bietet die Fabric Data Factory viele vordefinierte Aktivitäten, wie z. B. schnelles Kopieren von Daten (Copy Data, Copy Data Assistant) und ermöglicht zudem die Verarbeitung von M365-Aktivitäten mittels Microsoft Graph.
Der One Lake
Der OneLake ist der zentrale Datenspeicher innerhalb von Fabric. Die gemeinsame Nutzung von Daten in OneLake ist so einfach wie die gemeinsame Nutzung von Dateien in OneDrive, wodurch die Notwendigkeit der Datenduplikation entfällt.
Alle Daten werden im OneLake, in einem einheitlichen Delta-Parquet Format, gespeichert (Dieses Format hat sich als Standard durchgesetzt in der Arbeit mit Data Lakes und wurde nicht von Microsoft erfunden).
Alle arbeiten mit der „einen Wahrheit“ im OneLake, es sind keine weiteren Import/Export-Prozesse nötig. Alle Werkzeuge sind außerdem optimiert worden, um perfekt mit den Delta-Parquet Tabellen zu arbeiten.
Mit Hilfe von Verknüpfungen können bereits vorhandene Data Lakes dem OneLake hinzugefügt werden, ohne dass die Daten physisch dorthin kopiert werden müssen. Mit Hilfe von Verknüpfungen können nicht nur Data Lakes angebunden werden, die sich in Microsoft Azure befinden, sondern ebenfalls Data Lakes aus anderen Cloud-Umgebungen, wie zum Beispiel Amazon oder Google, ohne dass Daten dupliziert oder verschoben werden müssen.
Das Fabric Data Warehouse
Der Data Warehouse-Bereich bietet branchenführende SQL-Leistung und -Skalierung. Sie trennt Computer und Speicher vollständig und ermöglicht so eine unabhängige Skalierung beider Komponenten. Darüber hinaus werden Daten nativ im offenen Delta Lake-Format gespeichert.
Das Fabric Data Warehouse ist die erste transaktionale Datenbank, die auf Delta Parquet aufsetzt.
Es sind alle Funktionen verfügbar, wie man Sie vom SQL-Server kennt (Tabellen, Abfragen, Gespeicherte Prozeduren). Gleichzeitig ist sie auf Knopfdruck erstellbar, ohne umständlich im Azure Portal Ressourcen anlegen zu müssen.
Durch den Standard Delta-Parquet können Daten aus dem Lakehouse sehr einfach abgefragt werden und ein “JOIN”, eine Verknüpfung, zwischen Warehouse und Lakehouse Objekten ist ebenfalls einfach möglich.
Die Performance ist sehr gut. Das Datawarehouse skaliert selbstständig rauf unter runter, abhängig von dem aktuellen “Traffic”, wie parallele Datenanfragen bzw. wieviel Datenvolumen wird abgefragt.
Fortgeschrittenes Data Engineering
Der Bereich Data Engineering bietet eine erstklassige Spark-Plattform mit hervorragenden Erstellungsfunktionen, die es technischen Fachkräften für Daten ermöglichen, eine umfangreiche Datentransformation durchzuführen und Daten über das Lakehouse zu demokratisieren. Durch die Spark-Integration in Data Factory können Notebooks und Spark-Aufträge in Microsoft Fabric geplant und orchestriert werden.
Lakehouse
Ein Lakehouse ist eine Datenarchitektur, um strukturierte und unstrukturierte Daten an einem einzigen Ort zu speichern und zu verwalten. Data Engineers können Lakehouses anlegen, um Roh-Dateien und aufbereitete Daten dort abzulegen.
Apache Spark-Auftragsdefinition
Im Hintergrund arbeitet Apache-Spark als Berechnungs-Engine. Spark-Auftragsdefinitionen sind Anweisungen, die definieren, wie ein Auftrag in einem Spark-Cluster ausgeführt wird. Sie enthalten Informationen wie die Eingabe- und Ausgabedatenquellen, die Transformationen und die Konfigurationseinstellungen für die Spark-Anwendung.
Notebook
Notebooks stellen eine interaktive Computing-Umgebung dar, mit der Benutzer:innen ermöglichen, Codes in verschiedenen Programmiersprachen zu schreiben und auszuführen, darunter Python, R und Scala. Sie können Notebooks für die Datenerfassung, Vorbereitung, Analyse und andere datenbezogene Aufgaben verwenden. Notebooks werden in der Praxis genutzt, um automatisiert aus Roh-Datendateien, wie zum Beispiel CSV oder JSON-Dateien strukturierte Tabellen im Delta-Parquet Format zu erzeugen.
Fazit zu Microsoft Fabric für den Data Engineer
Die Idee einer umfassenden Analytics-Plattform ist nicht neu (Stichwort: Synapse Analytics), auch die Einzelprodukte sind schon länger bekannt. Dennoch ist „Fabric“ aus unserer Sicht eine sehr gelungene End2End-Analytics Plattform, die dem Data Engineer seine Tools, die er vorher an verschiedenen Orten, Oberflächen, verschiedenen Azure Ressourcen zusammensuchen musste, nun an einer Stelle zur Verfügung stellt. Durch die zentrale Governance, dem gemeinsamen OneLake wird auch die Zusammenarbeit deutlich vereinfacht, da die Bereitstellung des Zugriffs leichter erfolgen kann.