Delta-tabelonderhoud in Microsoft Fabric

Met deltatabelonderhoud kunt u tabellen snel en opslagefficiënt houden naarmate ze groeien. Delta-tabellen kunnen na verloop van tijd veel kleine bestanden verzamelen, verwijderde gegevens kunnen opslagruimte blijven verbruiken en verlopen statistieken kunnen de efficiëntie van query's verminderen. Regelmatig onderhoud helpt u de leesprestaties te verbeteren, opslag vrij te maken en tabelmetagegevens afgestemd te houden op de manier waarop uw workloads toegang hebben tot gegevens. Gebruik dit artikel als een beknopte handleiding voor de belangrijkste onderhoudsbewerkingen die beschikbaar zijn voor Delta-tabellen.

Waarom onderhoud belangrijk is

Naarmate Delta-tabellen toenemen, verandert schrijfactiviteit de fysieke indeling van de tabel. Herhaalde inlaadtaken kunnen veel kleine bestanden creëren, update- en verwijderbewerkingen kunnen bestanden waarnaar niet meer wordt verwezen of logisch verwijderde rijen achterlaten, en verouderde statistieken kunnen het voor Spark moeilijker maken om onnodige data over te slaan. Als u tabellen regelmatig onderhoudt, vermindert u de overhead voor scans, helpt u Fabric query's effectiever te optimaliseren en te voorkomen dat u betaalt om opslag te behouden die actieve tabelversies niet meer nodig hebben.

OPTIMIZE gebruiken voor bin-compressie

Gebruik OPTIMIZE deze indeling wanneer uw Delta-tabel veel kleine bestanden heeft verzameld en u ze wilt samenvoegen in minder, grotere bestanden. Deze bewerking verbetert de leesprestaties door de overhead voor bestandsbeheer te verminderen en scans efficiënter te maken. OPTIMIZE ondersteunt ook andere argumenten en functies zoals VORDER. Voor volledige syntaxis, opties en voorbeelden, zie Tabelverdichting en V-orde.

OPTIMIZE table_name

VACUUM gebruiken voor opslagopruiming

Gebruik VACUUM wanneer u gegevensbestanden waarnaar niet wordt verwezen wilt verwijderen die ouder zijn dan de geconfigureerde bewaartermijn. In Fabric kunt u met deze bewerking OneLake-opslag vrijmaken na updates, verwijderen, samenvoegen, bewerkingen overschrijven en comprimeren. VACUUM is gericht op het opschonen van opslag in plaats van het afstemmen van query's, dus het vormt meestal een aanvulling op andere onderhoudstaken in plaats van ze te vervangen. Zie VACUUM voor retentierichtlijnen en uitvoeringsdetails.

VACUUM table_name

REORG gebruiken voor gerichte reorganisatie

Gebruik REORG deze opdracht wanneer u de tabelstatus opnieuw moet schrijven voor een specifiek onderhoudsdoel in plaats van algemene bestandscompressie. In Delta Lake verwijdert REORG TABLE ... APPLY (PURGE) rijen die door verwijderingsvectoren als verwijderd zijn gemarkeerd fysiek. Zie Delta-tabellen opnieuw organiseren met REORG voor de ondersteunde opties en wanneer u ze wilt gebruiken.

Note

REORG is doorgaans niet nodig, omdat OPTIMIZE automatisch bestanden opschoont waarin meer dan 5% van de records door verwijderingsvectoren worden aangeduid.

REORG TABLE table_name APPLY (PURGE)

Statistieken actueel houden

De Fabric Spark Runtime ondersteunt twee typen statistieken in Delta-tabellen: bestandsstatistieken en tabelstatistieken.

  • Bestandsstatistieken: Delta Lake registreert min-, max- en null-count-waarden voor geïndexeerde kolommen telkens wanneer een gegevensbestand wordt geschreven. De Spark-engine gebruikt deze statistieken om bestanden over te slaan die geen rijen kunnen bevatten die overeenkomen met een querypredicaat, waardoor de hoeveelheid gescande gegevens wordt verminderd. Standaard worden statistieken verzameld voor de eerste 32 kolommen. Zie Bestand overslaan voor meer informatie over hoe het overslaan van bestanden werkt en hoe u kunt aanpassen voor welke kolomstatistieken worden verzameld.
  • Tabelstatistieken: statistische gegevens op kolomniveau die zijn samengevoegd in alle bestanden in de tabel, worden automatisch bijgehouden, zodat Spark betere metagegevens heeft voor het plannen van query's. Deze statistieken verbeteren de prestaties door betere optimalisatiebeslissingen voor filters, joins en aggregaties. Zie Geautomatiseerde statistieken voor Delta-tabellen voor meer informatie over hoe geautomatiseerde statistieken werken en hoe u deze configureert.

Gebruik automatische compactie voor continu bestandsbeheer

Delta Lake biedt ook ondersteuning voor automatische compressie na schrijfbewerkingen, zodat tabellen gezonder kunnen blijven zonder dat er elke keer een afzonderlijke handmatige taak nodig is. U kunt dit gedrag beheren via tabeleigenschappen of werkruimte-instellingen, afhankelijk van hoe u uw Spark-workloads beheert. Zie Automatisch comprimeren voor meer informatie over het inschakelen.

Onderhoud uitvoeren vanuit de gebruikersinterface van Lakehouse

Als je liever een UI-gebaseerde workflow hebt, kun je onderhoudsacties direct uitvoeren vanuit de Lakehouse explorer, zie Lakehouse table maintenance.

Volg een praktisch onderhoudsritme

Voer OPTIMIZE uit na een grote batchimport of wanneer kleine bestanden zich beginnen op te hopen en leesbewerkingen vertragen. Wordt VACUUM uitgevoerd op een regelmatige frequentie, zoals wekelijks of na grote compressiecycli, om opslag vrij te maken van bestanden waarnaar de tabel niet meer verwijst. REORG TABLE ... APPLY (PURGE) is niet nodig als onderdeel van routinematig onderhoud, omdat OPTIMIZE bestanden automatisch opschoont waarvan meer dan 5% van de records door verwijderingsvectoren worden gerefereerd. Reserveren PURGE voor scenario's waarvoor expliciete controle is vereist, zoals nalevings- of AVG-verplichtingen. Bewaak tabelvoorwaarde met DESCRIBE DETAIL en DESCRIBE HISTORY zodat u het aantal bestanden, grootte en onderhoudsgeschiedenis voor en na elke bewerking kunt bijhouden.

-- View current table state
DESCRIBE DETAIL table_name;

-- View history of transactions
DESCRIBE HISTORY table_name;