Dimensionale Datenmodelle: So können Sie Änderungen automatisch auf Fehler prüfen
Änderungen in dimensionalen Datenmodellen verlangen nach hoher Aufmerksamkeit – vor allem, wenn es sich um komplexe BI-Lösungen im Konzernbereich handelt. Kommt es zu Fehlern, dann kann dies fatale Folgen haben, angefangen bei falschen Zahlen für die Fachabteilungen bis hin zum kompletten Systemstillstand. Um eine solche Situation auszuschließen, bauen wir bei der Dimensionsbewirtschaftung eine Sicherungskomponente ein, die Aktualisierungen automatisch prüft. Im Rahmen dieses Beitrages möchte ich unsere 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 nun ein multidimensionaler SSAS-Cube für fachliche Analysen auf ein solches Modell zu, dann müssen sich die entsprechenden Änderungen auch dort wiederfinden. Und hier liegt eine entscheidende Fehlerquelle: Bei der Anpassung eines dimensionalen Modells kann es zu Verletzungen der bestehenden Hierarchien kommen, da die Quellen für die Dimensionen nicht immer sauber sind. Entsprechend können die Daten nicht in den Cube übernommen werden. Im schlimmsten Fall lässt sich der Cube nicht mehr bewirtschaften oder Analyseergebnisse sind verfälscht. Deshalb sollte auf eine genaue Prüfung des modifizierten Modells vor der Produktivsetzung niemals verzichtet werden.
Aufbau für die Datenbewirtschaftung
Bevor ich auf unsere Lösung zur Prüfung von geänderten Dimensionsdaten eingehe, möchte ich noch einmal kurz die einzelnen Schritte bei der Bewirtschaftung vergegenwärtigen:
- Die Daten werden aus einer Quelle in eine Staging Area geladen
- Von der Staging Area werden die Daten in einen sogenannten Backroom-Layer überführt. Hier sind auch Transformationen von Daten möglich.
- Die Daten werden in den „Frontroom“-Layer überführt, 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 ist es sinnvoll, eine entsprechende Sicherungsinstanz zu implementieren, die die Daten vor der Überführung in den Frontroom prüft.
Automatische Prüfung mit QS-Cube
Wir setzen nun auf der Ebene des Backrooms einen weiteren SSAS-Cube ein, der ausschließlich der Qualitätssicherung (QS) dient. Dieser QS-Cube ist schnell erstellt: Es handelt sich prinzipiell um eine Kopie des produktiven Cubes mit identischer Struktur. Dabei befüllen wir lediglich die Dimensionen, da es ausschließlich um deren Prüfung geht. Auf die Fakten wird verzichtet.
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 Hinweise darauf, welche Daten bzw. Dimensionen im Backroom nicht passen. Mit dem BIDS-Helper als zusätzlichem Tool lässt sich ein Health-Check der betroffenen Dimension durchführen. Dadurch können wir genau feststellen, 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.
Wenn Sie noch Fragen zu Dimensionsaktualisierungen bei SSAS-Cubes und deren Prüfung haben, dann sprechen Sie mich gerne an!
Neuen Kommentar schreiben