Jeden zapis, czytelny dla narzędzi, które już macie: XTable i UniForm

Dział finansów robi raporty w Power BI nad Microsoft Fabric. Spółka kupiona w zeszłym roku raportuje w Snowflake. Inżynierowie danych w grupie wolą Trino. Każde narzędzie dobrze czyta jeden format tabel, więc każde ma własną kopię księgi sprzedaży, odświeżaną według własnego harmonogramu, a marża kwartalna istnieje w trzech nieco różnych wersjach, dopóki ktoś nie wybierze jednej.
Firma nie przychodzi do nowego systemu operacyjnego z pustymi rękami. Przychodzi z tymi narzędziami, tymi nawykami i tymi kopiami. Zapis Hurukana jest projektowany tak, żeby mogły go czytać bez kopiowania go dla nich. Umożliwiają to dwa projekty, a zrozumienie, co robią, a czego nie, jest pytaniem o suwerenność, nie o hydraulikę.
Dlaczego tłumaczenie jest w ogóle możliwe
Delta Lake, Apache Iceberg i Apache Hudi przechowują dane tak samo: jako pliki Parquet, których nigdy się nie edytuje. Różnią się metadanymi zapisanymi obok tych plików — listą plików, które składają się teraz na tabelę, schematem, partycjami, statystykami. Format tabeli to plan nałożony na cegły, a cegły są wspólne.
Tabeli zapisanej w jednym formacie można więc dać drugi plan. Nic nie jest kopiowane; obok powstaje drugi komplet metadanych wskazujący te same pliki, a silnik czytający drugi format znajduje tabelę tam, gdzie się jej spodziewa. Warstwa Data, która trzyma zapis Hurukana, jest w budowie, a to jedna z własności, wokół których ją projektujemy.
Apache XTable: tłumacz, który działa obok tabeli
Apache XTable to projekt w inkubacji Apache Software Foundation. Czyta metadane formatu źródłowego i zapisuje metadane jednego lub kilku formatów docelowych „bez kopiowania ani przenoszenia plików danych”. Bieżące wydanie to 0.4.0-incubating z sierpnia 2026 (sprawdzono 21.10.2026). Działa jako narzędzie albo zadanie cykliczne, z pełną synchronizacją, która odbudowuje metadane docelowe, i przyrostową, która przenosi tylko to, co zmieniło się od ostatniego uruchomienia.
Jego dokumentacja uczciwie podaje ograniczenia: tabele Hudi i Iceberg w układzie merge-on-read nie są obsługiwane, podobnie jak tabele Delta używające wektorów usunięć. Opis OneLake od Microsoftu podaje, że korzysta z XTable, żeby pokazywać tabele w więcej niż jednym formacie — to użyteczny sygnał, gdzie projekt stoi na rynku.
Delta UniForm: drugi plan pisany przy zatwierdzeniu
Delta UniForm robi to samo od środka Delta
Lake. Gdy jest włączony na tabeli, Delta po każdym commicie zapisuje asynchronicznie metadane
Iceberg (a w wersji zapowiedzi — Hudi), więc czytelnik Iceberga widzi tabelę natywnie. Wymaga
mapowania kolumn, wersji czytelnika co najmniej 2 i pisarza co najmniej 7 oraz funkcji tabeli
IcebergCompatV2. Delta 4.3.0 z czerwca 2026 dodała atomową przyrostową konwersję do Iceberga
(sprawdzono 21.10.2026).
Ograniczenia są lustrem ograniczeń XTable: strona Iceberg lub Hudi jest tylko do odczytu; wektory
usunięć, typ VOID i dziennik zmian nie przechodzą. W środowisku Microsoft efekt widać w
OneLake, który
wirtualizuje tabele Delta jako Iceberg z udokumentowanym opóźnieniem od kilku sekund do paru
minut, dla tabel poniżej pięciu tysięcy commitów.
| Apache XTable | Delta UniForm | |
|---|---|---|
| Gdzie działa | obok tabeli, jako zadanie | wewnątrz pisarza Delta, przy commicie |
| Formaty źródłowe | Delta, Iceberg, Hudi (i więcej w 0.4.0) | tylko Delta |
| Formaty docelowe | każdy z trzech | Iceberg; Hudi w zapowiedzi |
| Zapis z drugiej strony | nie | nie |
| Katalog i uprawnienia | nietłumaczone | nietłumaczone |
Co jest tłumaczone, a co nie
Tłumaczone są metadane. Lista plików, schemat, partycje, statystyki. Trzy rzeczy nie są i każda z nich jest decyzją, która zostaje przy firmie.
Format zapisu. Jeden format pozostaje tym, do którego się pisze. Tam siedzi właściciel tabeli, tam ustawia się retencję i tam wykonuje się usunięcie wymagane prawem ochrony danych. Pozostałe formaty są jego widokami.
Katalog. Czytelnik w Snowflake albo Fabric nadal musi dostać informację, gdzie tabela jest i czy ta osoba może ją czytać. Przetłumaczone metadane nie niosą uprawnień. Hurukan trzyma uprawnienia na serwerze, a katalog na infrastrukturze, którą firma wybiera — to istota warstwy bezpieczeństwa i suwerenności.
Funkcje, których drugi format nie zna. Tabela Delta z wektorami usunięć albo tabela Iceberg czytana przez format pozbawiony jakiejś funkcji albo odmówi tłumaczenia, albo pokaże inny wynik. Plan testów takiej tabeli czyta ją przez każdy używany format i porównuje liczbę wierszy, agregaty oraz opóźnienie między zapisem a jego widocznością po drugiej stronie. W Hurukanie taki zestaw testów może wygenerować agent na podstawie schematu, a człowiek zatwierdza go, zanim drugi format zostanie komukolwiek udostępniony.
Lock-in w obie strony
Zwykła obawa wobec systemu operacyjnego dla całej firmy jest taka, że uzależni firmę od siebie. Zapis odpowiada na nią od środka: otwarte formaty, pliki i katalog na infrastrukturze firmy, czytelne dla innych silników. XTable i UniForm odpowiadają od zewnątrz: narzędzia, za które firma już płaci, dalej czytają ten sam zapis, w formacie, który wolą, bez kopii do uzgadniania. Integracje z Microsoft 365 Copilot i pozostałymi asystentami są w planach, nie działają; formaty plików pod nimi już są otwarte.
Który format Hurukan zapisuje jako pierwszy, to wybór katalogu i środowiska, nie funkcji — zapada w tekście Ślad audytu to tabela.
Test, który możesz zrobić dziś
Wypisz tabele, które w Twojej firmie istnieją w więcej niż jednym narzędziu. Przy każdej zapisz, której kopii ludzie ufają i kiedy pozostałe były ostatnio odświeżane. Jeśli druga kolumna jest pusta, ta tabela jest kandydatką na jeden zapis z dwoma planami zamiast dwóch tabel o jednej nazwie.
- Apache XTable
- Delta UniForm
- formaty tabel
- lock-in
- Microsoft Fabric