Ga naar inhoud

Data-architectuur (referentiepatroon)

Deze pagina beschrijft een referentie-data-architectuur om een data platform in medallion-stijl te bouwen bovenop het Base Fabric Data Platform. Ze komt uit de architectuurdiagrammen van de oplossing. Het platform levert de workspaces, Lakehouses, Warehouses, connections en het netwerk. Het levert of dwingt de onderstaande layers, schema's, pipelines of dbt-modellen niet af. Ze zijn een startpunt voor het workload team.

Referentieontwerp, jouw ontwerp kan afwijken

Zie de namen (staging, active, landing, bronze, silver, gold) als een conventie die je kunt overnemen of aanpassen. Het platform vereist ze niet.

Layers

flowchart LR
    subgraph src["Sources"]
        s1["Files and blob storage"]
        s2["Databases: Oracle, SQL Server, Azure SQL"]
        s3["API, SharePoint, notebooks"]
    end
    subgraph lh["Lakehouse"]
        stg["Files/staging: full history"]
        act["Files/active: latest only"]
    end
    subgraph wh["Warehouse layers (dbt)"]
        land["Landing"]
        br["Bronze"]
        sil["Silver"]
        gold["Gold"]
    end
    s1 -->|"copy files, shortcut"| stg
    stg -->|"select latest"| act
    s2 -->|"copy job, mirroring"| land
    s3 -->|"notebook ingestion"| stg
    act -->|"external tables"| land
    land --> br --> sil --> gold
    gold --> serve["Serve: Power BI, ML, API"]
Layer Wat het bevat Opmerkingen
Lakehouse Files/staging Het volledige historische archief van bestandsgebaseerde bronnen Pad <source>/<table>/<date>/*.parquet. Permanent archief, geen aparte archiefmap. Parquet is kolomgebaseerd, gecomprimeerd en bevat zijn eigen schema. Gebruikt voor compliance en replay. Een integratiestorage account wordt hier dagelijks (incrementeel) naartoe gesynchroniseerd.
Lakehouse Files/active Alleen de nieuwste datummap per tabel Pad <source>/<table>/*.parquet. Uit staging gekopieerd met select latest. Dagelijks vervangen. Het is het doel van de external tables van de landing layer, en replay betekent een specifieke datum uit staging kopiëren.
Landing (Warehouse) Een exacte 1:1-kopie van de bron, voor validatie Bestandsgebaseerde bronnen: external tables over Files/active. Gemirrorde databases: het SQL analytics endpoint (cross-database query). Copy jobs: native Warehouse-tabellen landing.<source>_<table>. Geen duplicatie van data voor bestanden en gemirrorde databases. dbt bevraagt ze allemaal op dezelfde manier. Tests: schemavalidatie, aantallen rijen, aankomst van data.
Bronze Native tabellen die dbt uit alle bronnen bouwt Schema bronze.<source>_<table>. Eén tabel per bronsysteem (source grain). Basisopschoning, typeconversie, ontdubbeling. Tests: uniekheid, not null, geldige waarden.
Silver Business entities Schema silver.<entity>, bijvoorbeeld een assettabel of een tabel met onderhoudshistorie. Joins, lookups, bedrijfsregels en berekende velden, geïntegreerd uit alle bronnen. De single source of truth voor bedrijfsdata, klaar voor gebruik of voor aggregatie naar gold. Tests: referentiële integriteit en bedrijfsregels.
Gold Geaggregeerde, voor gebruik gereedgemaakte data Het diagram toont een gold Warehouse-layer die de serving voedt.

Ingestiemethoden

Methode Gebruik voor Komt terecht in
Copy files Bestandsbronnen: laden in Lakehouse-bestanden, daarna laden naar tabel Files/staging, daarna landing
Notebook ingestion Bronnen die code nodig hebben, zoals API's Stagingbestanden of bronze.<source>_<table>
Shortcut Data die al elders staat en niet gekopieerd mag worden Files/<shortcut>/, daarna external tables
Copy job Relationele bronnen, in zijn geheel of incrementeel gekopieerd landing.<source>_<table> als native tabellen
Database mirroring Databases die Fabric kan mirroren (het diagram toont Azure SQL Database) Gemirrorde database, bevraagd via zijn SQL endpoint, als <mirrored_db>.<table>

Het diagram noemt voorbeeldbronnen: Oracle, SQL Server (on-premises), blob storage, SharePoint, een API, notebooks en Azure Databricks. On-premises en private Azure-bronnen worden bereikt via de VNet data gateway of managed private endpoints (Connectiviteit).

Omgevingen en promotie

Het tweede diagram van de oplossing laat zien hoe development, pre-production en production zich tot elkaar verhouden.

flowchart LR
    dev["Dev workspace (linked to Git, dev branch)"] -->|"pull request and merge"| pre["Pre-prod workspace (preprod branch)"]
    pre -->|"pull request and merge"| prod["Prod workspace (prod branch)"]
    tf["Terraform and CI/CD: platform team"] -.->|"deploys infrastructure"| dev
    tf -.-> pre
    tf -.-> prod
  • Het platformteam deployt de infrastructuur (capacities, workspaces, connections) met Terraform en CI/CD, eerst de kerncomponenten en daarna de workspaces en capacities.
  • Data engineers ontwikkelen in de development workspace, gekoppeld aan een Git-branch. Datamodellen worden gepromoveerd met een pull request en merge naar de pre-production en daarna de production branch.
  • Production workspaces zijn in de basisopzet niet rechtstreeks aan Git gekoppeld. Ze worden door de pipeline bijgewerkt.

Bouwstenen van het platform waarop het patroon rust

Behoefte Geleverd door
Workspaces met OneLake, Lakehouses en Warehouses Servicebeschrijving
Private toegang tot bronnen Connectiviteit
Git-versiebeheer Connectiviteit
Monitoring van de pipelinegezondheid Monitoring
Catalogus, classificatie en lineage Governance

dbt-jobs, het integratiestorage account en de transformatieschema's worden niet door het platform gedeployd. Spreek met het platformteam af wie ze inricht.