Co je UUID a jak funguje
UUID (Universally Unique Identifier) je standardizovaný formát 128bitového identifikátoru definovaný v RFC 9562 (dříve RFC 4122). Hlavní myšlenkou je možnost generovat unikátní identifikátory na jakémkoli zařízení, v jakémkoli okamžiku, bez nutnosti ověřovat jejich unikátnost přes centrální server.
Formát zápisu
UUID se zapisuje jako 32 hexadecimálních znaků oddělených čtyřmi pomlčkami do pěti skupin: 8-4-4-4-12. Například: 550e8400-e29b-41d4-a716-446655440000. Znak na pozici 13 udává verzi (1–7) a první znak čtvrté skupiny určuje variantu (8, 9, a nebo b pro standardní UUID).
Proč je UUID v4 nejpopulárnější
UUID v4 používá kryptograficky bezpečný generátor náhodných čísel (CSPRNG). Ze 128 bitů je 6 vyhrazeno pro verzi a variantu, čímž zbývá 122 bitů entropie. To dává 5,3 × 10^36 možných kombinací. UUID v4 není vázán na čas ani hardware, což zajišťuje plnou anonymitu generování.
UUID v databázích
Použití UUID jako primárního klíče má výhody: bezpečné slučování dat z různých zdrojů, možnost generování ID na klientovi bez dotazu na databázi, absence informací o pořadí vytvoření záznamů. Nevýhody: větší velikost (16 bajtů oproti 4–8 u INT), fragmentace indexu pro v4. UUID v7 řeší problém fragmentace díky časovému prefixu.
UUID v7 — nový standard
UUID v7, standardizovaný v RFC 9562 (2024), kombinuje výhody UUID v1 (řazení podle času) a v4 (náhodnost). Prvních 48 bitů je Unix timestamp v milisekundách, zbytek je náhodný. To činí v7 ideálním pro primární klíče v databázích, kde je důležité pořadí vkládání.