---
title: "Tarkastusjälki on taulu: Delta Lake, Iceberg vai Hudi"
url: "https://hurukan.com/fi/blog/tarkastusjalki-on-taulu"
description: "Kuka muutti mitä, ja mitä agentti näki ehdottaessaan sitä? Delta Lake, Iceberg ja Hudi vastaavat eri tavoin. Valitse katalogin ja infrastruktuurin mukaan."
---

# Tarkastusjälki on taulu: Delta Lake, Iceberg vai Hudi

26\. syyskuuta 2026·3 min lukuaika·Toimitus

Tilintarkastaja takaapäin kuvattuna pitkän pöydän ääressä lasiseinäisessä neuvotteluhuoneessa, kolme sidottua pääkirjaa avoinna vierekkäin, kannettava näyttää abstraktia sinertävänharmaata versioluetteloa, ohut sininen valonauha pöydän reunassa

Tilintarkastaja esittää yksinkertaisen kysymyksen maaliskuussa hyväksytystä maksusta: mitä hyväksyjä näki näytöllään, ja mitä sen luonnostellut agentti oli lukenut ennen kuin se ehdotti sitä? Useimmissa yrityksissä vastaus on rekonstruktio. Joku hakee varmuuskopion, joku toinen etsii sähköpostista, ja tulos on valistunut arvaus tilasta, jota ei enää ole.

Hurukanissa jokainen agentin ehdotus ja jokainen ihmisen päätös on tapahtuma yrityksen rekisterissä, ja rekisteri on suunniteltu niin, että tähän kysymykseen on selkeä vastaus: taulujen versio sellaisena kuin ne olivat sillä hetkellä. Tuo ominaisuus ei tule tiedostoista. Se tulee niiden päällä olevasta taulumuodosta. Tämä teksti käsittelee sitä, mitä kolme avointa taulumuotoa tekevät kysymykselle ja miten niiden välillä valitaan. Datakerros on rakenteilla; seuraavassa kerrotaan, miten sitä suunnitellaan. Perustelu sille, miksi rekisteri ylipäätään on, löytyy tekstistä [nykytila ja rekisteri](https://hurukan.com/fi/blog/nykytila-ja-rekisteri-kaksi-muistia).

## Mitä tarkastusjälki tarvitsee taululta

Rekisterin tiedostoja ei koskaan muokata. Muutos kirjoittaa uusia tiedostoja ja uuden version taulun metadatasta, joka kertoo, mitkä tiedostot nyt lasketaan mukaan. Tarkastuksen kannalta seuraa kolme asiaa.

**Jokainen versio on osoitettavissa.** «Taulu sellaisena kuin se oli 12. maaliskuuta kello 14.02» on oltava kelvollinen kysely, ei palautustyö. Alla olevissa muodoissa tämä on aikamatka (time travel), ja se on mekanismi kysymyksen «mitä agentti näki» takana.

**Jokaisella versiolla on tekijä.** Muutoksen metadatan on kannettava tieto siitä, kuka tai mikä sen teki: ihminen, ihmisen hyväksynnällä toimiva agentti tai järjestelmätehtävä kuten tiivistys. Hurukan kirjaa toimijan omaan päätöslokiinsa, mutta taulun versio on todiste siitä, että loki vastaa dataa.

**Vanhat versiot vanhenevat tarkoituksella, eivät vahingossa.** Jokaisen version säilyttäminen ikuisesti on kustannus; niiden poistaminen on päätös säilytyksestä ja henkilötietojen osalta poistosta. Tuo päätös kuuluu ihmiselle, ja taulumuodon on tehtävä siitä eksplisiittinen.

## Kolme tapaa pitää suunnitelmaa

Jokainen muoto pitää suunnitelmaa siitä, mitkä tiedostot muodostavat taulun. Suunnitelma on se, missä tarkastus asuu.

**Delta Lake** pitää lokia: hakemisto `_delta_log/`, jossa on yksi JSON-tiedosto commitia kohden, nimetty kaksikymmennumeroisella versionumerolla, ja jokainen luettelee toimintoja kuten `add`, `remove`, `metaData` ja `protocol`; säännölliset Parquet-tarkistuspisteet estävät lukijaa toistamasta koko historiaa. [Protokolla](https://github.com/delta-io/delta/blob/master/PROTOCOL.md) määrittelee sen; nykyinen julkaisu on [4.4.0](https://github.com/delta-io/delta/releases) (tarkistettu 21. lokakuuta 2026). Lokin säilytys on oletuksena 30 päivää ja `VACUUM` 7 päivää, mikä tarkoittaa, että aikamatka ulottuu taaksepäin vain niin pitkälle kuin nämä kaksi asetusta sallivat.

**Apache Iceberg** pitää puuta: taulun metadatatiedosto osoittaa tilannekuvaan, tilannekuva manifestiluetteloon, manifestit data- ja poistotiedostoihin tilastoineen. Commit on metadatatiedoston osoittimen atominen vaihto, ja vaihto tapahtuu katalogissa. [Spesifikaatio](https://iceberg.apache.org/spec/) on versiossa 3, jossa ovat poistovektorit, rivien alkuperä ja VARIANT-tyyppi; nykyinen julkaisu on [1.12.0](https://github.com/apache/iceberg/releases) (tarkistettu 21. lokakuuta 2026).

**Apache Hudi** pitää aikajanaa: jokainen taulun toiminto — commit, tiivistys, siivous, peruutus, palautus — on hetki, jolla on tila, ja aikajanan historia arkistoidaan LSM-rakenteeseen. Tietueilla on avaimet ja indeksi, joten yhden asiakkaan muutos koskettaa yhtä tiedostoryhmää eikä osiota. Taulut ovat Copy-on-Write- tai Merge-on-Read-tyyppisiä, ja julkaisu [1.2.1](https://hudi.apache.org/releases/release-1.2) lisäsi tauluversion 9 (tarkistettu 21. lokakuuta 2026). [Aikajanan](https://hudi.apache.org/docs/timeline) dokumentaatio kuvaa tilat.

Kaikki kolme vastaavat tilintarkastajalle. Ero on siinä, missä vastausta säilytetään ja kuka muu voi lukea sen.

## Valitse katalogin, älä ominaisuusluettelon mukaan

Ominaisuusluettelot ovat lähentyneet: transaktiot, aikamatka, skeeman evoluutio, rivitason poistot ja virtaavat kirjoitukset löytyvät jokaisesta. Se, mikä ei ole lähentynyt, on paikka, jossa taulun nykyinen versio julistetaan, ja tuo paikka on se, jossa suvereniteetti ratkaistaan.

**Delta Lakessa se on itse lokihakemisto**, joten mikä tahansa moottori, joka pystyy lukemaan tallennustilaa, löytää nykyisen version. Käytännössä sen ympärillä oleva katalogi on Unity Catalog tai Microsoft Fabricissa OneLake, joka tallentaa taulunsa Delta Parquet -muodossa [Microsoftin dokumentaation](https://learn.microsoft.com/en-us/fabric/onelake/onelake-overview) mukaan.

**Icebergissä se on katalogin osoitin**, ja katalogi puhuu avointa [REST-spesifikaatiota](https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml). Apache Polaris, huipputason projekti helmikuusta 2026 alkaen julkaisulla 1.8.0, toteuttaa sen; Snowflake, AWS S3 Tables, Googlen lakehouse-katalogi ja Databricks lukevat ja kirjoittavat kaikki Iceberg-tauluja sen kautta (tarkistettu 21. lokakuuta 2026).

**Hudissa se on aikajana tallennustilassa**, jota Spark, Flink, Trino ja Presto lukevat natiivisti; muut alustat tavoittavat Hudi-taulun yleensä metadatan käännöksen kautta.

Yrityksen kysymys ei siis ole «millä muodolla on paras tarkastus». Se on: kenen infrastruktuurissa katalogi toimii, minkä moottoreiden on luettava rekisteriä, ja voidaanko rekisteri ottaa mukaan, jos toimittaja vaihtuu? Hurukanin vastaus on, että katalogi ja tiedostot toimivat yrityksen valitsemassa infrastruktuurissa, kuten [tietoturvan ja suvereniteetin](https://hurukan.com/fi/system/tietoturva-ja-suvereniteetti) kohdalla kuvataan, ja että muoto seuraa yrityksellä jo olevista moottoreista eikä päinvastoin.

## Mikä jää ihmisille

Agentit ovat hyviä datakerroksen mekaanisessa osassa: tiivistysaikataulun luonnostelussa, vanhat tilannekuvat vanhentavan työn kirjoittamisessa, osiointimuutoksen ehdottamisessa, kun kyselyt hidastuvat. Jokainen niistä on ehdotus hyväksyntäjonossa perusteluineen, ja jokainen kirjataan, kun se hyväksytään. Kolmea päätöstä ei koskaan delegoida.

**Säilytys ja poisto.** Se, kuinka kauas aikamatka ulottuu, on sama asetus kuin se, kuinka kauan henkilötiedot säilyvät poistopyynnön jälkeen. Ihminen asettaa sen taulukohtaisesti ja allekirjoittaa.

**Protokollapäivitykset.** Uudemman tauluominaisuuden käyttöönotto voi sulkea ulos vanhemman moottorin, joka yhä lukee rekisteriä. Hyöty on todellinen; niin on pimenevä lukijakin. Ihminen punnitsee sen.

**Itse muoto.** Sen muuttaminen myöhemmin on mahdollista, kuten tämän sarjan seuraava teksti [XTablesta ja UniFormista](https://hurukan.com/fi/blog/yksi-rekisteri-luettavissa-nykyisilla-tyokaluilla) selittää, mutta se on projekti, ei asetus.

## Testi, jonka voit tehdä tänään

Ota yksi viime vuosineljänneksen päätös, josta tilintarkastaja voisi uskottavasti kysyä: nostettu luottolimiitti, hyväksytty toimittaja, myönnetty alennus. Kirjoita ylös pelkästään järjestelmienne perusteella, mitä päätöksentekijä näki sillä hetkellä. Laske järjestelmät, jotka jouduit avaamaan, ja kohdat, joissa jouduit arvaamaan. Tuo luku on etäisyys nykyisen rekisterinne ja sellaisen rekisterin välillä, jonka tarkastusjälki on taulu.

-   taulumuodot
-   Delta Lake
-   Apache Iceberg
-   Apache Hudi
-   tarkastusjälki

## Lue lisää

-   [Yksi identiteetti ihmisille ja agenteille: kuka saa tehdä mitä](https://hurukan.com/fi/blog/yksi-identiteetti-ihmisille-ja-agenteille)
-   [Nykytila ja rekisteri: yrityksen käyttöjärjestelmän kaksi muistia](https://hurukan.com/fi/blog/nykytila-ja-rekisteri-kaksi-muistia)