Skip to main content
Scalefree Blog Datenwerkzeuge Datenmigration – Gewährleistung von Datengenauigkeit und Compliance

Datenmigration

Die Datenmigration ist ein komplexer Prozess, der eine sorgfältige Planung und Durchführung erfordert. Das Verständnis der Datenlandschaft, die Gewährleistung minimaler Ausfallzeiten, das Erwartungsmanagement der Stakeholder und vor allem die Aufrechterhaltung der Integrität und Sicherheit Ihrer Daten während des gesamten Übergangs sind von entscheidender Bedeutung. Werden diese Faktoren nicht berücksichtigt, kann dies zu Datenverlust, Datenbeschädigung oder der Nichteinhaltung regulatorischer Standards führen, was erhebliche geschäftliche Konsequenzen nach sich ziehen kann. Im schlimmsten Fall bemerken Stakeholder Datenprobleme vor dem Datenteam, was das Vertrauen in die Daten und das Team nachhaltig schwächt. Ein weiteres potenzielles Problem sind ungeplante Überstunden aufgrund von Datenfehlern, die im Vorfeld nicht erkannt wurden.

Integrierte Funktionen in dbt (Data Build Tool) sowie Tools wie Great Expectations bieten leistungsstarke Lösungen, um Unternehmen beim Management dieser Risiken zu unterstützen und sicherzustellen, dass Daten während des gesamten Migrationsprozesses verlässlich und compliant bleiben.

Gewährleistung von Datengenauigkeit und Compliance bei einer Migration: Nutzung von dbt und Great Expectations

Dieses Webinar behandelt die wesentlichen Aspekte zur Aufrechterhaltung der Datengenauigkeit und Compliance während des gesamten Datenmigrationsprozesses. Wir zeigen Ihnen, wie dbt (Data Build Tool) eine robuste Datentransformation mit integrierten sowie benutzerdefinierten Tests ermöglicht und so die Datenintegrität auf jeder Stufe sicherstellt. Zudem demonstrieren wir, wie Great Expectations die Datenvalidierung erweitert, indem es Ihnen erlaubt, spezifische Regeln und Erwartungen durchzusetzen, um eine reibungslose und sichere Migration mit minimalem Risiko von Fehlern oder Inkonsistenzen zu gewährleisten.

Watch Webinar Recording

Nutzung von dbt für Datengenauigkeit

Als leistungsstarkes Werkzeug für die Datentransformation ermöglicht dbt Teams, Datenpipelines strukturiert zu erstellen, zu testen und zu dokumentieren. Durch die Nutzung von Funktionen wie Tests und Contracts gewährleistet dbt Datenkonsistenz und -genauigkeit. Im Folgenden gehen wir detailliert auf diese Funktionen ein.

dbt bietet zwei Möglichkeiten zur Definition von Tests: Singular Data Tests und Generic Data Tests.

  • Singular Data Tests: Benutzerdefinierte SQL-Abfragen, die geschrieben werden, um eine bestimmte Bedingung oder Logik in den Daten zu prüfen. Sie sind präzise auf einen konkreten Anwendungsfall oder eine spezifische Geschäftslogik zugeschnitten. Im Wesentlichen handelt es sich um eigenständige Tests, bei denen Entwickler individuellen SQL-Code schreiben, um gezielt nach Datenanomalien oder Inkonsistenzen zu suchen.
  • Generic Data Tests: Vordefinierte und wiederverwendbare Tests, die auf mehrere Modelle oder Spalten über verschiedene Datensätze hinweg angewendet werden können.

Beispiele für Generic Tests:

  • Unique Tests: Stellen sicher, dass ein Feld im Datensatz ausschließlich eindeutige Werte enthält – ein kritischer Faktor für Primärschlüsselfelder (Primary Keys).
  • Not Null Tests: Validieren, dass ein Feld keine Nullwerte enthält.
  • Referential Integrity Tests: Überprüfen, ob Fremdschlüsselbeziehungen (Foreign Keys) eingehalten werden, und gewährleisten so die Konsistenz über verknüpfte Tabellen hinweg.
  • Accepted Values: Nützliche Tests für Spalten, die nur eine definierte Menge an Werten enthalten dürfen.

Tests können so konfiguriert werden, dass sie entweder fehlschlagen (severity: error) oder eine Warnung ausgeben (severity: warning). Bedingte Ausdrücke wie error_if und warn_if können dieses Verhalten verfeinern, beispielsweise indem eine Warnung erst ab einer festgelegten Fehlerschwelle ausgelöst wird.

dbt Contract Enforcement

  • Erzwingt, dass die Schemata von dbt-Modellen den vordefinierten Datenstrukturen entsprechen
  • Definiert spezifische Spalten, Datentypen und Constraints (z. B. not null, unique)
  • Gibt vor der Materialisierung des Modells als Tabelle Fehlermeldungen aus und ermöglicht so die frühzeitige Identifizierung von Schemaproblemen

Profi-Tipp für Datenmigrationen: Nutzen Sie inkrementelle Modelle (incremental models), um nur neue oder geänderte Datensätze zu aktualisieren. Dies steigert die Effizienz und vermeidet vollständige Tabellen-Rebuilds. Bei der Durchsetzung eines Contracts ist die Option „append_new_columns“ nützlich, da sie bestehende Spalten beibehält und Integrationsprobleme minimiert. Die Einstellung „sync_all_columns“ ist besonders praktisch, um das Schema automatisch abzugleichen, indem neue Spalten hinzugefügt und nicht mehr vorhandene Spalten entfernt werden, ideal für Migrationen mit häufigen Umbenennungen.

dbt-expectations vs. Great Expectations

dbt-expectations integriert Datenqualitätstests direkt in dbt, während Great Expectations ein umfassenderes Framework für das Management der Datenvalidierung über heterogene Quellen hinweg bereitstellt. In Kombination maximieren beide Tools die Datengenauigkeit und Zuverlässigkeit Ihrer Datenlandschaft.

dbt-expectations

Das Paket dbt-expectations erweitert die Testfunktionen von dbt durch eine Sammlung vorgefertigter, anpassbarer Datenqualitätstests, die von Great Expectations inspiriert wurden. Dieses Paket hilft dabei, Datenqualitätsprüfungen über mehrere Modelle hinweg zu automatisieren und zu standardisieren, um sicherzustellen, dass Datensätze bestimmte Kriterien erfüllen, bevor sie in Downstream-Prozessen weiterverarbeitet werden.

Hier sind einige Beispiele für Datenqualitätstests, die Sie mit dem dbt-expectations-Repository ausführen können (weitere Details behandeln wir im Webinar):

  • Expect_column_values_to_match_regex: Überprüft, ob alle Werte in einer Spalte einem vorgegebenen Muster für reguläre Ausdrücke entsprechen.
  • Expect_column_median_to_be_between, expect_column_min_to_be_between, expect_column_max_to_be_between: Stellen sicher, dass numerische Spaltenwerte innerhalb definierter Wertebereiche liegen.
  • Expect_column_pair_values_a_to_be_greater_than_b: Prüft, ob die Werte in einer Spalte größer sind als die Werte in einer Vergleichsspalte.

Warum Sie die Integration von Great Expectations in Betracht ziehen sollten?

Da dbt-expectations bereits robuste Tests innerhalb eines einzelnen dbt-Projekts ermöglicht, stellt sich die Frage, welchen zusätzlichen Mehrwert Great Expectations bietet. Hier sind die wesentlichen Vorteile:

  • Cross-Database Comparisons: dbt-expectations funktioniert hervorragend innerhalb eines einzelnen SQL-basierten Data Warehouse. Wenn Sie jedoch Daten über unterschiedliche Datenbanken hinweg vergleichen müssen (wie beispielsweise Snowflake und SQL Server), bietet Great Expectations die dafür notwendige, datenbankübergreifende Lösung.
  • Broader Data Validation: Great Expectations unterstützt zahlreiche Datenquellen, darunter CSV, Parquet, JSON, APIs sowie verschiedene SQL-Datenbanken. Es bietet eine flexible und benutzerfreundliche Plattform, um Datenqualitätstests über heterogene Quellen hinweg zu definieren, zu verwalten und auszuführen.
Data Migration Great Expectations Diagram Architecture

Hauptfunktionen von Great Expectations:

  • Data Profiling: Nutzen Sie Great Expectations vor Beginn Ihrer Migration, um ein detailliertes Profiling Ihrer Daten durchzuführen und Erwartungswerte basierend auf dem aktuellen Datenzustand festzulegen.
  • Detaillierte Validierungsberichte & Dashboards: Great Expectations liefert umfassende Berichte und Visualisierungen in Formaten wie HTML, Slack, JSON und Data Docs. Dies erhöht die Transparenz und liefert sowohl technischen als auch nicht-technischen Stakeholdern fundierte Einblicke.
  • Anpassbarkeit und Erweiterbarkeit: Erstellen Sie maßgeschneiderte Validierungsregeln (Custom Expectations) für Ihre Datenpipelines und integrieren Sie diese nahtlos in bestehende Testbibliotheken.
  • Versionskontrolle & Historische Validierung: Verfolgen Sie Änderungen der Datenqualität im Zeitverlauf mittels Versionskontrolle, um Trends und wiederkehrende Datenfehler frühzeitig zu identifizieren.
  • Produktions-Monitoring & Integration: Integrieren Sie Great Expectations in Datenorchestrierungs-Tools wie Airflow, Prefect oder Dagster, um Datenqualitätsprüfungen in Ihre übergeordneten Workflows einzubinden – einschließlich jener Prozesse, die nicht direkt über dbt gesteuert werden.

Integration von Great Expectations mit dbt

Great Expectations ergänzt dbt, indem es eine flexible Plattform für die Datenvalidierung über isolierte Einzelprojekte hinaus bereitstellt. Durch die Integration von Great Expectations in dbt etablieren Sie einen ganzheitlichen Ansatz für Ihre Datenqualität und stellen sicher, dass Ihr Migrationsprozess präzise, compliant und zuverlässig abläuft.

Im kommenden Webinar betrachten wir praxisnahe Implementierungsbeispiele für dbt-Tests, dbt-expectations und Great-Expectations-Validierungen. Wir freuen uns auf Ihre Teilnahme!

Leave a Reply