Hvad er materialiserede søudsigter i Microsoft Fabric?

I Microsoft Fabric forbliver en materialiseret lake-visning og opdateres automatisk. Du definerer det i Spark SQL eller PySpark. Det forenkler multistage-lakehouse-transformationer – typisk bronze-til-sølv-til-guld-medaljonarkitektur – ved at udtrykke dem som deklarative udsagn frem for speciallavede Spark-opgaver. Når du har materialiseret en MLV, fungerer den som en standard lakehouse-tabel med hensyn til opbevaring, adgangsmønstre og sikkerhed. Du kan forespørge det gennem enhver Fabric-motor med samme tilladelser og styringsmodel. Fabric sporer afhængigheder mellem MLV'er, orkestrerer opdateringer i korrekt rækkefølge og håndhæver datakvalitetsbegrænsninger på hvert trin. Denne funktion gør det muligt for dataingeniører at opbygge pålidelige, vedligeholdelsesvenlige pipelines med mindre kode og mindre driftsmæssig overhead.

Hvornår skal man bruge materialiserede søudsigter

Materialiserede søudsigter passer godt, når du har:

  • Ofte tilgåede aggregationer (daglige salgstal, månedlige målinger), hvor forudberegnede resultater forbedrer ydeevnen i forhold til gentagne gange at køre dyre forespørgsler
  • Komplekse joins på tværs af flere store tabeller, som du ofte forespørger og kræver konsistente resultater for alle forbrugere
  • Datakvalitetstransformationer , som du skal anvende ensartet, med regler defineret deklarativt i stedet for i brugerdefineret kode
  • Rapporteringsdatasæt , der kombinerer data fra flere kilder og drager fordel af automatisk opdatering, når kildedata ændres
  • Medallion-arkitektur , hvor du skal bruge bronze → sølv → guldtransformationer defineret i SQL

Materialiserede søudsigter er ikke det rigtige valg i alle scenarier. Overvej alternativer, når du har:

  • Engangsforespørgsler eller sjældent tilgået , der ikke drager fordel af forudberegnede resultater
  • Ikke-SQL-logik som ML-inferens, API-kald eller kompleks Python-behandling – brug i stedet Spark-notebooks
  • Højfrekvent streamingdata, der kræver opdateringer under et sekund – overvej i stedetReal-Time Intelligence

Kom i gang med materialiserede visninger af søen

For at skabe en materialiseret søudsigt i Fabric, se Kom i gang med materialiserede søudsigter. For en komplet gennemgang, der bygger en medaljonarkitektur, se Tutorial: Byg en medaljonarkitektur med materialiserede søudsigter.

Hvordan fungerer materialiserede søudsigter?

Materialiserede lake-visninger bruger en deklarativ tilgang: Du skriver en SQL-forespørgsel for at definere transformationen, og Fabric håndterer eksekvering, lagring og opdatering. Resultatet forbliver som en Delta-tabel i dit lakehouse, så nedstrøms brugere kan forespørge det direkte uden at køre transformationen igen.

Livscyklussen for et materialiseret søsyn følger fire faser:

  • Opret: Skriv en SQL-forespørgsel, der definerer din transformation. Fabric gemmer definitionen og materialiserer resultaterne som en Delta-tabel.
  • Opfrisk: Når kildedata ændres, bestemmer Fabric den optimale opdateringsstrategi – inkrementell (kun nye eller ændrede data), fuld (genopbygning helt) eller spring (ingen ændringer registreret).
  • Forespørgsel: Applikationer og rapporter forespørger den materialiserede lake-visning som enhver anden Delta-tabel uden kendskab til den underliggende transformationslogik.
  • Monitor: Spor opdateringshistorik, eksekveringsstatus, datakvalitetsmålinger og afhængighedslinje via indbyggede Fabric-værktøjer.

Forfattermuligheder

Materialiserede søudsigter understøtter to forfattertilgange:

  • SQL-forfatterskab: Definer visninger ved hjælp af standard SQL-sætninger CREATE MATERIALIZED LAKE VIEW direkte i Fabric lakehouse-editoren.

  • PySpark-authoring (Forhåndsvisning): Oprethold, opdater og erstat visninger fra Fabric-notebooks ved hjælp af DataFrameWriter. PySpark-forfattede synspunkter støtter:

    • Begrænsninger for datakvalitet
    • Tabelegenskaber
    • Planlagte opdateringer

    Bemærkning

    PySpark-forfattede visninger udfører i øjeblikket kun fuld opdatering.

Nøglefunktioner

Materialiserede søudsigter inkluderer indbyggede funktioner, der håndterer den operationelle kompleksitet, du ellers selv ville håndtere i notesbøger og pipelines.

Automatisk opdateringsoptimering

Fabric bestemmer automatisk, hvornår og hvordan du opdaterer dine materialiserede søudsigter. En beslutningsmotor vælger den mest effektive opdateringsstrategi og registrerer som standard ændringer i kildedata via Change Data Feed:

  • Inkrementel opdatering: Behandler kun nye eller ændrede data.
  • Fuld opdatering: Genopbygger hele den materialiserede søudsigt, når det er nødvendigt.
  • Spring opdatering over: Fabric springer opdateringen over, når kildedata ikke indeholder ændringer.

For at låse op for inkrementel opdatering skal du aktivere Delta change data feed (CDF) på kildetabellerne, der refereres til i den materialiserede søvisning. Uden CDF aktiveret vælger beslutningsmotoren mellem spring refresh og kun fuld refresh. For mere information, se Optimal opdatering for materialiserede søudsigter i et søhus.

Optimal opdatering understøtter en række almindelige forespørgselsmønstre, herunder:

  • Sammenslutninger med GROUP BY
  • Venstre ydre og semi-samlinger
  • Almindelige tabeludtryk (CTE'er)

Indbygget datakvalitet

Materialiserede søvisninger understøtter deklarative regler for datakvalitet. Definér begrænsninger direkte i din SQL og specificér, hvordan overtrædelser skal håndteres.

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Afhængighedsstyring

Når materialiserede søvisninger refererer til andre materialiserede søvisninger eller tabeller, opdager Fabric automatisk disse relationer og styrer udførelsesrækkefølgen for dig.

  • Visualiser, hvordan dine materialiserede søudsigter afhænger af hinanden på tværs af søhuse.
  • Ordren opdateres automatisk baseret på afhængigheder.
  • Behandlingen følger afhængighedskæden for at sikre datakonsistens.

Overvågning og indsigt

Fabric tilbyder indbyggede værktøjer til at spore sundheden og ydeevnen af dine materialiserede søudsigter:

  • Følg opdateringsydelse og eksekveringsstatus for hver materialiseret søvisning.
  • Se datakvalitetsmålinger og overtrædelsestællinger i Lineage.
  • Overvåg jobinstanser og opdater historikken i visningen Seneste kørsler .

Ud over Monitor-hubben viser Fabric nu driftstilstand pr. lakehouse på selve siden Seneste kørsel gennem søsken-underfaner for Analytics og Insights:

Undertab Besvarer spørgsmålet Lær side
Nylige løb Hvilke individuelle runs skete, og kan jeg aflyse eller drille ind? Nylige perioder med materialiserede søudsigter
Analytics Hvordan ligger jeg i succesrate, varighed, topfejl og opdaterings-politik-mix – som diagrammer over de samme runs? Se analyser for materialiserede lake view-kørsler
Indsigt Hvad fejler eller går tilbage – med ét-klik dybdelinks til den fejlende visning? Se indsigter for materialiserede søudsigtsløb

For programmatisk adgang til de samme data skriver Fabric systemtabeller under skemaet _mlv_system - sys_run_metrics, sys_node_metrics, og sys_error_metrics - ind i lakehouset.

Vigtigt!

Ændr ikke skemaet _mlv_system . Ændringer påvirker opdateringer af fanerne Analyse og Indsigt.

Sikkerhed

Fabric-materialiserede søudsigter følger sikkerheds- og styringsforanstaltningerne for Lakehouse-borde. Du kan også bruge MLV'er i Private Link-aktiverede søhuse. For mere information om Private Link in Fabric, se Sikkerhed.