Metadaten sind ein oft übersehener, aber unverzichtbarer Bestandteil von Data Warehouses. Sie dienen als Beschreibung der Struktur und Bedeutung der im Data Warehouse gespeicherten Daten und ermöglichen es, diese besser zu verstehen und zu nutzen. In diesem Blog-Eintrag werden wir uns genauer mit den Vorteilen und möglichen Nachteilen von Metadaten im Data Warehouse-Kontext auseinandersetzen und ein Beispiel für ein minimal ausgelegtes Metadatenkonstrukt vorstellen, das sich inkrementell weiter entwickeln lässt. Wir werden auch auf die Rolle von Metadaten beim Management von Data Warehouses eingehen und zeigen, wie sie zu einem wesentlichen Faktor für den Erfolg von Data Warehouse-Projekten werden können.
Datawarehouse Metadaten
In diesem Blog werden wir zwei verschiedene Arten von Metadaten unterscheiden: Statische Metadaten und dynamische Metadaten. Statische Metadaten beschreiben die Struktur und Bedeutung von Daten im Data Warehouse und bleiben in der Regel über einen längeren Zeitraum unverändert. Beispiele für statische Metadaten sind die Namen und Datentypen von Feldern in einer Tabelle oder Parameter von einem generischen Prozess. Dynamische Metadaten hingegen beschreiben den aktuellen Status oder die aktuelle Nutzung von Daten und können sich häufiger ändern. Beispiele für dynamische Metadaten sind Daten, die festhalten, wann bestimmte Daten zuletzt verarbeitet wurden oder wann ein Prozess zuletzt ausgeführt wurde.
Vorteile von statischen Metadaten
Um die verschiedenen Vorteile von den Metadaten ein bisschen genauer zu erläutern, schauen wir uns noch einmal ein paar Beispiele für statische Metadaten an und zeigen auf, was sie alles an Vorteile mit sich bringen:
- Parametrisierung von Prozessen
Die Parametrisierung von generischen Prozessen durch Metadaten hat einige Vorteile. Der größte Vorteil ist die Wiederverwendbarkeit dieser Prozesse. Man kann beispielsweise einen Prozess für mehrere Quellsysteme verwenden, indem man Quell- und Ziel-Tabellen als Parameter mitgibt, anstatt für jedes Quellsystem einen neuen Prozess erstellen zu müssen. Ein weiterer Vorteil ist die Anpassungsfähigkeit des Prozesses, da man nicht den gesamten Prozess anpassen muss, sondern lediglich die Metadaten, die den Prozess steuern. Auch zukünftige Anpassungen, die am Prozess oder an den Metadaten vorgenommen werden müssen, sind weniger aufwendig, da der Code und die Parameter getrennt gehalten werden. - Namen von Datenelemente
Diese Metadaten ermöglichen es Benutzern, leicht Zusammenhänge zwischen den Daten im Data Warehouse zu erkennen. Das kann zu einem besseren Verständnis der Daten beitragen. Ein weiterer Vorteil ist, dass man durch eine Liste aller Objekte in einer Datenbank Ausreißer erkennen kann. Diese Ausreißer könnten auf mögliche Fehler in der Struktur hinweisen. - Metadaten als Referenz Daten
Die Verwendung von Metadaten als Referenz Daten, wie zum Beispiel eine Tabelle, die alle möglichen Fehler, welche in diesem Data Warehouse auftauchen können, enthält, gewährleistet die Konsistenz der Daten und ermöglicht eine zentrale Verwaltung der Daten. Dadurch wird das Erweitern oder die Aktualisierung erleichtert. Durch die Verwendung von Metadaten kann auch die Data Governance verbessert werden, da man Änderungen an den Referenzdaten mithilfe der Metadaten verfolgen kann.
Vorteile von dynamischen Metadaten
Auch hier gehen wir nochmals auf ein paar Beispiele ein.
- Protokollierung von Prozessen
Die Verwendung von Metadaten bei der Protokollierung von Prozessen bietet mehrere Vorteile. Zunächst kann es die Nachvollziehbarkeit von Prozessen verbessern, indem es wichtige Informationen wie Start- und Endzeit, Dauer und Ergebnisse festhält. Im Falle von Problemen können Metadaten auch dabei helfen, die Ursache schnell zu identifizieren und zu beheben, indem sie Eingabeparameter, Fehlermeldungen und Protokolle bereitstellen. Sie können auch zur Verbesserung der Performance beitragen, indem sie Ausführungszeiten von Prozessen bereitstellen, die bei der Optimierung von Prozessen hilfreich sind. Schließlich können Metadaten dazu beitragen, Compliance-Anforderungen einzuhalten, indem sie eine Aufzeichnung von Prozessen bereitstellen, die bei Audits verwendet werden kann. - Metadaten zur Datenqualität
Metadaten zur Datenqualität tragen dazu bei, die Qualität von Daten zu verbessern, indem Fehler oder Probleme einfacher identifiziert und behoben werden können. Sie helfen besser informierte Entscheidungen, auf der Grundlage von Daten zu treffen, insbesondere in Branchen, in denen Datenqualität von großer Bedeutung ist. Sie können auch dazu beitragen, die Effizienz zu verbessern, indem sie verhindern, dass Zeit und Ressourcen in Prozesse verschwendet werden, die auf fehlerhaften Daten basieren. - Metadaten zur Data Lineage
Data Lineage Metadaten ermöglichen es, die Herkunft von Daten im Laufe der Zeit zu verfolgen. Somit erleichtern sie die Qualität und Nachvollziehbarkeit von Daten und helfen dabei Fehler oder Probleme mit der Datenqualität zu identifizieren. Je nach Organisation kann verlangt werden, dass die Herkunft und Verwendung von Daten verfolgt wird. Dies kann auch durch Data Lineage Metadaten garantiert werden. Weiterhin können Data Lineage Metadaten dazu beitragen, die Data Governance zu verbessern und sicherzustellen, dass Daten konsistent und korrekt im gesamten Unternehmen verwendet werden.
Metadaten Framework für ein DWH
Ein Minimalbeispiel von einem Metadatenframework, wie es in der Abbildung 1 aufgezeigt ist, könnte vorerst mal nur die strukturellen Metadaten beinhalten. So ein Framework ist sehr einfach zu implementieren und kann für kleinere Projekte geeignet sein. Durch diese Metadaten ist es einfacher einen Überblick über die Struktur behalten zu können. Außerdem wird die Zusammenarbeit zwischen verschiedenen Benutzern und Systemen vereinfacht, indem eine gemeinsame Basis für die Namensgebung von den Objekten gegeben ist.
Dieses Framework kann gut ausgebaut werden, indem wir zusätzlich zu den strukturellen Metadaten die Prozess und Referenz Metadaten brauchen (Abbildung 2). Die Referenz Metadaten tragen dazu bei, dass die Qualität von den Daten sowie auch die Data Governance durch eine zentralisierte Quelle für die Referenzdaten verbessert wird. Weiterhin können Referenz Metadaten dazu beitragen, die Entscheidungsfindung auf der Grundlage von Daten zu verbessern, indem sie die Herkunft und Verwendung von Daten nachvollziehbar machen.
Prozessmetadaten können dazu beitragen, die Effizienz von Data Warehouse-Prozessen zu verbessern. Sie ermöglichen die Benutzung von generischen Prozessen, welche durch Metadaten gesteuert werden. Dies reduziert den Entwicklungsaufwand und ermöglicht die einfache Überwachung von Leistungsindikatoren durch das Loggen von Informationen darüber, wann und wie die Daten verarbeitet wurden. Schließlich können sowohl die Prozess- als auch die Referenz-Metadaten gleich wie die strukturellen Metadaten, die Struktur und die Bedeutung der Daten hervorheben.
Wir können das Metadatenkonstrukt noch weiter ausbauen (Abbildung 3), indem wir beispielsweise weitere strukturelle Metadaten bezüglich der Infrastruktur und der Data Lineage hinzufügen. Diese würden wieder zu einer verbesserten Data Governance und besseren Nachvollziehbarkeit der Daten führen.
Es gibt noch viele weitere Metadaten, welche wir in unserem Beispiel nicht angeschaut haben. Allerdings ist es wichtig, sich vorab bewusst zu machen, welche Metadaten für den eigenen Anwendungsfall relevant sind, da sie auch gewisse Probleme mit sich bringen können.
Potenzielle Nachteile von Metadaten
Wie wir in unserem obigen Beispiel gesehen haben, kann die Komplexität von Metadaten schnell anwachsen. Ein weiterer Hauptnachteil ist der Aufwand, der erforderlich ist, um Metadaten zu erstellen, zu verwalten und zu pflegen. Dies kann besonders aufwendig sein, wenn es viele verschiedene Systeme und Datenquellen gibt, die integriert werden müssen. Wenn dies nicht konsequent gemacht wird, besteht die Gefahr, dass bei Veränderungen in den Daten die Metadaten inkonsistent oder veraltet werden. Letztendlich besteht noch das Problem von den Berechtigungen auf den Metadaten. Einerseits sollten die Berechtigungen möglichst eingeschränkt sein, damit sich Benutzer und Systeme nicht mit Metadaten von anderen Systemen herumschlagen müssen. Andererseits müssen die Berechtigungen immer locker genug sein, dass kein Benutzer bei der Arbeit eingeschränkt wird.
Fazit
Ein gut implementiertes Metadatenframework kann enormen Mehrwert bieten. Es verbessert die Benutzerfreundlichkeit und Qualität der Daten, macht es einfacher, das System zu verstehen, und kann viel Arbeit durch die Wiederverwendbarkeit von Prozessen sparen. Jedoch sollte man sich auch die möglichen Risiken bewusst sein, die durch ein schlecht konzipiertes oder ein nicht auf das spezifische Data Warehouse abgestimmtes Metadatenframework verursacht werden.