Delta-tabelvedligeholdelse i Microsoft Fabric

Delta-bordvedligeholdelse hjælper dig med at holde bordene hurtige og lagringseffektive, efterhånden som de vokser. Over tid kan Delta-tabeller akkumulere mange små filer, slettede data kan fortsætte med at optage lagerplads, og forældede statistikker kan reducere forespørgselseffektiviteten. Regelmæssig vedligeholdelse hjælper dig med at forbedre læseydelsen, genvinde lagerpladsen og holde tabelmetadata tilpasset den måde, dine arbejdsbelastninger tilgår data på. Brug denne artikel som en hurtig guide til de vigtigste vedligeholdelsesoperationer, der er tilgængelige for Delta-tabeller.

Hvorfor vedligeholdelse betyder noget

Efterhånden som delta-tabeller vokser, ændrer skriveaktivitet den fysiske opbygning af tabellen. Gentagne indlæsningsjobs kan skabe mange små filer, opdaterings- og sletningsoperationer kan efterlade urefererede filer eller blødt slettede rækker, og ældre statistikker kan gøre det sværere for Spark at springe unødvendige data over. Hvis du vedligeholder tabeller regelmæssigt, reducerer du overhead for scanninger, hjælper Fabric med at optimere forespørgsler mere effektivt og undgår at betale for opbevaring, som aktive bordversioner ikke længere har brug for.

Brug OPTIMIZE til bin-kompaktering

Brug OPTIMIZE den, når din Delta-tabel har samlet mange små filer, og du vil samle dem til færre, større filer. Denne operation forbedrer læseydelsen ved at reducere filhåndteringsomkostninger og gøre scanninger mere effektive. OPTIMIZE understøtter også andre argumenter og egenskaber såsom VORDER. For fuld syntaks, muligheder og eksempler, se Table Compaction and V-Order.

OPTIMIZE table_name

Brug VACUUM til oprydning af opbevaring

VACUUM Brug den, når du vil fjerne urefererede datafiler, der er ældre end det konfigurerede retentionsvindue. I Fabric hjælper denne operation dig med at genvinde OneLake-lagring efter opdateringer, sletninger, sammenfletninger, overskrivningsoperationer og komprimering. VACUUM fokuserer på oprydning af lageret frem for forespørgselstuning, så det supplerer som regel andre vedligeholdelsesopgaver i stedet for at erstatte dem. For vejledning om fastholdelse og detaljer om udførelse, se VACUUM.

VACUUM table_name

Brug REORG til målrettet omorganisering

Brug REORG den, når du skal omskrive tabelstatus til et specifikt vedligeholdelsesmål i stedet for generel filkomprimering. I Delta Lake fjernes fysisk rækker, REORG TABLE ... APPLY (PURGE) der sletter vektorer markeret som slettet. For de understøttede muligheder og hvornår du skal bruge dem, se Reorganize Delta-tabeller med REORG.

Bemærkning

REORG er typisk ikke nødvendigt, fordi OPTIMIZE den automatisk renser filer, hvor mere end 5% poster refereres til via sletningsvektorer.

REORG TABLE table_name APPLY (PURGE)

Hold statistikkerne opdaterede

Fabric Spark Runtime understøtter to typer statistikker på Delta-tabeller: filstatistikker og tabelstatistikker.

  • Filstatistik—Delta Lake registrerer min-, max- og null-tælleværdier pr. fil for indekserede kolonner hver gang en datafil skrives. Spark-motoren bruger disse statistikker til at springe filer over, der ikke kan indeholde rækker, der matcher et forespørgselsprædikat, hvilket reducerer mængden af scannede data. Som standard indsamles statistikker for de første 32 kolonner. For detaljer om, hvordan filspring fungerer, og hvordan man tilpasser, hvilke kolonner statistik indsamles for, se Filspring.
  • Tabelstatistikker—Kolonneniveau-statistikker, aggregeret på tværs af alle filer i tabellen, vedligeholdes automatisk, så Spark har bedre metadata til forespørgselsplanlægning. Disse statistikker forbedrer ydeevnen gennem bedre optimeringsbeslutninger for filtre, joins og aggregations. For at lære, hvordan automatiserede statistikker fungerer, og hvordan man konfigurerer, se Automatiserede statistikker for delta-tabeller.

Brug autokomprimering til kontinuerlig filhåndtering

Delta Lake understøtter også automatisk komprimering efter skrivninger, så tabeller kan forblive sundere uden at kræve et separat manuelt job hver gang. Du kan styre denne adfærd via tabelegenskaber eller arbejdsområdeindstillinger, afhængigt af hvordan du håndterer dine Spark-arbejdsbelastninger. Se automatisk komprimering for detaljer om, hvordan du aktiverer.

Kør vedligeholdelse fra søhusets brugerflade

Hvis du foretrækker en UI-baseret arbejdsgang, kan du køre vedligeholdelseshandlinger direkte fra lakehouse explorer, se vedligeholdelse af Lakehouse-tabellen.

Følg en praktisk vedligeholdelsesrytme

Kør OPTIMIZE efter store batch-indlæsninger eller når små filer begynder at hobe sig op og sænker læsningerne. Kør VACUUM i en regelmæssig rytme, såsom ugentligt eller efter større komprimeringscyklusser, for at genvinde lagerplads fra filer, som tabellen ikke længere refererer til. REORG TABLE ... APPLY (PURGE) er ikke nødvendigt som rutinemæssig vedligeholdelse, fordi OPTIMIZE den automatisk fjerner filer, hvor mere end 5% poster refereres til via sletningsvektorer. Reserver PURGE til scenarier, der kræver eksplicit kontrol, såsom overholdelse eller GDPR-forpligtelser. Overvåg tabellens tilstand med DESCRIBE DETAIL og DESCRIBE HISTORY så du kan følge filantal, størrelse og vedligeholdelseshistorik før og efter hver operation.

-- View current table state
DESCRIBE DETAIL table_name;

-- View history of transactions
DESCRIBE HISTORY table_name;