Änderungen für dimensionale Datenmodelle verlangen nach hoher Aufmerksamkeit – vor allem, wenn es sich um komplexe Business Intelligence Lösungen im Konzernbereich handelt. Kommt es zu Fehlern, dann kann dies fatale Folgen für Sie haben, angefangen bei falschen Zahlen für die Fachabteilungen bis hin zum kompletten Systemstillstand. Um eine solche Situation auszuschließen, können Sie bei der Dimensionsbewirtschaftung eine Sicherungskomponente einbauen, die Aktualisierungen automatisch prüft. Im Rahmen dieses Beitrages möchte ich diese Lösung genauer beschreiben.
Fehler bei der Aktualisierung von Datenmodellen
Moderne Datenlösungen sind laufend in Bewegung. Anpassungen der zugrundeliegenden Dimensionstabellen gehören zum täglichen Geschäft, beispielsweise wenn neue Produkte hinzukommen oder sich die Zuordnung von Produkten ändert. Greift Sie nun mit einem multidimensionalen SSAS-Cube für fachliche Analysen auf dimensionale Datenmodelle zu, dann müssen sich die entsprechenden Änderungen auch dort wiederfinden. Und hier liegt eine entscheidende Fehlerquelle: Bei der Anpassung eines dimensionalen Modells kkönnen Sie bestehenden Hierarchien verletzen, da die Quellen für die Dimensionen nicht immer sauber sind. Entsprechend übernehmen Sie die Daten nicht in den Cube übernommen. Im schlimmsten Fall lässt sich der Cube nicht mehr bewirtschaften oder Analyseergebniimmer prüfen.
Aufbau für die Datenbewirtschaftung
Bevor ich auf die Lösung zur Prüfung von geänderten Dimensionsdaten eingehe, möchte ich noch einmal kurz die einzelnen Schritte bei der Bewirtschaftung vergegenwärtigen:
- Sie laden die Daten aus einer Quelle in die Staging Area
- Von der Staging Area überführen Sie die Daten in einen sogenannten Backroom-Layer. Hier können Sie beii Bedarf auch Daten transformieren.
- Sie überführen die Daten in den „Frontroom“-Layer, auf den der fachliche Cube zugreift.
Da der Frontroom die Quelle für den Cube bildet, müssen die dort bereitgestellten Daten immer konsistent sein. Deshalb implementieren wir eine Sicherungsinstanz, die die Daten vor der Überführung in den Frontroom prüft.
Automatische Prüfung mit QS-Cube
Sie setzen auf der Ebene des Backrooms einen weiteren SSAS-Cube ein, der ausschließlich der Qualitätssicherung (QS) dient. Dieser QS-Cube ist schnell erstellt: Sie erstellen prinzipiell eine Kopie des produktiven Cubes mit identischer Struktur. Dabei befüllen Sie lediglich die Dimensionen, da es ausschließlich um deren Prüfung geht. Auf die Fakten verzichten Sie.
Der QS-Cube wird nun automatisch mit allen neuen Daten aus dem Backroom prozessiert. Ist dieser Vorgang erfolgreich, dann sind die Dimensionen im Backroom in einem gültigen Zustand, sodass die Daten weiter in den Frontroom geladen werden können. Falls die Prozessierung nicht erfolgreich war, wird die Verarbeitung im Backroom gestoppt. Eine entsprechende Fehlermeldung gibt Ihnen Hinweise darauf, welche Daten bzw. Dimensionen im Backroom nicht passen. Mit dem BIDS-Helper als zusätzlichem Tool können Sie einen Health-Check der betroffenen Dimension durchführen. Dadurch stellen Sie festn, welche Datensätze korrigiert werden müssen.
Beispiel aus der Praxis
Zum Abschluss noch ein Beispiel, wie wir den beschriebenen Lösungsaufbau bei einem unserer Kunden – einem Telekommunikationskonzern – einsetzen. Auf diese Weise ermöglichen wir eine tägliche Aktualisierung der Dimensionen:
- Bis 14 Uhr: Pflege der Quellen. Änderungen nach 14 Uhr werden erst am Folgetag übernommen.
- 14 Uhr: Abzug der Quellen und Laden der Daten in den Backroom. Im Anschluss werden die Dimensionen im Backroom mit dem QS-Cube geprüft. Hier erfolgt ein FullProcess auf die Dimensionen.
- 20 Uhr: Laden der Daten in den Frontroom. Danach werden die Dimensionen des produktiven Cubes mit dem ProcessUpdate-Befehl prozessiert. Dabei werden die vorhandenen Aggregate zerstört und mit dem ProcessDefault-Befehl wieder aufgebaut. In dieser Zeit ist der Cube nur schwer zugänglich und die Fakten dürfen nicht bewirtschaftet werden. Daher erfolgt dieser Step erst um 20 Uhr, wenn kein Nutzer mehr auf den Cube zugreift.
Dimensionale Datenmodelle – wenn Sie mehr zum Thema oder allgemein zu der Entwicklung und dem Betrieb moderner Datenlösungen wissen möchten, schauen Sie mal auf der Seite Big Data Engineering vorbei.
Kommentare (0)