CubeServ Blog
Bleiben Sie auf dem neuesten Stand, rund um das Data Driven Business mit Tools für Analytics von SAP & Co. und verpassen Sie keine Neuigkeiten, Downloads & Veranstaltungen.

Optimale Datenablage für Microsoft Power BI – Auswertungen

In diesem Beitrag wird untersucht, wie strukturierte Daten optimal abgelegt werden sollten, um effizient mit Mircosoft Power BI visualisiert werden zu können.

Versuchsanlage

Die Daten sind in einer lokalen Oracle-Datenbank gespeichert und via einer View abrufbar.

Um die Datenmenge in der View zu skalieren, ist der View eine Tabelle hinzugefügt, welche bei der Abfrage ein kartesisches Produkt bildet. Damit ist es möglich, die Datenmenge auf einfache Weise zu variieren.

Es sollen in der Versuchsanlage einmal rund 100‘000 Datensätze und einmal rund 10 Mio. Datensätze ausgewertet werden.

Zugriff auf die Datenquelle

Untersucht werden folgende Varianten

  • V1: Import aus Quellsystem
  • V2: Direct Query auf das Quellsystem
  • V3: Direct Lake auf ein Lakehouse
  • V4: Direkt Lake auf ein Warehouse

Die Auswertungen zu Varianten V1+V2 werden über den Power BI-Client erstellt und dann veröffentlicht.

Bei den Varianten V3+V4 wird erst jeweils ein DataFlow für die Aktualisierung der Daten in MS Data Fabric erstellt und darauf die Auswertung mit Power BI erstellt.

Bei allen Auswertungsvarianten erstellt Power BI jeweils ein semantisches Model. 

Das Modell von V1 hält die Daten im Modell und muss eingeplant werden, um die Daten zu aktualisieren. Bei dieser Aktualisierung kann in Modellen, bei welchen garantiert ist, dass ein bestimmter Teil der Daten sich nicht mehr verändert, eine inkrementelle Aktualisierung definiert werden, was den Aktualisierungsvorgang beschleunigen kann. Auf eine inkrementelle Aktualisierung wird bei dieser Untersuchung nicht weiter eingegangen, da alle Daten der Tabelle über die Zeit veränderbar sind.

Das Modell V2 hält keine Daten im Modell. Bei der Aktualisierung wird lediglich die Struktur und die Definitionen im semantischen Modell aktualisiert. Daher ist der Zeitaufwand für eine Aktualisierung sehr klein.

Die Modelle V3+V4 halten ebenfalls Daten im Modell. Diese semantischen Modelle können eingeplant oder bei Aktualisierung des zugrundeliegenden Datentabellen im Lakehouses/Warehouses automatisch nachgeführt werden.

Zeitbedarf für die Aktualisierung des semantischen Layers bei manueller Aktualisierung

Bei den Modellen V3+V4 kommt zu diesen Zeiten noch die Beladung des Lakehouse/Warehouse hinzu. Diese Beladung wird jeweils initial über einen Dataflow Gen2 beladen und für die Aktualisierung der Daten jeweils über eine Data Pipeline nachgeführt.

Bei der initialen Beladung werden die Daten aus der Quelle überschreibend in die jeweilige Zieltabelle geschrieben.

Dauer der Initial-Beladung

Bei der Aktualisierung der Daten werden alle Daten der Quelle, welche einen neueren Zeitstempel als der maximale Zeitstempel im Ziel haben, in eine temporäre Tabelle geladen und dann die Daten im Ziel mit denjenigen Daten aus der temporären Tabelle aktualisiert.

Hierbei werden die hierzu benötigten Notebooks bei der Lakehouse-Beladung mit Spark SQL, bei der Warehouse-Beladung mit T-SQL umgesetzt

Dauer der Differenz-Beladung

Wir sehen, dass der Overhead bei der Differenz-Beladung beträchtlich ist. Wurde seit dem letzten Load keine Daten verändert, so dauert der Abgleich, notabene von 0 Daten, nur unwesentlich kürzer als ein Update von 25000 Datensätze bei 10 Mio. Datensätzen insgesamt.

Aktualisierung Bericht

Alle Berichte V1-V4 sind mit den identischen Berichtselementen bestückt.

Bild8

Es wird jeweils die Summe der Area eines Dimensionswertes in einem Kreisdiagramm ausgegeben. Dabei kann nach einer anderen Dimension über den ganzen Bericht gefiltert werden.

Mess-Kriterium hierbei ist der Zeitbedarf, bis der Bericht nach der höchsten Filterausprägung (WSJ-790) gefiltert werden kann.

Wir sehen, dass bei 100000 Datensätzen bei allen Reports das Mess-Kriterium identisch ist. Bei 10 Mio. Datensätzen wird aber bei Direkt Query V2 wesentlich mehr Zeit bis zur freien Navigation im Report benötigt.

Gesamt-Ergebnis

Berechnen wir nun die Gesamt-Zeit, welche benötigt wird, um Daten (bei 250000 zu aktualisierende Datensätze) in diesem Bericht zu visualisieren, so kommen wir zu folgender Auflistung:

Wir sehen, dass bei kleinen Datenmengen von 100’000 Datensätzen, Import V1 und Direkt Query V2 das optimale Ergebnis liefern. Sollen jedoch grössere Datenmengen in der Größenordnung von 10 Mio. Datensätzen im Report aktualisiert werden, so würde vermeintlich Direkt Query V2 das Rennen machen. Dies stimmt so aber nicht ganz, da, wenn der Endbenutzer den Report öffnet und Filtern will, muss dieser hier am längsten warten. Mit dieser Wartezeit ist bei jedem Aufruf zu rechnen, was bei den Endbenutzern nicht hinzunehmen sein wird.

Daher ist hier auf eine der Varianten V1, V2 oder V3 auszuweichen. Nur diese Varianten werden von den Endbenutzern akzeptiert.

Fazit

Bei kleineren zu visualisierenden Datenmengen bietet sich im Umfeld von Power BI sicher die Varianten mit Direkt Query V2 oder Import der Daten V1 an. Sollen jedoch grosse Datenmengen ausgewertet werden, so ist V2 nicht geeignet, hängt aber sonst etwas von den Vorlieben und Erfahrungen des Entwicklers ab.

Einige Überlegungen hierzu:

Beim Import V1 werden bei jeder Aktualisierung alle Daten aus der semantischen Schicht gelöscht und neu importiert.

Bei der Variante V3 Lakehouse werden strukturierte Daten in ein Schema gepresst, welches auch für unstrukturierte Daten vorgesehen ist.

Die Variante V4 Warehouse ist nach meiner Einschätzung, auch nach meinen Vorlieben der optimale Ablageort der Daten. Zum einen wird ein System verwendet, welches für die vorliegenden strukturierten Daten vorgesehen ist, zum anderen werden nur Daten im Warehouse manipuliert, welche im Source-System auch verändert wurden.

Vereinbaren Sie jetzt Ihren Expert Call. Wir freuen uns über Ihre Nachricht.

Silvio Ackermann

Data Warehouse design, ETL creation and Advanced Analytics on Expert level with interests on technologies and challenges
Newsletter abonnieren

Bleiben Sie auf dem neuesten Stand, rund um das Data Driven Business mit Tools für Analytics von SAP & Co. und verpassen Sie keine Neuigkeiten, Downloads & Veranstaltungen. 

Autor
Expert Team

Blog Artikel unserer Experten

Vom SAP-System zu Microsoft Fabric: So gelingt die Anbindung!

Microsoft Fabric ist eine cloudbasierte Datenplattform. Sie kann Unternehmen dabei unterstützen, ihre Datenverarbeitung, -analyse und -integration zu vereinfachen und zu optimieren. Diese Plattform wird als Saas-Modell (Software as a service) bereitgestellt und sie integriert viele verschiedene Services und Technologien unter einheitlichen Benutzeroberfläche. Die folgende Tabelle fasst die integrierten Services zusammen.

SAP Integration in Azure Data Factory mit CDC

Die Azure Data Factory ist ein cloudbasierter, codefreier ETL- und Datenintegrationsservice von Microsoft, der als Platform-as-a-Service (PaaS) fungiert. Ihr Schwerpunkt liegt auf der nahtlosen Integration von Daten aus vielfältigen Quellen in einem zentralisierten Datenspeicher in der Cloud. Dies ermöglicht eine effiziente Verwaltung und Analyse der

Berechtigungen in Power BI – im Zusammenspiel mit SAP BW

Zeit der Veränderungen Steigende Zinsen, neue regulatorische Anforderungen, Probleme in den Lieferketten – mehr denn je stehen Unternehmen vor der Herausforderung die Auswirkungen neuer Situationen rasch einschätzen und bei Bedarf entsprechende Maßnahmen einleiten zu können. Vor diesem Hintergrund wird die IT-Infrastruktur vielerorts neu gedacht bzw.

openSAP Podcast – Die intelligente Personalplanung im Krankenhaus

Podcast der SAP mit Johannes Kumpf, Business Development Manager HR Solutions & Daniel Schneider, Management Consultant und Healthcare-Experte – beide bei der CubeServ GmbH. Eine detaillierte und zuverlässige Personalplanung ist in Zeiten von personellen Engpässen wichtiger denn je. Hierbei spielen Business Intelligence und Data Warehousing

Health Check Ihrer SAP EPM-Systeme?

In diesen turbulenten Zeiten kann es durchaus vorkommen, dass lang erwartete Projekte zur Ablösung alter Systeme gestoppt werden. Das ist ärgerlich, sehr schade, aber auch verständlich. Ein Health Check der bestehenden Systeme macht daher durchaus Sinn.

CubeServ ist SAP Gold Partner

SAP honoriert die Qualität der Partnerschaft mit CubeServ! Wir freuen uns, von SAP den Status „Gold Partner“ erhalten zu haben.* Im Rahmen des SAP PartnerEdge Program hat sich CubeServ durch Expertise und führende Projekteinsätze erfolgreich für den Gold-Status qualifiziert. Für uns ist das ein Ansporn,