Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Medaljon-søhusarkitekturen, almindeligvis kendt som medaljonarkitektur, er et designmønster, der bruges til at organisere data i et søhus. Det er den anbefalede designtilgang til Fabric. Da OneLake er datasøen for Fabric, implementeres medaljonsarkitekturen ved at oprette lakehouses i OneLake.
Medaljonarkitekturen består af tre tydelige lag. De tre medaljonlag er: bronze (rå data), sølv (berigede data) og guld (kuraterede data). Hvert lag angiver kvaliteten af data, der er gemt i lakehouse, med højere niveauer, der repræsenterer højere kvalitet.
Medallionarkitekturen hjælper dine data med at forblive nøjagtige og pålidelige i henhold til principperne atomicitet, konsistens, isolation og holdbarhed (ACID). Dine data starter i deres rå form, og de originale kopier bevares som en sandhedskilde, mens dine validerings- og transformationspipelines forbereder dataene til analyse.
Du kan få flere oplysninger under Hvad er medallion lakehouse-arkitekturen?.
Publikum
I denne artikel introduceres medallionsøarkitekturen, og det beskrives, hvordan du kan implementere designmønsteret i Microsoft Fabric. Den er målrettet mod flere målgrupper:
- Datateknikere: Tekniske medarbejdere, der designer, bygger og vedligeholder infrastrukturer og systemer, der gør det muligt for deres organisation at indsamle, gemme, behandle og analysere store datamængder.
- Center of Excellence, IT og BI-teams: De teams, der er ansvarlige for at holde tilsyn med analyser i hele organisationen.
- Fabric-administratorer: De administratorer, der er ansvarlige for at lede Fabric i organisationen.
Hvad er medaljonarkitektur?
Målet med medaljonarkitektur er gradvist at forbedre strukturen og kvaliteten af data. Tænk på medaljonarkitektur som en tretrins rengørings- og organiseringsproces for dine data. Hvert lag gør dine data mere pålidelige og nemmere at bruge.
- Bronze (Rå): Opbevar alt præcis, som det ankommer. Ingen ændringer er tilladt.
- Silver (Beriget): Ret fejl, standardiser formater og fjern dubletter.
- Guld (Kurateret): Organiser til rapporter og dashboards.
Hold hvert lag adskilt i sit eget lakehouse eller datalager i OneLake, hvor data bevæger sig mellem lagene, efterhånden som det transformeres og forfines.
I en typisk medaljonarkitektur i Fabric gemmer bronzelaget dataene i samme format som datakilden. Når datakilden er en relationsdatabase, er Delta-tabeller et godt valg. Sølv- og guldlagene burde indeholde Delta-tabeller.
Tip
Du kan få mere at vide om, hvordan du opretter et lakehouse, ved at gennemgå selvstudiet om end-to-end-scenariet i Lakehouse.
Eksempel fra den virkelige verden
Overvej følgende eksempel på en e-handelsvirksomhed, der anvender medallion-arkitektur på sine data:
Bronzelag:
- Gem rå salgsdata fra hjemmesiden (JSON)
- Gem rå lagerdata fra lager (CSV)
- Gem rå kundedata fra CRM (SQL-eksport)
Sølvlag:
- Standardiser datoformater på tværs af alle kilder
- Veksl al valuta til USD
- Fjern testtransaktioner
- Match kundeoplysninger på tværs af systemer
Guldlag:
- Opret daglig salgsdashboardtabel
- Byg kundelivstidsværditabel
- Generer lagerprognosetabel
Medaljonarkitektur i OneLake
Grundlaget for et moderne data warehouse er en datasø. Microsoft OneLake er en enkelt, samlet og logisk datasø for hele organisationen. Den leveres automatisk med hver Fabric-lejer, og det er den eneste placering til alle dine analysedata.
Hvis du vil gemme data i OneLake, skal du oprette et lakehouse i Fabric. Et lakehouse er en dataarkitekturplatform til lagring, administration og analyse af strukturerede og ustrukturerede data på en enkelt placering. Den kan skaleres til store datamængder af alle filtyper og størrelser, og da dataene er gemt på en enkelt placering, kan de deles og genbruges på tværs af organisationen.
Du kan få flere oplysninger under Hvad er et lakehouse i Microsoft Fabric?.
Tabeller og filer
Når du opretter et lakehouse i OneLake, klargøres to fysiske lagerplaceringer automatisk:
- Tables gemmer tabeller i alle formater i Apache Spark (CSV, Parquet eller Delta).
- Filer gemmer data i ethvert filformat. Hvis du vil oprette en tabel baseret på data i filområdet, kan du lave en genvej , der peger til mappen, som indeholder tabelfilerne.
I bronzelaget gemmer du data i det oprindelige format, som kan være enten tabeller eller filer. Hvis kildedataene kommer fra OneLake, Azure Data Lake Store Gen2 (ADLS Gen2), Amazon S3 eller Google, så lav en genvej i bronze-laget i stedet for at kopiere dataene over.
I sølv- og guldlagene gemmer du typisk data i delta-tabeller. Du kan dog også gemme data i Parquet- eller CSV-filer. Hvis du gør det, skal du eksplicit oprette en genvej eller en ekstern tabel med en placering, der peger på den ikke-administrerede mappe, der indeholder Delta Lake-filerne i Apache Spark.
I Microsoft Fabric giver Lakehouse-opdagelsesrejsende en samlet grafisk gengivelse af hele Lakehouse, så brugerne kan navigere, få adgang til og opdatere deres data.
Delta Lake Storage
Delta Lake er et optimeret lagerlag, der er grundlaget for lagring af data og tabeller. Det understøtter ACID-transaktioner for big data-arbejdsbelastninger, og derfor er det standardlagerformatet i et Fabric lakehouse.
Delta Lake leverer pålidelighed, sikkerhed og ydeevne i lakehouse til både streaming- og batchhandlinger. Internt gemmer den data i Parquet-filformatet, men den vedligeholder også transaktionslogge og statistikker, der leverer funktioner og forbedring af ydeevnen i forhold til standardformatet Parquet.
Delta Lake-formatet giver følgende fordele sammenlignet med generiske filformater:
- Understøttelse af ACID-egenskaber, især holdbarhed for at forhindre beskadigelse af data.
- Hurtigere læseforespørgsler.
- Øget data friskhed.
- Understøttelse af både batch- og streamingarbejdsbelastninger.
- Understøttelse af data rollback ved hjælp af Delta Lake-tidsrejser.
- Forbedret overholdelse af regler og revision ved hjælp af Tabellen Delta Lake.
Fabric standardiserer lagringsfilformatet med Delta Lake. Hvert arbejdsbelastningsprogram i Fabric opretter som standard Delta-tabeller, når du skriver data til en ny tabel. Du kan få flere oplysninger under Tabellerne Lakehouse og Delta Lake.
Udrulningsmodel
For at implementere medallionarkitektur i Fabric kan du enten bruge lakehouses (ét til hvert lag), et datalager eller en kombination af begge. Din beslutning skal være baseret på dine præferencer og dit teams ekspertise. Med Fabric kan du bruge forskellige analyseprogrammer, der fungerer på den ene kopi af dine data i OneLake.
Her er to mønstre, du skal overveje:
- Mønster 1: Opret hvert lag som et søhus. I dette tilfælde får virksomhedsbrugere adgang til data ved hjælp af SQL-analyseslutpunktet.
- Mønster 2: Skab bronze- og sølvlagene som søhuse, og guldlaget som et datalager. I dette tilfælde får virksomhedsbrugere adgang til data ved hjælp af data warehouse-slutpunktet.
Selvom du kan oprette alle lakehouses i et enkelt Fabric-arbejdsområde, anbefaler vi, at du opretter hvert lakehouse i sit eget separate arbejdsområde. Denne tilgang giver dig mere kontrol og bedre styring på lagniveau.
For bronzelaget anbefaler vi, at du gemmer dataene i det oprindelige format, eller bruger Parquet eller Delta Lake. Når det er muligt, skal du beholde dataene i det oprindelige format. Hvis kildedataene kommer fra OneLake, Azure Data Lake Store Gen2 (ADLS Gen2), Amazon S3 eller Google, så lav en genvej i bronze-laget i stedet for at kopiere dataene over.
For sølv- og guldlagene anbefaler vi, at du bruger Delta-tabeller på grund af de ekstra muligheder og ydelsesforbedringer, de giver. Fabric standardiserer delta lake-formatet, og som standard skriver alle motorer i Fabric data i dette format. Desuden bruger disse motorer V-Order-skrivetidsoptimering til Parquet-filformatet. Denne optimering muliggør hurtig læsning af Fabric-beregningsprogrammer, f.eks. Power BI, SQL, Apache Spark og andre. Du kan få flere oplysninger under Tabeloptimering af Delta Lake og V-Order.
Endelig oplever mange organisationer i dag en massiv vækst i datamængder sammen med et stigende behov for at organisere og administrere disse data på en logisk måde, samtidig med at de faciliterer mere målrettet og effektiv brug og styring. Det kan føre dig til at etablere og administrere en decentraliseret dataorganisation eller en dataorganisation i organisationsnetværket med styring. Du kan opfylde dette mål ved at overveje at implementere en datanetarkitektur. Datanet er et arkitektonisk mønster, der fokuserer på at oprette datadomæner, der tilbyder data som et produkt.
Du kan oprette en datanetarkitektur for dit dataområde i Fabric ved at oprette datadomæner. Du kan oprette domæner, der knyttes til dine virksomhedsdomæner, f.eks. marketing, salg, lager, HR og andre. Du kan derefter implementere medallionarkitektur ved at opsætte datalag inden for hvert af dine domæner. Du kan få flere oplysninger om domæner under Domæner.
Brug materialiseret udsigt over søen til medaljonarkitektur
Materialiserede søvisninger i Microsoft Fabric hjælper dig med at implementere medaljonarkitektur i dit søhus. I stedet for at oprette komplekse pipelines til at transformere data mellem bronze-, sølv- og guldlag kan du definere materialiserede søvisninger, der automatisk administrerer transformationerne.
De vigtigste fordele ved at bruge materialiserede søudsigter til medaljonarkitektur omfatter:
- Deklarative pipelines: Definer datatransformationer ved hjælp af SQL-sætninger i stedet for at bygge manuelle pipelines mellem lag.
- Automatisk afhængighedsstyring: Fabric bestemmer automatisk den korrekte udførelsesrækkefølge baseret på visningsafhængigheder.
- Datakvalitetsregler: Indbygget understøttelse af definition og håndhævelse af datakvalitetsbegrænsninger, når data bevæger sig gennem lag.
- Optimal opdatering: Systemet bestemmer automatisk, om der skal udføres trinvis, fuld eller ingen opdatering for hver visning.
- Visualisering og overvågning: Se afstamning på tværs af alle lag, og spor eksekveringsfremskridt.
Du kan f.eks. oprette en sølvlagsvisning, der renser og sammenføjer data fra bronzetabeller, og derefter oprette guldlagsvisninger, der samler sølvlagsdataene til rapportering. Systemet håndterer opdateringsorkestreringen automatisk.
Du kan finde flere oplysninger i Implementere medaljonarkitektur med materialiseret udsigt over søen.
Forstå datalageret i Delta-tabellen
I dette afsnit beskrives andre vejledninger i forbindelse med implementering af en medallion lakehouse-arkitektur i Fabric.
Filstørrelse
Generelt fungerer en big data-platform bedre, når den har et par store filer i stedet for mange små filer. Ydeevnen forringes, når beregningsprogrammet har mange metadata og filhandlinger at administrere. For at opnå en bedre ydeevne af forespørgsler anbefaler vi, at du søger efter datafiler, der har en størrelse på ca. 1 GB.
Forskellige lag af medallionarkitekturen har forskellige krav til filstørrelse baseret på, hvilken forbrugsmotor der skal anvendes. I bronze-laget kan du have mindre filer på grund af dataenes rå natur, så længe du fokuserer datamodifikation og forberedelse med Spark. I sølv- og guldlagene bør du optimere til større filstørrelser og større rækkegrupper for at forbedre forespørgselsydelsen for forbrugsmotorer. For at lære mere om optimering af filstørrelser til forskellige lag, se Cross-workload table maintenance and optimization.
Historisk opbevaring
Delta Lake bevarer som standard en oversigt over alle de ændringer, der er foretaget, så størrelsen af historiske metadata vokser over tid. Baseret på dine forretningsmæssige krav skal du kun opbevare historiske data i en bestemt periode for at reducere dine lageromkostninger. Overvej kun at bevare historiske data for den sidste måned eller et andet passende tidsrum.
Du kan fjerne ældre historiske data fra en Delta-tabel ved hjælp af kommandoen VACUUM. Du kan dog som standard ikke slette historiske data inden for de seneste syv dage. Denne begrænsning bevarer konsistensen i dataene. Konfigurer standardantal dage med tabelegenskaben delta.deletedFileRetentionDuration = "interval <interval>". Denne egenskab bestemmer, hvor lang tid en fil skal slettes, før den kan betragtes som kandidat til en vakuumhandling.
Tabelpartitioner og klyngedannelse
Når du gemmer data i hvert lag, anbefaler vi, at du bruger en opdelt mappestruktur, hvor det er relevant. Denne teknik forbedrer dataadministration og ydeevne af forespørgsler. Partitionerede data i en mappestruktur resulterer generelt i hurtigere søgning efter bestemte dataposter på grund af fjernelse/eliminering af partitioner. Partitionering er normalt en god strategi til højfrekvent indtagelse i bronzelaget, da det passer til flere indtagelsesværktøjer. Alligevel anbefaler vi, at du bruger Liquid Clustering i stedet for partitionering for at optimere forespørgselsydelsen for Silver- og Gold-lagene. For at lære mere om optimering for forskellige lag, se Cross-workload table maintenance and optimization.
Du føjer typisk data til din destinationstabel, når der modtages nye data. I nogle tilfælde kan du dog flette data, fordi du skal opdatere eksisterende data på samme tid. I så fald kan du udføre en upsert-handling ved hjælp af kommandoen MERGE. Når destinationstabellen er partitioneret, skal du bruge et partitionsfilter til at fremskynde handlingen. På den måde kan programmet fjerne partitioner, der ikke kræver opdatering.
Dataadgang
Du skal planlægge og styre, hvem der skal have adgang til bestemte data i lakehouse. Du bør også forstå de forskellige transaktionsmønstre, de vil bruge, når de tilgår disse data for hvert lag.
Tip
Hvert medaljonlag har forskellige optimeringskrav. For omfattende vejledning om tabelvedligeholdelsesstrategier for bronze-, sølv- og guldlag, herunder hvornår V-Order skal aktiveres og optimale filstørrelser, se Cross-workload table maintenance and optimization.
Relateret indhold
Du kan finde flere oplysninger om implementering af medaljon-søhusarkitektur i følgende ressourcer.
- Vedligeholdelse og optimering af tavler på tværs af arbejdsbelastninger
- Tabeloptimering af Delta Lake og V-Order
- Selvstudium: Lakehouse fra ende til anden-scenarie
- Selvstudium: Implementere medaljonarkitektur med materialiseret udsigt over søen
- Lakehouse- og Delta Lake-tabeller
- Microsoft Fabric-beslutningsvejledning: Vælg et datalager
- Behovet for at optimere skrive på Apache Spark
- Spørgsmål? Prøv at spørge Fabric-community'et.
- Forslag? Bidrag med idéer til forbedring af Fabric.