Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Phase entwerfen Sie die Delta Lake-Speicherarchitektur und Datenorganisationsmuster für Ihr Lakehouse.
Architekturdesign mit Medaillonstruktur
Die Medallion-Architektur organisiert Daten in Ebenen, um die Datenqualität zu verbessern, während sie durch die Pipeline verläuft. Dieses Muster ist von grundlegender Bedeutung für den Aufbau eines gut strukturierten Seehauses.
In seiner einfachsten Form besteht die Medallion-Architektur aus drei Ebenen: Bronzeschicht (Rohdaten), Silberschicht (verfeinerte Daten) und Goldschicht (geschäftsfertige Daten).
Bronzeschicht (Rohdaten)
Quelldaten in die erste Schicht des Lakehouses einladen und dort speichern. Wenn alle nachgelagerten Daten aus der Bronzeschicht erstellt werden, können Sie die nachfolgenden Schichten bei Bedarf aus dieser Schicht neu erstellen.
Bronzeschichteigenschaften
- Quelle der Wahrheit: Rohdaten genau so, wie sie aus Quellsystemen kommen.
- Minimale Transformation: Daten, die im ursprünglichen Format gespeichert sind (oder aus Gründen der Auditierbarkeit in Delta konvertiert wurden).
- Unveränderlich: Daten werden nur angefügt, nie aktualisiert oder gelöscht.
- Schema-on-read: Flexible Schemabehandlung für verschiedene Quellsysteme.
- Überwachungspfad: Für einige Anwendungen (z. B. DSGVO oder regulierte Daten) kann es sinnvoll sein, diese Ebene in das Delta-Format zu konvertieren.
Bewährte Methoden für Bronzeschicht
- Bewahren Sie alle Quelldatenfelder auf, um eine vollständige Auditierbarkeit zu erhalten.
- Verwenden Sie Unity-Katalog-Volumes zum Ablegen von Rohdateien.
- Implementieren Sie die inkrementelle Aufnahme, um die vollständige Neuverarbeitung zu vermeiden.
- Partition nach Aufnahmedatum für eine effiziente Datenverwaltung.
- Dokumentieren Sie die Datenquellen und Erfassungspläne.
Silberschicht (verfeinerte Daten)
Der Zweck der zweiten Ebene besteht darin, bereinigte, verfeinerte, gefilterte und aggregierte Daten zu halten.
Silberschichtmerkmale
- Datenqualität: Entfernt Duplikate, behandelt fehlende Werte, erzwingt das Schema.
- Anreicherung: Verknüpft Daten aus mehreren Quellen, um integrierte Datasets zu erstellen.
- Standardisierung: Wendet konsistente Datentypen, Formate und Benennungskonventionen an.
- Geschäftsregeln: Implementiert Gültigkeitsprüfungsregeln und Geschäftslogik.
- Dient der Analyse: Grundlage für Berichterstellung, Dashboards und maschinelles Lernen.
Bewährte Methoden für Silberschicht
- Implementieren sie Datenqualitätsprüfungen und -überwachungen.
- Verwenden Sie verwaltete Tabellen des Unity-Katalogs für Silberschichtdaten.
- Partition nach Geschäftsdimensionen (z. B. Datum, Region, Produkt).
- Dokumenttransformationslogik und Geschäftsregeln.
- Legen Sie SLAs für die Datenfrische fest.
Goldschicht (geschäftsfertige Daten)
Die dritte Ebene wird für geschäfts- oder projektspezifische Anforderungen erstellt. Es bietet eine alternative Sichtweise in Form von Datenprodukten für andere Geschäftseinheiten oder Projekte, indem es Daten basierend auf Sicherheitsanforderungen bereitstellt (z. B. anonymisierte Daten) oder die Leistung optimiert (z. B. voraggregierte Ansichten).
Goldschichteigenschaften
- Geschäftsspezifisch: Auf bestimmte Anwendungsfälle und Verbraucher zugeschnitten.
- Leistungsoptimiert: Vorab aggregiert, für schnelle Abfragen denormalisiert.
- Zugriffskontrolliert: Implementiert Sicherheit auf Zeilenebene und Spaltenmaskierung.
- Consumer-ready: Strukturiert für BI-Tools, Anwendungen und Machine Learning-Modelle.
- Datenprodukte: Veröffentlicht als wiederverwendbare Datasets in der gesamten Organisation.
Bewährte Methoden für Goldschicht
- Erstellen Sie separate Goldtabellen für verschiedene Geschäftseinheiten oder Anwendungsfälle.
- Verwenden Sie dynamische Ansichten für die Sicherheit auf Zeilen- und Spaltenebene.
- Implementieren Sie die prädiktive Optimierung für häufig abgefragte Tabellen.
- Dokumentieren Sie die Datenherkunft von Bronze bis Gold.
- Veröffentlichen Sie Datenprodukte über den Unity-Katalog mit klarer Zuständigkeit.
Überlegungen zur Landungszone
Pipelines in größeren Organisationen verfügen häufig über eine zusätzliche Landing-Zone in der Cloud. Die Landungszone empfängt Rohdateien von externen Systemen, bevor sie in die Bronzeschicht überführt werden.
Landing-Zone-Muster
- Cloudobjektspeicher: S3, ADLS Gen2 oder GCS-Buckets für Dateiabbrüche.
- Unity-Katalogvolumes: Sicherer POSIX-Dateizugriff mit Unity Catalog Governance.
- Zugriff von Drittanbietern: Externe Systeme können direkt in Landingzonen schreiben.
- Benachrichtigungstrigger: Verwenden Sie Ereignisbenachrichtigungen, um Aufnahmepipelines auszulösen.
Umfassende Medallion-Architekturanleitungen finden Sie unter Was ist die Medallion Lakehouse-Architektur?.
Entwerfen der Datenaufnahmestrategie
Das Aufnehmen von Daten in die Bronzeschicht ist der erste Schritt in der Medaillenarchitektur. Entwerfen Sie Ihre Aufnahmestrategie basierend auf Datenquellen, Volumes und Latenzanforderungen.
Erfassungsmethoden
Lakeflow Connect
Lakeflow Connect ist ein verwalteter Datenaufnahmedienst, der von Azure Databricks bereitgestellt wird, der regelmäßig Daten aus externen Quellen in Azure Databricks synchronisieren kann, ohne eine einzelne Codezeile zu schreiben.
Tools zur Partnerintegration
Tools wie Fivetran können auch Daten aus Quellen aufnehmen, die von Lakeflow Connect nicht unterstützt werden. Solche unformatierten und unstrukturierten Daten sollten in Unity-Katalogvolumes (anstelle externer Speicherorte) gespeichert werden.
Benutzerdefinierte Aufnahmepipelinen
Erstellen Sie für komplexe Transformationsanforderungen oder nicht unterstützte Quellen benutzerdefinierte Aufnahmepipelinen mithilfe von Lakeflow Spark Declarative Pipelines oder Notizbüchern.
Aufnahmemuster
Batchaufnahme
- Regelmäßige Datenladevorgänge planen (z. B. Stündlich, täglich, wöchentlich).
- Am besten geeignet für große Mengen von historischen Daten.
- Niedrigere Kosten im Vergleich zum Streaming.
- Akzeptable Latenz für analytische Workloads.
Streaming-Datenaufnahme
- Kontinuierliche Datenaufnahme mit geringer Latenz.
- Verwenden Sie Lakeflow Spark Declarative Pipelines mit auto Loader für die Aufnahme von Streamingdateien.
- Optimal für Echtzeitanalysen und Betriebsanwendungsfälle.
- Höhere Berechnungskosten, aber frische Daten.
Ändern der Datenerfassung (CDC)
- Erfassen und Anwenden inkrementeller Änderungen aus Quellsystemen.
- Effizient für große Tabellen mit häufigen Updates.
- Behält die Datenherkunft und den Prüfpfad bei.
- Unterstützt von Lakeflow Connect und Lakeflow Spark Declarative Pipelines.
Bewährte Methoden für die Datenaufnahme
- Verwenden Sie Unity-Katalogvolumes für Landungsrohdaten vor der Bronzeaufnahme.
- Implementieren Sie die idempotente Datenaufnahme, um Wiederholungsversuche sicher handhaben zu können.
- Verwenden Sie das automatische Laden, um eine effiziente Dateiaufnahme aus dem Cloudspeicher zu ermöglichen.
- Konfigurieren sie Aufbewahrungsrichtlinien für Zielzonendaten.
- Überwachen von Aufnahmepipelines auf Fehler und Datenqualitätsprobleme.
Entwurf einer Tabellenverwaltungsstrategie
Tabellen und Volumes können als verwaltete oder externe Datenbankobjekte erstellt werden. Wenn Sie die Kompromisse verstehen, können Sie die richtige Tabellenstrategie entwerfen.
Verwaltete und externe Tabellen
Verwaltete Tabellen und Datenträger
Unity Catalog verwaltet den Zugriff auf externe Tabellen und Volumes von Azure Databricks, steuert jedoch keine zugrunde liegenden Dateien oder verwaltet den Speicherort dieser Dateien vollständig. Verwaltete Tabellen und Volumes werden dagegen vollständig vom Unity-Katalog verwaltet und an einem verwalteten Speicherort gespeichert, der dem enthaltenden Schema zugeordnet ist.
Azure Databricks empfiehlt verwaltete Volumes und verwaltete Tabellen für die meisten Workloads, da sie die Konfiguration, Optimierung und Governance vereinfachen. Neue Features, z. B. predictive optimization und managed DR, sind nur für verwaltete Tabellen verfügbar.
Externe Tabellen und Volumes
Der größte Unterschied bei externen Tabellen besteht darin, dass verwaltete Tabellen nicht die einfache Ordnerstruktur von schema_name/table_name bieten, sondern stattdessen interne GUID-ähnliche Ordner verwenden. Auf diese Ordner sollte nur über den Unity-Katalog zugegriffen werden.
Wann externe Tabellen verwendet werden sollen
- Daten müssen aus gesetzlichen oder Compliancegründen in bestimmten Cloudspeicherpfaden verbleiben.
- Externe Systeme erfordern direkten Dateizugriff auf die Daten.
- Freigeben von Daten mit Systemen, die die Delta-Freigabe nicht verwenden können.
- Vorhandene Daten, die nicht zu verwaltetem Speicher migriert werden können.
Bewährte Methoden für die Tabellenverwaltung
- Verwenden Sie verwaltete Tabellen für alle neuen Lakehouse-Daten (Bronze, Silber, Gold).
- Verwenden Sie verwaltete Volumes für Landezone und unstrukturierte Rohdaten.
- Reservieren Sie externe Tabellen nur für Daten, die in bestimmten Pfaden gespeichert bleiben müssen.
- Dokumentbesitz- und Lebenszyklusrichtlinien für alle Tabellen.
- Aktivieren Sie die prädiktive Optimierung für häufig abgefragte verwaltete Tabellen.
Naben-und-Speichen-Medaillons-Design
Das Designmuster "Hub-and-Spoke" kann mit der Medaillon-Architektur für Unternehmensimplementierungen kombiniert werden. Dieses Muster zentralisiert freigegebene Datenressourcen und ermöglicht die domänenspezifische Datenverarbeitung.
Eigenschaften der Hub-and-Spoke-Medallion-Topologie
- Data Hub: Erfasst, kuratiert und verwaltet organisationsweite Ressourcen (z. B. SAP-Daten oder allgemeine Vermögenswerte wie Wetter oder Finanzdaten). Diese können als quellverknüpfte Datenprodukte betrachtet werden.
- Datendomänen: Jede Domäne liest einige der vom Hub kuratierten Datenprodukte und erfasst und kuratiert ihre eigenen domänenspezifischen Rohdaten. Domänen produzieren dann domänenspezifische Datenprodukte.
-
Veröffentlichungsmodelle
- Zentralisierte Veröffentlichung: Domänen veröffentlichen Datenprodukte zurück an den Hub für den organisationsweiten Verbrauch.
- Verteilte Veröffentlichung: Domänen veröffentlichen Datenprodukte innerhalb ihrer eigenen Kataloge für die domänenspezifische Verwendung.
Beispiel für ein Hub-und-Spoke-Medaillon
Data Hub (Central)
├── Bronze: Organization-wide raw data (SAP, financials, weather)
├── Silver: Curated shared datasets
└── Gold: Enterprise-wide data products
Sales Domain
├── Bronze: Sales-specific raw data + shared hub data
├── Silver: Sales analytics datasets
└── Gold: Sales data products (published to hub or domain)
Engineering Domain
├── Bronze: Engineering telemetry + shared hub data
├── Silver: Engineering metrics
└── Gold: Engineering dashboards (published within domain)
Bewährte Methoden für Hub-und-Spoke-Struktur
- Verwenden Sie den Hub für organisationsweite geteilte Daten, die mehrere Bereiche nutzen.
- Zulassen, dass Domänen ihre eigenen domänenspezifischen Daten aufnehmen und zusammenstellen.
- Richten Sie klare Richtlinien für die Datenproduktveröffentlichung (zentral oder verteilt) ein.
- Verwenden Sie Unity-Katalogkataloge, um Hub- und Domänendaten zu trennen.
- Verwenden Sie von Azure Databricks verwaltete Delta-Freigabe, um Datenprodukte zwischen Hub und Domänen zu teilen.
Entwerfen der Datengovernancestrategie
Die Datengovernance gewährleistet die Datenqualität, Auffindbarkeit und Compliance in der gesamten Lakehouse-Architektur. Entwerfen Sie Governance-Strategien, die für die Reife und die Anforderungen Ihrer Organisation geeignet sind.
Datenqualitätsstrategie
Unabhängig von der Variante der Medallion-Architektur muss die Datenqualität verbessert werden, wenn daten durch die Ebenen vorankommen. Folglich wird das Vertrauen in die Daten aus geschäftlicher Sicht weiter steigen.
Datenqualitätstools
- Einschränkungen: Stellen Sie sicher, dass die Qualität und Integrität von Daten, die einer Tabelle hinzugefügt werden, automatisch überprüft werden.
- Primär- und Fremdschlüssel: Codieren Sie Beziehungen zwischen Feldern in Tabellen (informational, nicht erzwungen).
- Erwartungen: Verhindern Sie, dass sich Datenqualitätsprobleme in den nachgelagerten Prozessen ausbreiten (derzeit mit Lakeflow Spark Deklarative Pipelines, bald mit allen Unity-Katalogtabellen).
- Lakehouse Monitoring: Überwachen Sie die statistischen Eigenschaften und die Qualität der Daten in allen Tabellen In Ihrem Konto.
Bewährte Methoden für die Datenqualität
- Implementieren von Datenqualitätsprüfungen bei der Bronzeaufnahme (z. B. Schemavalidierung, Null-Prüfungen).
- Erzwingen Sie strengere Qualitätsregeln, wenn Daten auf die Silber- und Goldstufen übergehen.
- Überwachen Sie Datenqualitätsmetriken und Trends im Laufe der Zeit.
- Definieren Sie SLAs zur Datenqualität für kritische Datasets.
- Automatisieren Sie die Warnung auf Datenqualitätsverletzungen.
Vermeiden von Datensilos
Datenverschiebung, Kopie und Duplizierung nehmen Zeit in Anspruch und können die Qualität der Daten im Seehaus verringern, insbesondere, wenn sie zu Datensilos führt. Um die Unterscheidung zwischen Datenkopie und Datensilos klar zu machen, ist eine eigenständige oder ausgeworfene Kopie von Daten allein nicht schädlich. Es ist manchmal notwendig, Flexibilität, Experimentierung und Innovation zu fördern. Wenn diese Kopien einsatzfähig werden und von nachgelagerten Geschäftsdatenprodukten abhängen, werden sie zu Datensilos. Diese Silos sind bald nicht mehr synchron, was letztlich zu einem weniger vertrauenswürdigen Datensee führt.
Bewährte Methoden zum Vermeiden von Datensilos
- Verwenden Sie Unity-Katalogansichten und Delta-Freigabe, anstatt Daten zu kopieren.
- Richten Sie eine einzige Wahrheitsquelle für jedes Dataset ein.
- Verhindern Sie Kopien und Duplikate auf Abteilungsebene.
- Verwenden Sie die Unity-Katalog-Linie, um Datenabhängigkeiten nachzuverfolgen.
- Entfernen Sie redundante Datensätze regelmäßig.
Datenkatalog und Ermittlung
Unity Catalog bietet Datenermittlung und -lineage für Benutzerfreundlichkeit und Datengovernance.
Datenermittlung
Benutzer aller Geschäftsbereiche, insbesondere in einem Self-Service-Modell, müssen in der Lage sein, relevante Daten zu ermitteln. Daher benötigt ein Lakehouse einen Datenkatalog, der alle geschäftsrelevanten Daten abdeckt. Die Hauptziele eines Datenkatalogs sind:
- Ermöglichen Sie Benutzern das Suchen und Ermitteln von Datasets.
- Stellen Sie Metadaten, Beschreibungen und Dokumentationen für Datasets bereit.
- Datenlinie von Quelle zu Verbrauch anzeigen.
- Zeigen Sie Datenqualitätsmetriken und Aktualitätsinformationen an.
Datenherkunft
Verfolgen Sie die Datenherkunft präzise, damit Benutzer erklären können, wie Daten zu ihrer aktuellen Struktur und Form gelangt sind. Unity-Katalog erfasst die Linien automatisch für:
- Tabellen-zu-Tabellen-Abhängigkeiten.
- Notebook- und Job-Ausführungen, die Daten lesen oder schreiben.
- Vorgelagerte Quellsysteme.
- Nachgeschaltete Datenkonsumenten und Datenprodukte.
Bewährte Methoden für den Datenkatalog
- Fügen Sie allen Katalogen, Schemas und Tabellen Beschreibungen und Tags hinzu.
- Dokumentieren Sie Datenbesitzer und Fachexperten.
- Verwenden Sie die Unity-Katalogsuche, um die Datenermittlung zu aktivieren.
- Überprüfen und aktualisieren Sie Metadaten regelmäßig.
- Verwenden Sie eine Linie, um Datenabhängigkeiten zu verstehen, bevor Sie Änderungen vornehmen.
Empfehlungen für die Architektur des Delta Lake
Recommended
- Verwenden Sie die Medallion-Architektur, um den Datensee zu strukturieren (Bronze, Silber, Gold).
- Verwenden Sie verwaltete Tabellen des Unity Catalog für alle Lakehouse-Daten (von Bronze bis Gold).
- Verwenden Sie Unity-Katalogvolumes für Landungszonen und unstrukturierte Rohdaten.
- Implementieren Sie Datenqualitätsprüfungen auf jeder Ebene (Bronze, Silber, Gold).
- Verwenden Sie Unity-Katalog, um die Datenermittlung und die Nachverfolgung von Linien zu ermöglichen.
- Aktivieren Sie die prädiktive Optimierung für häufig abgefragte verwaltete Tabellen.
- Richten Sie klare Richtlinien für die Datenproduktveröffentlichung für Hub-and-Spoke-Architekturen ein.
Vermeiden
- Erstellen Sie keine Datensilos, indem Sie Betriebsdaten über Domänen hinweg duplizieren.
- Verwenden Sie keine externen Tabellen, es sei denn, Daten müssen in bestimmten Speicherpfaden verbleiben.
- Überspringen Sie keine Bronzeschicht (bewahren Sie rohe Daten immer als Quelle der Wahrheit auf).
- Umgehen Sie keine Datenqualitätsprüfungen, um die Lieferfristen zu erfüllen.
- Unkontrolliertes Datenwachstum ohne Governance des Unity-Katalogs nicht zulassen.
Ergebnisse der Phase 6
Nach Abschluss der Phase 6 sollten Sie folgendes haben:
- Medallion-Architektur entworfen (Bronze-, Silber- und Gold-Ebenen mit klar definierten Zwecken).
- Datenaufnahmestrategie definiert (Batch, Streaming oder CDC basierend auf Anforderungen).
- Tabellenverwaltungsstrategie entwickelt (verwaltete und externe Tabellen).
- Hub-and-Spoke-Medallion-Architektur ausgewertet (für Organisationen mit mehreren Domänen).
- Datenqualitätsstrategie, die mit den entsprechenden Prüfungen auf jeder Ebene definiert ist.
- Datengovernance-Richtlinien eingerichtet (z. B. Katalog, Herkunft, Entdeckung).
- Zielzonenarchitektur entworfen (falls erforderlich für externe Systeme).
- Datenproduktveröffentlichungsmodell definiert (zentralisiert, verteilt oder hybrid).
Nächste Phase: Phase 7: Planen der Infrastruktur als Codeansatz
Implementierungsleitfaden: Schrittweise Anleitungen zur Implementierung Ihres Delta Lake-Designs finden Sie unter "Was ist Delta Lake in Azure Databricks?"