Technologien für BI im Wandel
Microsoft-Technologien entwickeln sich ständig weiter. Im Folgenden möchte ich verschiedene Zusammenstellungen technischer Komponenten vorstellen, mit denen heute und in der Zukunft professionelle Business-Intelligence-Projekte umgesetzt werden können.
Aktueller Technologie-Stack für SQL Server On Premise

Auf der linken Seite werden alle möglichen Quelldaten dargestellt. Das können Datenbanken, Exceldateien, APIs, REST-Schnittstellen, CSV-Dateien, Sharepoint-Listen, PDF-Dateien und sonstige Formate sein. Diese können in Sharepoint, OneDrive, on premise oder in der Cloud liegen.
Der gelbe Teil findet normalerweise auf Windows-Servern statt. Diese können entweder on premise im eigenen Rechenzentrum, oder in einem dedizierten VNET in der Azure Cloud liegen.
PowerAutomate wird über einen Gateway verwendet, um z.B. Dateien, die in Sharepoint (M365) liegen, auf das Dateisystem der Server zu verschieben. Mit der Programmiersprache C# und dem .NET-Framework werden diese Dateien sowie die sonstigen Datenquellen in SQL Server kopiert. Innerhalb des SQL Server werden die Daten transformiert, strukturiert und verbunden. Von dort aus werden sie über SQL Server Analysis Services voraggregiert, und um weitere analytische Funktionalitäten angereichert. Excel kann diese voraggregierten Datenmodelle direkt konsumieren. Power BI kann sie über ein weiteres Gateway auch konsumieren, sodass keine eigenen Power BI-Datenmodelle mehr aufgebaut werden müssen. So lässt sich ein einziges Modell für hunderte Power BI-Reports wiederverwenden.
Aktueller Technologie-Stack mit Azure SQL-Datenbank in der Cloud

Hier wurde der lokale SQL Server nun ausgetauscht durch eine Azure SQL-Datenbank in der Cloud.
Power BI braucht in dieser Variante ein zweistufiges Modell, um Wiederverwendbarkeit zu gewährleisten. Power BI-Datenmodelle ziehen sich die Daten aus der Azure SQL-Datenbank, und die Power BI-Reports hingegen nutzen nur noch das im ersten Schritt entstandene Datenmodell.
Technologien mit Fabric (in der Zukunft)

In der Zukunft werden die Server gar nicht mehr benötigt. Fabric kann nach dem Data-Lake-Ansatz sowohl die Original-Dateien speichern (dadurch fällt das Dateisystem weg), als auch über sog. „Notebooks“ die Ladeprozesse orchestrieren, die für das Einladen der Rohdaten nötig sind (dadurch fällt C# auf dem Server weg).
Innerhalb von Fabric lassen sich für alle Verarbeitungsschritte die Programmiersprachen der Wahl (z.B. C#, Python, SQL, Spark) flexibel miteinander kombinieren, sowie auch externe Libraries für weitere analytische Zwecke einbinden. Fabric wird irgendwann im Jahr 2024 erwartet.
Zusätzlich zu normalen Datenquellen haben wir hier auch den Umgang mit Sensordaten dargestellt. Sensordaten können in Echtzeit im Azure Event Hub gespeichert werden, und dann von Fabric über die „Kusto Query Language“ (KQL) flexibel ausgelesen werden. Mit KQL können Milliarden von Datensätzen leicht auf relevante Inhalte abgefragt werden.
In Fabric wird es für Power BI einen speziellen „OneLake-Modus“ geben, der die Daten nicht mehr in das Datenset importiert, sondern einfach nativ auf die Originalquelle zugreift, damit aber die gleichen Funktionalitäten und die Performance von nativen Datensets hat. Das Datenset wird also quasi virtualisiert. Somit braucht Power BI auch gar keine eigenen Datenaktualisierungen mehr, und die ganzen Ladeprozesse fallen weg.
Wie neue Projekte heute umgesetzt werden können, um auf Fabric vorbereitet zu sein

Da Fabric noch nicht richtig released ist, sollten wir bei neuen Projekten diejenigen Technologien nutzen, die erstens am meisten kompatibel sind, und zweitens von Microsoft in Fabric migriert werden.
Azure Synapse Analytics hieß bis vor ein paar Jahren noch „Azure Data Warehouse“. Dort ist bereits der „Data Engineering“-Teil von Fabric umgesetzt. Es beinhaltet sowohl die „Notebooks“, mit denen die ETL-Prozesse flexibel programmiert werden können, als auch den „Data Lake“, der Dateien aus einem Dateisystem dynamisch mit strukturierten Daten in Datenbank-Tabellen verknüpft.
Um Power BI-Datasets zu erstellen, werden die Daten bei diesem Ansatz (wie früher) nach Power BI importiert, und von dort aus wiederverwendet.