Mit PowerBI kann neu auch auf eine lokale Datenbank, welche im eigenen Rechenzentrum steht, zugegriffen werden. Dadurch werden die Daten für Reports jeweils aktuell aus der eigenen On-Prem Datenbank geladen und sind nicht irgendwo in einer Cloud gespeichert. Damit konnte dem Wunsch vieler PowerBI-Anwender entsprochen werden, Daten aus lokalen Datenbanken zu beziehen, Reports jedoch mit maximal möglicher Flexibilität auch unterwegs anzuzeigen.
PowerBI wird laufend weiterentwickelt und es kommen neue Features dazu. So können Daten aus verschiedenen Datenquellen abgerufen werden. Eine Möglichkeit besteht darin, mittels einer Live Connection auf eine On-Prem Datenbank zuzugreifen. So ist es nicht mehr notwendig, die benötigten Daten für einen Report entweder zuerst aus der Datenbank in ein File zu exportieren um damit zu arbeiten, oder die Daten anderweitig online zur Verfügung zu haben.
Wird mittels einer Live Connection von PowerBI auf eine on-prem Datenbank zugegriffen, so hat das mehrere Vorteile auf welche ich im Folgenden kurz eingehen möchte.
Informationen in der Cloud
Bei einer Live Connection in PowerBI auf die on-prem Datenbank werden keine Daten aus der Datenbank in der Cloud gespeichert. Es werden nur die Metadaten gespeichert, welche benötigt werden um den Report zu erstellen, wie zum Beispiel die Struktur eines Reports und welche Daten angezeigt werden sollen. Die eigentlichen Daten werden jeweils erst zur Laufzeit direkt aus der Datenbank aufgerufen.
Dabei übermittelt PowerBI die Anfrage zusammen mit den Zugriffsrechten des aufrufenden Benutzers an die Datenbank. Die Datenbank überprüft anschliessend, welche Rechte der Benutzer hat und stellt anhand der Anfrage die Daten zusammen. Das Ergebnis wird wieder an PowerBI zurück gesendet und dort angezeigt. Es werden somit je nach Report nur die konsolidierten Zahlen wie zum Beispiel der Gesamtumsatz und keine Details übermittelt. Ein weiterer Vorteil ist, dass bei komplexen Anfragen die Rechenleistung der Datenbank genutzt wird und keine riesigen Datenmengen übermittelt werden müssen.
Zugriffsrechte
Da keine Daten in PowerBI gespeichert werden, sondern jedes Mal aus der Datenbank abgerufen werden, können auch keine sensiblen Daten von unberechtigten Benutzern eingesehen werden.
Sobald ein Anwender einen Report aufruft, sendet PowerBI die Credentials des Benutzers an die Datenbank. In der Datenbank werden diese Überprüft und anhand der Rechte die Daten entsprechend aufbereitet.
Welche Daten sieht der Anwender
Teilt ein Anwender einen Report mit einem anderen Anwender, sehen die beiden Benutzer nicht zwingend die gleichen Daten. Da im Report selber keine Daten gesichert werden und jedes Mal neu abgerufen werden, hängt es von den jeweiligen Rechten des Benutzers in der Datenbank ab, was angezeigt wird.
Die Möglichkeit, direkt auf eine On-Prem Datenbank zuzugreifen und nicht zuerst die Daten aus der Datenbank zu extrahieren und anschliessend z.B. mittels eines Excel-Files weiter zu verarbeiten hat aus meiner Sicht unter anderem die folgenden Vorteile:
- Der gleiche Report kann von Anwendern verschiedener Abteilungen verwendet werden. Für jeden User werden die für ihn relevanten Daten angezeigt.
- Es müssen nicht nochmals an einer anderen Stelle separate Benutzerrechte vergeben werden, die Rechte der Datenbank sind entscheidend.
- Wird ein Report an eine Person ohne die notwendigen Rechte weitergeleitet, sind die Daten vor dieser Person verborgen.
- Wechselt ein Mitarbeiter innerhalb der Firma die Abteilung, sieht er wieder die (gemäss seiner neuen Rolle) für ihn notwendigen Daten, sobald die entsprechenden Rechte in der Datenbank angepasst wurden.
- Die Daten aus der Datenbank sind aktuell, Reports werden nicht auf veralteten Daten aufgebaut.
- Es ist nachvollziehbar, woher die Daten stammen.
- Es können Reports erstellt werden, welche auf sehr grossen Datenmengen basieren.