Geschrieben von
René Elgersma
Dec 2024
Disclaimer
Wir respektieren die Privatsphäre und Sicherheit der Kundendaten, weshalb wir in diesem Artikel auf die Verwendung von Screenshots verzichten, die sensible Informationen enthalten könnten. Für eine detaillierte Darstellung des Vorgehens und der technischen Umsetzung empfehlen wir, sich beispielsweise das Video von Guy in the Cube auf YouTube anzusehen. Der Fokus dieses Artikels liegt darauf, die praktische Beweisführung eines realen Anwendungsfalls zu präsentieren und zu demonstrieren, wie die Shortcuts in der Praxis tatsächlich zum Einsatz kommen.
Ausgangssituation: Zwei parallele Welten zusammenführen
In der heutigen Datenlandschaft stoßen viele Unternehmen auf die Herausforderung, Daten aus unterschiedlichen Plattformen effizient zusammenzuführen und nutzbar zu machen. Genau diese Fragestellung haben wir in einem Proof of Concept (PoC) adressiert: Wie lassen sich Daten aus einem Amazon S3 Bucket in Microsoft Fabric einbinden, um Performance und Ressourcenverbrauch optimal zu gestalten? Unser Ziel war es, die Möglichkeiten von Microsoft Fabric zu untersuchen, insbesondere die Nutzung von Shortcuts auf S3 Buckets, um Power BI nahtlos in eine bestehende Cloud Plattform integrieren.
Das Unternehmen, für das wir den PoC durchgeführt haben, hat in den letzten Jahren eine umfangreiche Cloud Plattform auf Basis von Open-Source-Technologien wie Spark Clustern und Jupyter Hub aufgebaut. Gleichzeitig existiert eine gewachsene Microsoft-Landschaft mit SQL Server.
Das bisherige Setup sah vor, die Daten aus der Cloud Plattform zunächst in eine Postgres-Datenbank in AWS zu laden. Von dort wurden die Daten in den SQL Server übertragen, um Transformationen und weitere Modellierungen durchzuführen. Anschließend wurden Ansichten erstellt, die in Power BI integriert wurden. Dieses Setup hatte jedoch den Nachteil, dass es bei großen Datenmengen zu Performance-Problemen kam und ein Full Load des gesamten Prozesses oft eine Stunde oder mehr in Anspruch nahm.
Die Herausforderung bestand also darin, diese beiden Systeme miteinander zu verbinden, um Daten aus der Cloud Plattform direkt in Power BI nutzen zu können – ohne aufwendige ETL-Prozesse oder Performance-Einbußen.
Die Lösung: Shortcuts auf S3 Buckets mit Microsoft Fabric
Microsoft Fabric bietet die Möglichkeit, Datenquellen wie Amazon S3 Buckets über einen Shortcut direkt anzubinden. Der Prozess ist denkbar einfach:
Verbindung herstellen: Über ein bereits vorhandenes On-Premise Data Gateway in AWS, das aufgrund des bisherigen Setups genutzt wurde, haben wir die Verbindung zum S3 Bucket hergestellt. Dafür benötigt man lediglich die Bucket-URL, die Access Keys und das Gateway.
Shortcuts einrichten: Mit wenigen Klicks konnten wir einen Shortcut auf die Daten im S3 Bucket erstellen und hatten anschließend direkten Zugriff auf alle darin enthaltenen Tabellen.
Direkte Nutzung: Die Daten wurden im Direct Lake Mode verarbeitet, was eine nahezu Echtzeit-Performance ermöglicht – vergleichbar mit dem Import-Mode von Power BI, ohne Wartezeiten durch ETL-Prozesse.
Optimierung der Datenintegration und Performance durch Direct Lake Mode
Nachdem die Verbindung zum S3 Bucket hergestellt war, konnten wir die Tabellen direkt einsehen und darauf zugreifen, ohne zusätzliche Daten in eine Datenbank laden oder auf Tools wie SSIS zurückgreifen zu müssen. Mit dem Shortcut konnte ich quasi live auf die Daten im S3 Bucket zugreifen, was die Prozesse erheblich vereinfachte. So war es möglich, direkt Semantic Models aufzusetzen und Berichte in Power BI zu erstellen und zu nutzen. Unter der Voraussetzung, dass die Daten in der Amazon-Umgebung sauber strukturiert und benannt sind, entfällt der Bedarf für ETL-Prozesse oder ähnliche Zwischenschritte. Dies führt nicht nur zu weniger Komplexität, sondern eliminiert auch Wartezeiten, wie sie bei ETL-Läufen üblich sind.
Die Performance der Berichte war auch wirklich überzeugend: Selbst bei größeren Datenmengen fühlte sich die Navigation und das Durchführen von Drill-Downs in den Reports nahezu an, als würde man den Import Mode nutzen. Es gibt jedoch teilweise etwas Wartezeit, wenn bestimmte Inhalte zum ersten Mal aufgerufen werden. Man merkt, wenn Daten frisch in den Cache geladen werden. Mit etwas Feintuning ließe sich dieser Punkt jedoch vermutlich noch weiter optimieren.
Für den PoC ging es jedoch nicht nur um den initialen Zugriff auf die Daten, sondern auch um die Möglichkeit, ein fertiges Datenmodell direkt in Fabric verfügbar zu machen. Idealerweise befinden sich die Daten bereits in der Amazon-Umgebung, sodass sie nur noch visualisiert werden müssen. Da dies jedoch nicht immer der Fall ist, war es notwendig, einen Zwischenschritt einzubauen.
Um die Datenqualität sicherzustellen und die Basis für ein performantes Modell zu schaffen, habe ich ein Notebook erstellt, das mithilfe von Spark SQL die Daten gefiltert und eine Faktentabelle generiert hat. Zusätzlich wurden mehrere Dimensionstabellen erstellt. Dieses Vorgehen ermöglichte es, die Struktur der bisherigen SQL-Server-Datenbank 1:1 in Microsoft Fabric abzubilden, inklusive eines sauberen Star-Schemas mit allen benötigten Keys für Beziehungen.
Der Vergleich der beiden Prozesse zeigt klare Unterschiede in Effizienz und Komplexität:
- Traditioneller Prozess (Postgres, SQL Server, SSAS): Daten müssen aus Postgres extrahiert, auf dem SQL Server transformiert und in SSAS integriert werden. Ein vollständiger "Full Load" dauert oft mehr als eine Stunde aufgrund der komplexen ETL-Schritte und Performance-Einbußen.
- Microsoft Fabric mit Direct Lake: Daten werden direkt aus einem Amazon S3 Bucket in Power BI integriert. Der gesamte "Full Load" dauert weniger als 15 Minuten, was den Prozess erheblich vereinfacht und beschleunigt.
Mit dem neuen Setup konnten wir schließlich ein Semantic Model erstellen, das nicht nur leistungsfähiger war, sondern auch schneller umgesetzt werden konnte. Innerhalb eines halben bis maximal eines Tages war ein vollständiger Bericht aufgebaut und nutzbar . Dazu muss man sagen, dass wir hierbei auf ein bestehendes Projekt als Vorlage zurückgreifen konnten und dieses lediglich nachbauen mussten. Dieser Vorteil hat den Prozess natürlich deutlich beschleunigt, da bereits eine klare Struktur und vordefinierte Anforderungen vorhanden waren. Dank des Direct Lake Modus entfielen zusätzliche Zwischenschritte, und die Daten – einschließlich Dimensionen und Faktentabellen mit über 60–70 Millionen Zeilen – waren zentral im Lakehouse verfügbar, ohne durch ein potenziell ausgelastetes Gateway zu müssen.
Kostenüberblick und Monitoring der Power BI Premium Capacity
Microsoft Fabric ist in der Power BI Premium Capacity grundsätzlich im Preis enthalten, jedoch sollte die Auslastung regelmäßig überwacht werden. Sollte die Kapazität zu stark beansprucht werden, könnte es erforderlich sein, eine zusätzliche Premium Capacity hinzuzufügen, was zu zusätzlichen Kosten führen würde.
Im vorliegenden Fall liegt die Gesamt-Auslastung der verwendeten Power BI Premium Capacity unter 50%, was ausreichend Spielraum lässt – selbst bei hunderten von Reports und Workspaces. Die meisten dieser Reports werden über Live Connection betrieben, was die Belastung gering hält.
Für den Proof of Concept (PoC) haben wir speziell die Nutzung über einen 5-tägigen Zeitraum untersucht, in dem täglich einmal das Persistieren des Reports durchgeführt wurde. Dabei betrug die Auslastung lediglich 0,2% der gesamten verfügbaren CU-Sekunden im betrachteten Zeitraum. Dies verdeutlicht, dass der Ressourcenverbrauch während des Tests sehr gering war.
Es ist jedoch zu beachten, dass es sich hierbei um einen PoC handelte, bei dem nur 2-3 Testnutzer beteiligt waren. In einem realen Szenario könnte der Ressourcenverbrauch höher ausfallen, jedoch lässt sich sagen, dass die Kosten im Verhältnis zur Nutzung in diesem Fall äußerst niedrig sind.
Fazit
Der Test von Microsoft Fabric zur Integration von S3-Daten in Power BI zeigt deutlich die Vorteile dieser Lösung in der Praxis. Der Direct Lake Mode ermöglicht es, Daten in nahezu Echtzeit zu verarbeiten, ohne aufwändige ETL-Prozesse oder Performance-Einbußen durch zu große Datenmengen. Besonders hervorzuheben ist, dass durch die Nutzung von Shortcuts auf S3 Buckets der gesamte Prozess vereinfacht und beschleunigt wurde – von der Datenquelle bis hin zur Erstellung von Berichten und Dashboards. Das Setup ist nicht nur schnell und flexibel, sondern führt auch nicht zu signifikant höheren Kosten und benötigten Ressourcen.