Universally Unique Identifiers (UUID) jsou po desetiletí základním kamenem distribuovaných systémů a poskytují spolehlivý způsob generování jedinečných klíčů bez centralizované koordinace. I když je UUID verze 4 (která spoléhá čistě na náhodná čísla) pravděpodobně nejslavnější a nejrozšířenější variantou, nese inherentní omezení při použití jako primární klíč v relačních systémech správy databází (RDBMS). Náhodnost je výborná pro nepředvídatelnost, ale hrozná pro indexování databází. Když vložíte náhodné UUID do B-stromového indexu, způsobí to masivní rozdělení stránek a fragmentaci indexu, což v čase vede ke zhoršenému výkonu zápisu. Zde vstupují časově založená UUID — konkrétně verze 1, 6 a 7 — a nabízejí strukturovanou alternativu, která respektuje jak jedinečnost, tak chronologické uspořádání.
UUID verze 1 byl původní pokus kombinovat jedinečnost s časem. Identifikátor generuje pomocí aktuálního časového razítka, posloupnosti hodin a MAC adresy uzlu. Zahrnutí MAC adresy zaručovalo prostorovou jedinečnost napříč různými stroji, zatímco časové razítko zaručovalo časovou jedinečnost. UUID v1 má ale kritickou vadu pro indexování databází: jeho časové razítko je strukturované tak, že nejvýznamnější bity reprezentují nejnižší časovou granularitu. Jednoduše řečeno, jak čas postupuje, začátek řetězce UUID se mění rychle a nepředvídatelně a ničí jakýkoli potenciál pro sekvenční řazení. Odhalení MAC adresy navíc vyvolalo významné obavy o soukromí a zabezpečení, což vedlo mnoho vývojářů k úplnému opuštění v1.
K řešení těchto do očí bijících problémů inženýrská komunita zavedla UUID verze 6 a verze 7. UUID v6 je v podstatě reorganizované UUID v1. Bere časové komponenty v1 a přeuspořádá je tak, aby nejvýznamnější bity reprezentovaly nejvyšší časovou granularitu (roky, měsíce, dny) a sestupovaly k zlomkům sekundy. Toto jednoduché přeuspořádání zajišťuje, že hodnoty UUID v6 jsou lexikograficky řiditelné podle času. Pokud dnes vygenerujete v6 UUID a zítra další, zítřejší UUID se seřadí za dnešním a dokonale se sladí s tím, jak databázové B-stromy očekávají vkládání dat. To eliminuje fragmentaci indexů spojenou s v4 i nemožnost řazení v1 a zároveň zůstává zpětně kompatibilní se systémy očekávajícími tradiční strukturu UUID.
UUID verze 7 tuto optimalizaci posouvá o krok dál a představuje moderní zlatý standard pro primární klíče databází. Místo spoléhání na legacy gregoriánskou epochu používanou v1 a v6 UUID v7 využívá standardní Unix Epoch časové razítko (milisekundy od půlnoci 1. ledna 1970 UTC). Toto časové razítko zabírá prvních 48 bitů identifikátoru. Zbývající bity se vyplní kryptograficky silnými náhodnými daty. Tento hybridní přístup dodává to nejlepší z obou světů: robustní, sekvenční řiditelnost požadovanou pro vysoce výkonné databázové vklady, kombinovanou se zabezpečením a soukromím náhodného generování dat. Použitím našeho 100% bezplatného, soukromého generátoru UUID v prohlížeči můžete tyto moderní identifikátory okamžitě vytvořit bez rizika pro data díky žádnému nahrávání na server.