Eén register, leesbaar voor de tools die u al hebt: XTable en UniForm

Een data-engineer van achteren gezien aan een bureau met twee schermen naast elkaar, elk met dezelfde abstracte blauw-grijze tabel in een andere indeling, één blauwe kabel tussen de twee machines, een lichte kantoortuin onscherp op de achtergrond

Het financiële team draait zijn rapporten in Power BI op Microsoft Fabric. Een vorig jaar overgenomen dochter rapporteert in Snowflake. De data-engineers van de groep werken liever met Trino. Elke tool leest één tabelformaat goed, dus elke tool heeft zijn eigen kopie van het verkoopgrootboek, ververst volgens een eigen schema, en de kwartaalmarge bestaat in drie licht verschillende versies totdat iemand er een kiest.

Een bedrijf komt niet met lege handen bij een nieuw besturingssysteem aan. Het komt met die tools, die gewoonten en die kopieën. Het register van Hurukan is ontworpen om door hen te worden gelezen zonder voor hen te worden gekopieerd. Twee projecten maken dat mogelijk, en begrijpen wat ze wel en niet doen is een soevereiniteitsvraag, geen loodgieterswerk.

Waarom vertalen überhaupt kan

Delta Lake, Apache Iceberg en Apache Hudi slaan data op dezelfde manier op: als Parquet-bestanden die nooit worden bewerkt. Ze verschillen in de metadata die naast die bestanden wordt geschreven — de lijst van welke bestanden nu de tabel vormen, het schema, de partities, de statistieken. Een tabelformaat is een bouwplan over de bakstenen, en de bakstenen zijn gedeeld.

Een tabel die in één formaat is geschreven kan dus een tweede bouwplan krijgen. Niets wordt gekopieerd; een tweede set metadata wordt geschreven die naar dezelfde bestanden wijst, en een engine die het tweede formaat leest vindt een tabel waar hij er een verwacht. De laag Data die het register van Hurukan draagt is in aanbouw, en dit is een van de eigenschappen waaromheen ze wordt ontworpen.

Apache XTable: een vertaler die naast de tabel draait

Apache XTable is een incuberend project bij de Apache Software Foundation. Het leest de metadata van een bronformaat en schrijft de metadata van een of meer doelformaten “zonder de onderliggende databestanden te kopiëren of te verplaatsen”. De huidige release is 0.4.0-incubating van augustus 2026 (gecontroleerd op 21 oktober 2026). Het draait als een tool of een geplande taak, met een volledige synchronisatie die de doelmetadata opnieuw opbouwt en een incrementele synchronisatie die alleen overneemt wat sinds de vorige run is veranderd.

De documentatie is eerlijk over de grenzen: Hudi- en Iceberg-tabellen met merge-on-read-indelingen worden niet ondersteund, en evenmin Delta-tabellen die verwijdervectoren gebruiken. Microsofts eigen beschrijving van OneLake stelt dat het XTable gebruikt om tabellen in meer dan één formaat te tonen, een nuttig teken van waar het project in de markt staat.

Delta UniForm: een tweede bouwplan geschreven bij de commit

Delta UniForm doet hetzelfde werk van binnenuit Delta Lake. Als het op een tabel is ingeschakeld, schrijft Delta na elke commit asynchroon Iceberg-metadata (en, in preview, Hudi-metadata), zodat een Iceberg-lezer de tabel direct ziet. Het vereist column mapping, een lezerversie van ten minste 2 en een schrijverversie van ten minste 7, en de tabelfunctie IcebergCompatV2. Delta 4.3.0 van juni 2026 voegde atomaire incrementele Iceberg-conversie toe (gecontroleerd op 21 oktober 2026).

De grenzen zijn het spiegelbeeld van die van XTable: de Iceberg- of Hudi-kant is alleen-lezen; verwijdervectoren, het type VOID en de change data feed gaan niet mee. In een Microsoft-omgeving is het effect zichtbaar in OneLake, dat Delta-tabellen virtualiseert als Iceberg met een gedocumenteerde vertraging van enkele seconden tot een paar minuten, voor tabellen met minder dan vijfduizend commits.

Apache XTableDelta UniForm
Waar het draaitnaast de tabel, als taakin de Delta-schrijver, bij de commit
BronformatenDelta, Iceberg, Hudi (en meer in 0.4.0)alleen Delta
Doelformatenelk van de drieIceberg; Hudi in preview
Schrijven vanaf de tweede kantneenee
Catalogus en rechtenniet vertaaldniet vertaald

Wat wordt vertaald en wat niet

Metadata wordt vertaald. De lijst van bestanden, het schema, de partities, de statistieken. Drie dingen niet, en elk daarvan is een beslissing die bij het bedrijf blijft.

Het schrijfformaat. Eén formaat blijft het formaat waarin wordt geschreven. Daar zit de eigenaar van de tabel, daar wordt de bewaartermijn ingesteld en daar wordt een wissing onder de gegevensbeschermingswetgeving uitgevoerd. De andere formaten zijn weergaven ervan.

De catalogus. Een lezer in Snowflake of Fabric moet nog steeds te horen krijgen waar de tabel staat en of deze persoon haar mag lezen. Vertaalde metadata draagt geen rechten. Hurukan houdt rechten op de server en de catalogus op infrastructuur die het bedrijf kiest, wat de kern is van de laag beveiliging en soevereiniteit.

Functies die het andere formaat niet kent. Een Delta-tabel met verwijdervectoren, of een Iceberg-tabel gelezen via een formaat dat een functie mist, zal de vertaling weigeren of een ander resultaat tonen. Het testplan voor zo’n tabel leest haar via elk formaat in gebruik en vergelijkt rijaantallen, aggregaten en de vertraging tussen een schrijfbewerking en de zichtbaarheid ervan aan de andere kant. In Hurukan is die testsuite iets wat een agent uit het schema kan genereren en wat een mens goedkeurt voordat het tweede formaat aan iemand wordt aangeboden.

Lock-in in beide richtingen

De gebruikelijke zorg over een besturingssysteem voor het hele bedrijf is dat het het bedrijf vastzet. Het register beantwoordt dat van binnenuit: open formaten, bestanden en catalogus op de infrastructuur van het bedrijf, leesbaar door andere engines. XTable en UniForm beantwoorden het van buitenaf: de tools waarvoor het bedrijf al betaalt blijven hetzelfde register lezen, in het formaat dat zij verkiezen, zonder kopie om af te stemmen. Integraties met Microsoft 365 Copilot en de andere assistenten zijn gepland, niet live; de bestandsformaten eronder zijn al open.

Welk formaat Hurukan als eerste schrijft is een keuze over catalogus en omgeving in plaats van over functies, en die wordt gemaakt in Het auditspoor is een tabel.

Een test die u vandaag kunt doen

Maak een lijst van de tabellen die in meer dan één tool in uw bedrijf bestaan. Schrijf voor elk op welke kopie de kopie is die mensen vertrouwen, en wanneer de andere voor het laatst zijn ververst. Als de tweede kolom leeg is, is die tabel een kandidaat voor één register met twee bouwplannen in plaats van twee tabellen met één naam.