Dictionary

Table compaction

Table compaction voegt veel kleine databestanden samen tot minder, grotere bestanden. In lakehouses helpt dat om queries sneller te maken en het small files problem onder controle te houden.

Wat is table compaction?

Table compaction is het samenvoegen van veel kleine databestanden tot minder, grotere bestanden. De inhoud van de tabel blijft hetzelfde, maar de fysieke layout wordt beter voor lezen.

In een lakehouse schrijft elke batch of streamingjob vaak nieuwe Parquet-bestanden. Na verloop van tijd krijg je veel kleine bestanden. Compaction ruimt dat op door ze te herschrijven naar grotere bestanden.

Je kan het vergelijken met losse bonnetjes in een map. De informatie verandert niet wanneer je ze ordent, maar je vindt alles sneller terug.

Hoe werkt compaction?

Een compaction-job leest kleine bestanden uit een tabel en schrijft ze opnieuw als grotere bestanden. Daarna wijst de tabelmetadata naar de nieuwe bestanden.

In Delta Lake gebruik je vaak OPTIMIZE.

OPTIMIZE sales;

Dat statement verandert geen waarden in de tabel. Het verandert hoe de data in bestanden verdeeld is. Bij tabelformaten met transaction logs, zoals Delta Lake en Iceberg, kan dit veilig gebeuren terwijl lezers met een consistente versie blijven werken.

Wanneer gebruik je table compaction?

  • Na veel kleine writes. Streaming en micro-batches maken vaak kleine bestanden.

  • Voor trage lakehouse-query's. Als de engine veel tijd verliest aan planning en file listing, kan compaction helpen.

  • Als periodiek onderhoud. Veel teams plannen compaction dagelijks of wekelijks op druk gebruikte tabellen.

  • Na backfills. Grote herladingen kunnen een rommelige bestandslayout achterlaten.

Table compaction versus partitionering

Partitionering bepaalt in welke mappen of logische groepen data terechtkomt. Compaction bepaalt hoe groot en netjes de bestanden binnen die groepen zijn.

Ze lossen dus andere problemen op. Partitionering helpt om stukken data over te slaan. Compaction helpt om niet te veel kleine stukken te moeten openen. Een goed lakehouse heeft vaak beide nodig.

Waar moet je op letten bij table compaction

  • Compaction kost rekenkracht. Je leest en herschrijft data. Plan het op een moment waarop de extra belasting past.

  • Te grote bestanden zijn ook niet ideaal. Dan verliezen engines parallelisme. Kies bestandsgroottes die bij je platform passen.

  • Het is geen datakwaliteitsfix. Compaction verandert de layout, niet de inhoud. Dubbels, nulls of foute waarden blijven bestaan.

  • Automatische compaction helpt, maar vervangt monitoring niet. Controleer bestandsgroottes en querytijden per tabel.

FAQ over table compaction

1. Verandert compaction mijn data?
Nee. De rijen en waarden blijven hetzelfde. Alleen de bestanden waarin ze zitten veranderen.

2. Moet ik na elke write compaction draaien?
Meestal niet. Dat zou duur zijn. Plan het wanneer de tabel merkbaar versnipperd raakt.

3. Is OPTIMIZE hetzelfde als VACUUM?
Nee. OPTIMIZE herschrijft kleine bestanden naar grotere. VACUUM verwijdert oude bestanden die niet meer nodig zijn volgens het retentiebeleid.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
table compaction small files problem delta lake apache iceberg lakehouse parquet dataops datapijplijn optimize