Menu dokumentacji

Jak Titan kataloguje jezioro#

Titan jest rozstrzygającym katalogiem jezior organizacji. Wiąże nazwy tabel z metadanymi Iceberg, publikuje nowe migawki, wydaje krótkotrwały dostęp do magazynu i dowodzi, które pliki pozostają osiągalne.

Jedno jezioro na organizację#

Ścieżka żądania i tożsamość bearer wskazują to samo jezioro. Tożsamość bearer jeziora nie może rozszerzyć dostępu na inne jezioro, a jej dane uwierzytelniające do magazynu są ograniczone do katalogu głównego tego jeziora. Fizyczne identyfikatory jezior nie występują w SQL; nazwa titan w zapytaniach jest tylko powiązanym aliasem.

Wczytywanie tabeli#

Autoryzowane wczytanie zwraca metadane Iceberg razem z wygasającymi danymi uwierzytelniającymi do magazynu. Klasa danych odpowiada operacji: zwykły odczyt tabel, odczyt wyników i archiwizacja nie współdzielą jednego szerokiego tokenu.

Przy obecnej ograniczonej skali jeziora listy przestrzeni nazw i tabel celowo nie są stronicowane. Metadane pozostają źródłem prawdy; żadna lista nie wnioskuje o tabeli na podstawie luźnych obiektów magazynu.

Bezpieczne zapisywanie commitów#

Każda mutacja sprawdza wymagania względem bieżącego stanu tabeli i publikuje nowy wskaźnik metadanych z arbitrażem compare-and-swap.

409 oznacza, że Titan dowiódł przegrania konfliktu przez żądany commit. Nieznany wynik zwraca 504 CommitStateUnknownException, aby wywołujący zachował przygotowane pliki i przeprowadził uzgodnienie. Zgłoszenie niepewnego wyniku jako 409 mogłoby zachęcić czyszczenie do usunięcia danych z commitu, który mógł się udać.

Błędy używają otoczki Iceberg {"error":{"message","type","code"}} oraz stabilnego maszynowego pola reason dla odmów.

Migawki i retencja#

Każdy commit dodaje niezmienną migawkę. Podróż w czasie jest rozwiązywana przez metadane katalogu, a retencja usuwa historię dopiero wtedy, gdy aktywne tabele, gałęzie, dzierżawy i chronione migawki przestaną się do niej odwoływać.

Odśmiecanie przechodzi po zweryfikowanym grafie osiągalności. Nigdy nie traktuje pozornie nieużywanego pliku jako samodzielnego dowodu bezpieczeństwa usunięcia.

Gałęzie#

Gałąź jest zarejestrowaną, bezpieczną dla ścieżek nazwą z rodzicem i ograniczoną głębokością. Przed pierwszym zapisem podąża za bieżącym stanem rodzica. Pierwszy przyjęty zapis ustala pochodzenie i publikuje wskaźnik lokalny dla gałęzi.

Gałęzie inne niż główna mogą mieć domyślny czas życia i retencję migawek. Odczyty używają tej samej granicy autoryzacji o zakresie jeziora. Zapisy wymagają tożsamości bearer jeziora z prawem odczytu i zapisu; wewnętrzne operacje źródeł pozostają ograniczone do gałęzi głównej. Nie istnieje niejawne scalanie do main.

Dostępność bez niejednoznaczności#

Kontrole działania i gotowości odróżniają życie procesu od zdolności obsługi rozstrzygającego stanu katalogu. Jeśli katalog nie może dowieść bezpiecznej odpowiedzi, odmawia lub zgłasza stan nieznany. Dostępność nigdy nie powstaje przez wymyślanie metadanych.