Ett register, läsbart för verktygen du redan har: XTable och UniForm

Ekonomiteamet kör sina rapporter i Power BI över Microsoft Fabric. Ett dotterbolag som köptes förra året rapporterar i Snowflake. Koncernens dataingenjörer föredrar Trino. Varje verktyg läser ett tabellformat väl, så var och en har sin egen kopia av försäljningsliggaren, uppdaterad enligt sitt eget schema, och kvartalsmarginalen finns i tre något olika versioner tills någon väljer en.
Ett företag kommer inte tomhänt till ett nytt operativsystem. Det kommer med de verktygen, de vanorna och de kopiorna. Hurukans register är utformat för att läsas av dem utan att kopieras för dem. Två projekt gör det möjligt, och att förstå vad de gör och inte gör är en suveränitetsfråga, inte en rörmokarfråga.
Varför översättning alls är möjlig
Delta Lake, Apache Iceberg och Apache Hudi lagrar data på samma sätt: som Parquet-filer som aldrig redigeras. De skiljer sig i de metadata som skrivs bredvid de filerna — listan över vilka filer som utgör tabellen nu, schemat, partitionerna, statistiken. Ett tabellformat är en ritning lagd över tegelstenarna, och tegelstenarna är gemensamma.
Så en tabell skriven i ett format kan ges en andra ritning. Ingenting kopieras; en andra uppsättning metadata skrivs som pekar på samma filer, och en motor som läser det andra formatet hittar en tabell där den väntar sig en. Datalagret som rymmer Hurukans register är under uppbyggnad, och det här är en av de egenskaper det utformas kring.
Apache XTable: en översättare som körs bredvid tabellen
Apache XTable är ett inkubationsprojekt vid Apache Software Foundation. Det läser metadatan i ett källformat och skriver metadatan för ett eller flera målformat “utan att kopiera eller flytta de underliggande datafilerna”. Aktuell version är 0.4.0-incubating från augusti 2026 (kontrollerat den 21 oktober 2026). Det körs som ett verktyg eller ett schemalagt jobb, med en full synkronisering som bygger om målets metadata och en inkrementell som bara för över det som ändrats sedan förra körningen.
Dess dokumentation är ärlig om gränserna: Hudi- och Iceberg-tabeller med merge-on-read-layout stöds inte, inte heller Delta-tabeller som använder raderingsvektorer. Microsofts egen beskrivning av OneLake anger att det använder XTable för att visa tabeller i mer än ett format, vilket är ett användbart tecken på var projektet står på marknaden.
Delta UniForm: en andra ritning skriven vid commit
Delta UniForm gör samma jobb inifrån Delta
Lake. När det är aktiverat på en tabell skriver Delta Iceberg-metadata (och, i förhandsversion,
Hudi-metadata) efter varje commit, asynkront, så att en Iceberg-läsare ser tabellen inbyggt. Det
kräver kolumnmappning, en läsarversion på minst 2 och en skrivarversion på minst 7, samt
tabellfunktionen IcebergCompatV2. Delta 4.3.0 från juni 2026 lade till atomär inkrementell
Iceberg-konvertering (kontrollerat den 21 oktober 2026).
Gränserna är spegelbilden av XTables: Iceberg- eller Hudi-sidan är skrivskyddad; raderingsvektorer,
typen VOID och ändringsflödet (change data feed) följer inte med. I ett Microsoft-bestånd syns
effekten i OneLake,
som virtualiserar Delta-tabeller som Iceberg med en dokumenterad fördröjning på några sekunder
till ett par minuter, för tabeller under fem tusen commits.
| Apache XTable | Delta UniForm | |
|---|---|---|
| Var det körs | bredvid tabellen, som ett jobb | inuti Delta-skrivaren, vid commit |
| Källformat | Delta, Iceberg, Hudi (och fler i 0.4.0) | endast Delta |
| Målformat | vilket som helst av de tre | Iceberg; Hudi i förhandsversion |
| Skrivningar från den andra sidan | nej | nej |
| Katalog och behörigheter | översätts inte | översätts inte |
Vad som översätts och vad som inte gör det
Metadata översätts. Fillistan, schemat, partitionerna, statistiken. Tre saker gör det inte, och var och en av dem är ett beslut som stannar hos företaget.
Skrivformatet. Ett format förblir det som skrivs till. Där sitter tabellens ägare, där sätts bevarandet och där verkställs en radering enligt dataskyddslagstiftningen. De andra formaten är vyer av det.
Katalogen. En läsare i Snowflake eller Fabric måste fortfarande få veta var tabellen finns och om den här personen får läsa den. Översatt metadata bär inte behörigheter. Hurukan håller behörigheterna på servern och katalogen på infrastruktur som företaget väljer, vilket är kärnan i lagret för säkerhet och suveränitet.
Funktioner det andra formatet inte känner till. En Delta-tabell med raderingsvektorer eller en Iceberg-tabell läst genom ett format som saknar en funktion kommer antingen att vägra översättningen eller visa ett annat resultat. Testplanen för en sådan tabell läser den genom varje format som används och jämför radantal, aggregat och fördröjningen mellan en skrivning och dess synlighet på andra sidan. I Hurukan är den testsviten något en agent kan generera ur schemat och en människa godkänner innan det andra formatet erbjuds någon.
Inlåsning i båda riktningarna
Den vanliga oron kring ett operativsystem för hela företaget är att det låser in företaget. Registret besvarar den inifrån: öppna format, filer och katalog på företagets infrastruktur, läsbara av andra motorer. XTable och UniForm besvarar den utifrån: de verktyg företaget redan betalar för fortsätter läsa samma register, i det format de föredrar, utan någon kopia att stämma av. Integrationer med Microsoft 365 Copilot och de andra assistenterna är planerade, inte i drift; filformaten under dem är redan öppna.
Vilket format Hurukan skriver först är ett val om katalog och bestånd snarare än funktioner, och det görs i Revisionsspåret är en tabell.
Ett test du kan göra i dag
Lista de tabeller som finns i mer än ett verktyg i ditt företag. Skriv för var och en ner vilken kopia det är som folk litar på, och när de andra senast uppdaterades. Om den andra kolumnen är tom är den tabellen en kandidat för ett register med två ritningar i stället för två tabeller med ett namn.
- Apache XTable
- Delta UniForm
- tabellformat
- inlåsning
- Microsoft Fabric