Hva er materialiserte innsjøutsikter i Microsoft Fabric?

I Microsoft Fabric vedvarer en materialisert lake-visning og oppdateres automatisk. Du definerer det i Spark SQL eller PySpark. Den forenkler flertrinns transformasjoner av innsjøhus – typisk bronse-til-sølv-til-gull-medaljongarkitektur – ved å uttrykke dem som deklarative utsagn i stedet for tilpassede Spark-jobber. Etter at du har materialisert en MLV, fungerer den som et standard lakehouse-bord når det gjelder lagring, tilgangsmønstre og sikkerhet. Du kan spørre gjennom hvilken som helst Fabric-motor med samme tillatelser og styringsmodell. Fabric sporer avhengigheter mellom MLV-er, orkestrerer oppdateringer i riktig rekkefølge, og håndhever datakvalitetsbegrensninger på hvert trinn. Denne funksjonen gjør det mulig for dataingeniører å bygge pålitelige, vedlikeholdbare pipelines med mindre kode og driftskostnader.

Når man skal bruke materialiserte innsjøutsikter

Materialiserte innsjøutsikter passer godt når du har:

  • Ofte besøkte aggregeringer (daglige salgssummer, månedlige målinger) hvor forhåndsberegnede resultater forbedrer ytelsen sammenlignet med å kjøre dyre spørringer gjentatte ganger
  • Komplekse joins på tvers av flere store tabeller som du ofte spørrer i, og som krever konsistente resultater for alle brukere
  • Datakvalitetstransformasjoner som du må anvende ensartet, med regler definert deklarativt i stedet for i egendefinert kode
  • Rapporteringsdatasett som kombinerer data fra flere kilder og drar nytte av automatisk oppdatering når kildedata endres
  • Medallion-arkitektur hvor du trenger bronse- → sølv- → gulltransformasjoner definert i SQL

Materialiserte innsjøutsikter er ikke det riktige valget for alle scenarioer. Vurder alternativer når du har:

  • Engangs- eller sjelden tilgjengelige forespørsler som ikke drar nytte av forhåndsberegnede resultater
  • Ikke-SQL-logikk som ML-inferens, API-kall eller kompleks Python-prosessering – bruk Spark-notatbøker i stedet
  • Høyfrekvent strømming av data som krever oppdateringer under et sekund – vurder hellerReal-Time Intelligence

Kom i gang med materialisert utsikt over innsjøen

For å skape en materialisert innsjøutsikt i Fabric, se Start med materialiserte innsjøutsikter. For en komplett gjennomgang som bygger en medaljongarkitektur, se Veiledning: Bygg en medaljongarkitektur med materialiserte innsjøutsikter.

Hvordan fungerer materialiserte innsjøutsikter?

Materialiserte lake-visninger bruker en deklarativ tilnærming: Du skriver en SQL-spørring for å definere transformasjonen, og Fabric håndterer utførelse, lagring og oppdatering. Resultatet vedvarer som en Delta-tabell i hytta di, slik at nedstrøms brukere kan spørre direkte uten å kjøre transformasjonen på nytt.

Livssyklusen til en materialisert innsjøutsikt følger fire stadier:

  • Opprett: Skriv en SQL-spørring som definerer transformasjonen din. Fabric lagrer definisjonen og materialiserer resultatene som en Delta-tabell.
  • Oppdater: Når kildedata endres, bestemmer Fabric den optimale oppdateringsstrategien – inkrementell (behandle kun nye eller endrede data), full (fullstendig gjenoppbygging), eller skip (ingen endringer oppdaget).
  • Spørring: Applikasjoner og rapporter spør i den materialiserte innsjøvisningen som enhver annen Delta-tabell, uten bevissthet om den underliggende transformasjonslogikken.
  • Monitor: Spor oppdateringshistorikk, utførelsesstatus, datakvalitetsmålinger og avhengighetslinje gjennom innebygde Fabric-verktøy.

Forfattingsmuligheter

Materialiserte innsjøutsikter støtter to forfattermetoder:

  • SQL-authoring: Definer visninger ved å bruke standard SQL-setninger CREATE MATERIALIZED LAKE VIEW direkte i Fabric lakehouse-editoren.

  • PySpark authoring (Forhåndsvisning): Lag, oppdater og bytt ut visninger fra Fabric-notatbøker ved å bruke DataFrameWriter. Støtte for synspunkter skrevet av PySpark:

    • Begrensninger for datakvalitet
    • Tabellegenskaper
    • Planlagte oppdateringer

    Bemerkning

    VySpark-utviklede visninger utfører for øyeblikket kun full oppdatering.

Viktige funksjoner

Materialiserte innsjøvisninger inkluderer innebygde funksjoner som håndterer den operative kompleksiteten du ellers ville håndtert selv i notatbøker og pipelines.

Automatisk oppdateringsoptimalisering

Fabric bestemmer automatisk når og hvordan du skal oppdatere dine materialiserte innsjøutsikter. En beslutningsmotor velger den mest effektive oppdateringsstrategien, og oppdager endringer i kildedata som standard gjennom Change Data Feed:

  • Inkrementell oppdatering: Behandler kun nye eller endrede data.
  • Full oppdatering: Bygger opp hele den materialiserte innsjøutsikten på nytt når det trengs.
  • Hopp over oppdatering: Fabric hopper over oppdateringen når kildedataene ikke inneholder noen endringer.

For å låse opp inkrementell oppdatering må du aktivere Delta change data feed (CDF) på kildetabellene som refereres til i den materialiserte innsjøvisningen. Uten CDF aktivert velger beslutningsmotoren mellom hopp over oppdatering og kun full oppdatering. For mer informasjon, se Optimal oppdatering for materialiserte innsjøutsikter i et innsjøhus.

Optimal oppdatering støtter en rekke vanlige spørringsmønstre, inkludert:

  • Aggregeringer med GROUP BY
  • Venstre ytre og halvskjøter
  • Felles tabelluttrykk (CTE-er)

Innebygd datakvalitet

Materialiserte innsjøvisninger støtter deklarative regler for datakvalitet. Definer begrensninger direkte i SQL-en din og spesifiser hvordan du skal håndtere brudd.

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Avhengighetshåndtering

Når materialiserte innsjøvisninger refererer til andre materialiserte innsjøvisninger eller tabeller, oppdager Fabric automatisk disse relasjonene og styrer utførelsesrekkefølgen for deg.

  • Visualiser hvordan dine materialiserte innsjøutsikter avhenger av hverandre, på tvers av innsjøhus.
  • Ordren oppdateres automatisk basert på avhengigheter.
  • Behandlingen følger avhengighetskjeden for å sikre datakonsistens.

Overvåking og innsikt

Fabric tilbyr innebygde verktøy for å spore helsen og ytelsen til dine materialiserte innsjøutsikter:

  • Følg oppdateringsytelse og utførelsesstatus for hver materialisert innsjøvisning.
  • Se datakvalitetsmålinger og antall brudd i Lineage.
  • Overvåk jobbinstanser og oppdater historikken i visningen Nylige kjøringer .

Utover run-by-run Monitor-huben, viser Fabric nå operativ helse per innsjøhus på siden for nylig kjøring(er), gjennom søsterfaner for analyse og innsikt:

Underfane Svar på spørsmålet Lær side
Nylige løpetur(er) Hvilke individuelle gjennomspillinger skjedde, og kan jeg avlyse eller drille inn? Nylige perioder med materialiserte innsjøutsikter
Analyse Hvordan ligger jeg i suksessrate, varighet, toppfeil og oppdateringspolicy-blanding – som diagrammer over de samme periodene? Se analyser for materialiserte innsjøvisningsløp
Innsikt Hva feiler eller går tilbake – med ett-klikk dyplenker til den feilende visningen? Se innsikt for materialiserte innsjøutsiktsløp

For programmatisk tilgang til de samme dataene skriver Fabric systemtabeller under skjemaet _mlv_system - sys_run_metrics, sys_node_metrics, og sys_error_metrics - inn i lakehouse.

Viktig

Ikke endre skjemaet _mlv_system . Endringer påvirker oppdateringer av fanene Analyse ogInnsikt .

Security

Fabric-materialiserte innsjøutsikter følger sikkerhets- og styringstiltakene for Lakehouse-bord. Du kan også bruke MLV-er i Private Link-aktiverte innsjøhus. For mer informasjon om Private Link in Fabric, se Sikkerhet.