Data Governance #08 – The Da Vinci Code: Metadaten – das Geheimnis hinter den Daten
Zur Klärung der zentralen Begriffe haben wir ein Glossar zur Beitragsreihe Data Governance für Sie eingerichtet.
In der Welt der Data Governance spielen Metadaten eine entscheidende Rolle, da sie Informationen über die eigentlichen Daten liefern und somit das Verständnis, die Nutzung und die Verwaltung von Datenbeständen erleichtern.
Wir haben in den letzten Beiträgen unserer Serie die Bedeutung von Data Governance und die Notwendigkeit einer soliden Datenstrategie beleuchtet. Dabei sind wir immer wieder auf die Blockbuster Bytes AG und ihre Sakila-Datenbank zurückgekommen. Heute zoomen wir auf einen Aspekt, der oft unterschätzt wird: Metadaten.
In diesem Artikel werden wir die Bedeutung von Metadaten im Kontext der Data Governance untersuchen, insbesondere in Bezug auf die „Blockbuster Bytes AG“ und ihre MySQL-basierte Sakila-Datenbank.
Was sind Metadaten?
Metadaten sind im Grunde „Daten über Daten“. Sie beschreiben die Struktur, Bedeutung, Herkunft, Qualität und Nutzung der Daten. Metadaten helfen den Benutzer:innen, die eigentlichen Daten besser zu verstehen, ihre Qualität zu beurteilen und den richtigen Umgang mit ihnen sicherzustellen. Metadaten können verschiedene Aspekte von Daten beschreiben:
- Datenbeschreibung: Erklärt, was die Daten bedeuten und repräsentieren, z. B. „Kundennummer“ als „Eindeutige Identifikation für jede:n Kund:in“.
- Datenformat: Legt das Format der Daten fest (z. B. Text, Ganzzahl, Datum), wie z. B. „Bestelldatum“ im Format „YYYY-MM-DD“.
- Datenquelle: Gibt an, woher die Daten stammen, z. B. „Kundendaten stammen aus dem CRM-System“.
- Datenherkunft (Data Lineage): Verfolgt den Lebenszyklus der Daten, von der Quelle bis zur Speicherung, z. B. „Kundendaten wurden aus dem Salesforce-CRM in die Datenbank importiert“.
- Datenstruktur: Beschreibt die Struktur der Daten, wie Tabellen, Spalten und Beziehungen.
- Zugriffsrechte: Definiert, wer auf bestimmte Daten zugreifen kann.
- Datenqualität: Gibt die Qualität der Daten an, z. B. Vollständigkeit, Genauigkeit.
- Datenaktualität: Gibt an, wann die Daten zuletzt aktualisiert wurden.
- Verwendungszweck: Beschreibt, wofür die Daten verwendet werden.
- Datenklassifizierung: Kategorisiert Daten basierend auf ihrer Sensibilität, z. B. vertrauliche oder öffentliche Daten.
- Lösch- und Aufbewahrungsfristen: Hier wird z. B. geregelt, wann und ob die Daten archiviert werden dürfen oder sogar werden müssen. Auch kann geregelt werden, wie die Löschvorschriften sind.
Warum sind Metadaten wichtig?
Die Verwaltung von Metadaten ist eine der zentralen Herausforderungen der Data Governance. Metadaten sind unerlässlich für eine effektive Datenverwaltung, insbesondere in komplexen Datenumgebungen, da sie den Benutzer:innen helfen, die Daten besser zu verstehen, ihre Qualität zu beurteilen und den richtigen Umgang mit ihnen sicherzustellen.
Ohne korrekte Metadaten können Daten falsch interpretiert werden, was zu fehlerhaften Entscheidungen und Ineffizienzen führt. Ein Data Catalog ist ein strukturiertes Repository, in dem Metadaten zu den Datenbeständen eines Unternehmens erfasst und verwaltet werden.
Metadaten in der Blockbuster Bytes AG
In der Blogreihe wird die fiktive Blockbuster Bytes AG als Beispiel verwendet, um Data Governance-Konzepte zu veranschaulichen. Die Sakila-Datenbank, die das Geschäftsmodell des Unternehmens abbildet, dient als praktisches Beispiel für die Anwendung von Data Governance-Prinzipien. Die Blogreihe zeigt, wie wichtig es ist, Metadaten zu verwalten, um eine transparente und effiziente Nutzung von Daten zu gewährleisten. Die Blogreihe verwendet das Open-Source-Tool OpenMetadata, um die praktische Anwendung von Data Governance und die Verwaltung von Metadaten zu veranschaulichen.
- Transparenz: Ein Data Catalog, der Metadaten verwaltet, schafft Transparenz darüber, welche Daten vorhanden sind, woher sie kommen und welche Qualität sie besitzen. So kann die fiktive „Blockbuster Bytes AG“ eine Domain „Blockbuster“ mit den Subdomains „Stores“, „Payments“, „Movies“, und „Customers“ erstellen, um die Daten zu strukturieren.
- Auffindbarkeit: Metadaten helfen, Daten leichter zu finden. So können Spalten mit Aliassen versehen werden, um die Auffindbarkeit zu erleichtern und die Datenqualität zu verbessern. Beispielsweise kann die Spalte „last_name“ mit Aliasen wie „lastname“ und „surname“ versehen werden. Zudem können an dieser Stelle Nomenklaturen als unternehmensweite Standards definiert werden, die idealerweise in Eigenentwicklungen konsequent genutzt werden. In Fällen, in denen diese Standards nicht umgesetzt werden können, etwa bei Kauf-Software, bieten Aliase eine flexible Möglichkeit, dennoch eine konsistente Auffindbarkeit sicherzustellen.
- Datenqualität: Metadaten können zur Sicherstellung der Datenqualität beitragen, indem sie die Genauigkeit, Vollständigkeit und Aktualität von Daten beschreiben. Die Spalte „email“ kann als „persönliche“ und „sensitive“ Information gekennzeichnet werden, was ihre besondere Behandlung verdeutlicht. Auch kann ein Data Steward sicherstellen, dass die Adressdaten in der Kundentabelle korrekt sind und bei Umzügen aktualisiert werden.
- Zugriffssteuerung: Metadaten können genutzt werden, um Zugriffsrechte zu definieren und sicherzustellen, dass nur autorisierte Personen auf sensible Daten zugreifen können.
- Compliance: Metadaten helfen dabei, regulatorische Anforderungen zu erfüllen, indem sie die Herkunft, den Verwendungszweck und die Vertraulichkeit von Daten dokumentieren. Sie erinnern sich ggfs. an Teil #03. Hier haben wir bereits Attribute einer Tabelle als „sensitive" und „personell" getagged und damit entsprechende Meta-Informationen hinterlegt.
Ein Beispiel für Metadaten in der Blockbuster Bytes AG
Um die praktische Umsetzung von Metadaten-Management greifbarer zu machen, zeige ich im Folgenden ein Beispiel, wie Metadaten für die Tabelle „customer" aus dem Datenmodell „sakila" in der Umgebung der Blockbuster Bytes AG strukturiert werden könnten.
Zur Veranschaulichung habe ich das Format JSON gewählt, da es sich besonders gut für die strukturierte und maschinenlesbare Darstellung von Metadaten eignet. Der Fokus liegt dabei bewusst auf einem einzelnen Attribut – „email" – um die Prinzipien klar und prägnant zu demonstrieren.
{ "table": { "name": "customer", "data_source": "jdbc:mysql://sakila-db:3306/sakila", "data_owner": "Matthias Jung", "data_steward": "Max Mustermann", "data_retention_policy": "Customer data retained for the duration of the business relationship plus 5 years for legal compliance.", "deletion_policy": "Complete data purge after retention period unless restricted by legal hold.", "audit_information": { "created_by": "DB Migration Script", "created_date": "2020-01-15T10:00:00Z", "last_modified_by": "Max Mustermann", "last_modified_date": "2024-12-01T14:35:00Z", "change_history": [ { "modified_by": "Maria Schulz", "modification_date": "2023-06-20T11:45:00Z", "change_description": "Added GDPR-compliant deletion policy." }, { "modified_by": "Max Mustermann", "modification_date": "2024-12-01T14:35:00Z", "change_description": "Updated data retention policy for regulatory compliance." } ] }, "business_context": { "description": "Stores customer information for billing, marketing, and customer service purposes.", "related_processes": ["Account Management", "Order Processing", "Customer Support"], "criticality": "High - Core data for customer-related business operations", "regulatory_compliance": ["GDPR", "PCI-DSS"] } }, "columns": { "email": { "aliases": ["Email Address", "Contact Email", "Customer Email", "Client Contact"], "metadata": { "PII": "Highly Sensitive PII", "data_domain": "Customer", "quality_requirements": { "format_validation": { "description": "Ensures the email format follows the RFC 5322 standard.", "method": "Regex pattern validation", "status": "Mandatory" }, "domain_verification": { "description": "Validates that the domain part of the email exists and can receive messages.", "method": "DNS MX record check", "status": "Recommended" }, "uniqueness": { "description": "Ensures that the email address is unique if used for login credentials.", "enforced": true, "status": "Mandatory" } }, "security_classification": "Confidential (requires access control)", "data_owner": "Matthias Jung", "data_steward": "Max Mustermann", "data_retention_policy": "Stored as long as the customer account is active; deleted within 90 days after account closure.", "deletion_policy": "Immediate deletion upon customer request unless required for legal compliance (e.g., fraud prevention).", "audit_information": { "created_by": "Customer Registration Module", "created_date": "2020-01-15T10:00:00Z", "last_modified_by": "Max Mustermann", "last_modified_date": "2024-12-01T14:35:00Z" }, "business_context": { "description": "Primary contact method for customer communication and account recovery.", "usage_in_reports": ["Email Campaign Effectiveness", "Customer Retention Metrics"], "business_rules": [ "Must be unique if used for login.", "Requires format validation (RFC 5322 standard)." ] } } } } }
Idealerweise sollten diese Metadaten direkt im Schema verankert werden, also als integraler Bestandteil der Beschreibung der Datenstrukturen – beispielsweise durch Data Definition Language (DDL).
Das nachfolgende Beispiel veranschaulicht, wie eine solche Integration aussehen könnte. Es dient jedoch ausschließlich Demonstrationszwecken und erhebt keinen Anspruch auf Vollständigkeit im Kontext dieses Anwendungsfalls.
In der Praxis wird diese Vorgehensweise allerdings noch selten konsequent umgesetzt. Gerade bei Eigenentwicklungen besteht hier künftig deutliches Potenzial, Metadaten systematischer und nachhaltiger direkt in den Datenstrukturen zu verankern.
ALTER TABLE customer COMMENT = '{"criticality": "high", "data_owner": "Matthias Jung", "retention_policy": "5 years post-business"}'; ALTER TABLE customer MODIFY COLUMN email VARCHAR(100) COMMENT '{"PII": "highly_sensitive", "retention": "90_days", "compliance": ["GDPR", "PCI-DSS"]}';
Herausforderungen bei der Metadatenverwaltung
Ein häufiges Problem ist die Fragmentierung der Metadaten. Unterschiedliche Abteilungen und Systeme erfassen Metadaten auf unterschiedliche Weise, was zu Inkonsistenzen und Verwirrung führt. Ein Data Catalog schafft hier Abhilfe, indem er eine zentrale Quelle für alle Metadaten bereitstellt, Standards definiert und damit Inkonsistenzen vermeidet. Zudem müssen Metadaten kontinuierlich gepflegt und aktualisiert werden, um sicherzustellen, dass sie mit den zugrunde liegenden Daten synchron bleiben.
Die Rolle von Data Stewards
Data Stewards spielen eine wichtige Rolle bei der Pflege und Verwaltung von Metadaten. Sie sind dafür verantwortlich, dass Metadaten korrekt, vollständig und konsistent sind und den festgelegten Standards entsprechen. Data Stewards sind die „Brückenbauer" zwischen den Fachabteilungen und der IT und sorgen dafür, dass die Daten innerhalb einer Data Domain nach den definierten Regeln gepflegt werden.
Schlussfolgerung
Metadaten sind ein unverzichtbarer Bestandteil einer erfolgreichen Data Governance. Sie ermöglichen es Unternehmen, ihre Datenbestände zu verstehen, zu verwalten und effektiv zu nutzen. Eine solide Metadatenstrategie ist unerlässlich, um die Qualität, Transparenz und Sicherheit von Daten zu gewährleisten und datengetriebene Entscheidungen zu ermöglichen.
P.S.: The Da Vinci Code (2006); https://www.imdb.com/de/title/tt0382625/?ref_=ext_shr_lnk
Seminarempfehlungen
MYSQL ADMINISTRATION DB-MY-01
Mehr erfahrenDATA WAREHOUSE GRUNDLAGEN DB-DB-03
Mehr erfahrenIT-ORGANISATION UND IT-GOVERNANCE - OPTIMIERUNG IHRER IT-ORGANISATION PM-28
Mehr erfahrenPrincipal Consultant bei ORDIX
Bei Updates im Blog, informieren wir per E-Mail.
Kommentare