- Domů
- Generátor UUID
Generátor UUID
Generujte univerzálně unikátní identifikátory (UUID) pomocí algoritmů založených na časových značkách pro prevenci duplikátů.
Jak fungují UUID
UUID v1 (Založené na časové značce): Používá aktuální časovou značku (100nanosekundové intervaly od 15. října 1582) kombinovanou s MAC adresou nebo náhodným identifikátorem uzlu. To zajišťuje jedinečnost mezi různými stroji a zabraňuje duplikátům i při současném generování.
UUID v4 (Náhodné): Používá kryptograficky silná náhodná čísla. I když jsou duplikáty teoreticky možné, pravděpodobnost je tak nízká (1 z 2^122), že je pro praktické účely zanedbatelná.
UUID v7 (Moderní časová značka): Nejnovější verze UUID, která kombinuje unixovou časovou značku (48 bitů) s náhodnými daty (74 bitů). To poskytuje výhody časového řazení z v1 při zachování soukromí v4, což je ideální pro primární klíče databáze.
Formát: UUID jsou 128bitové hodnoty zobrazené jako 32 hexadecimálních číslic ve formátu: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Běžné případy použití
UUID (známé také jako GUID) vám dají prakticky neomezenou zásobu unikátních identifikátorů, aniž byste se museli koordinovat s centrální autoritou. Tady jsou některá typická místa, kde se používají:
Primární klíče v databázích
UUID umožňují víc službám nebo shardům generovat klíče nezávisle bez kolizí. UUID v7 je stále preferovanější, protože jeho úvodní časové razítko udržuje inserty v blízkých místech a indexy kompaktní.
Distribuované systémy
Když události produkuje mnoho uzlů, UUID pro každou událost odstraňuje úzké hrdlo v podobě centrální sekvence a udržuje logy dohledatelné napříč hranicemi služeb.
Veřejně viditelné identifikátory
UUID v4 v URL neprozradí, kolik záznamů existuje, ani neotevírá dveře enumeračním útokům tak, jako to dělá postupně rostoucí celé číslo.
Klíče pro idempotenci
Klienti pro každý požadavek vygenerují UUID, takže server pozná opakování a neprovede stejnou akci dvakrát.
Kterou verzi si vybrat?
- Sáhněte po v4, když chcete prostou náhodnost bez dalších vlastností - pro většinu aplikací je to nejbezpečnější výchozí volba.
- Zvolte v7, pokud bude identifikátor sloužit jako primární klíč v databázi nebo se uloží do indexu, kde záleží na pořadí vkládání. Zabudované časové razítko vede řádky k tomu, aby se seskupovaly blízko sebe, a výrazně zrychluje zápisy ve velkém měřítku.
- Použijte v1 jen tehdy, když explicitně potřebujete odvozovat identifikátor z časového razítka a identifikátoru uzlu. V moderních aplikacích je pro tentýž případ lepší v7, která neprozrazuje MAC adresu.
Často kladené otázky
Co je to UUID?
UUID (univerzálně unikátní identifikátor) je 128bitová hodnota, obvykle zapisovaná jako 32 hexadecimálních číslic ve tvaru xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Různé verze generují hodnotu jinak (náhodně, pomocí časového razítka nebo kombinací obojího).
Jaký je rozdíl mezi UUID a GUID?
Označují totéž. GUID (globálně unikátní identifikátor) je název používaný v ekosystému Microsoftu; UUID je název z RFC 4122 a používá se všude jinde. Formát i záruky jedinečnosti jsou shodné.
Jsou UUID zaručeně jedinečné?
Matematicky zaručené to není - ale pravděpodobnost kolize u UUID v4 je zhruba 1 ku 2^122, což je daleko pod hranicí jakéhokoli praktického využití. U UUID v1 a v7 se kolizím v praxi brání časové razítko a bity uzlu nebo náhodné bity.
Mám pro primární klíče v databázi volit UUID v4, nebo v7?
UUID v7 je pro primární klíče obecně lepší. Protože jsou úvodní bity Unix časovým razítkem, nové řádky končí na disku blízko sebe, což udržuje indexy kompaktní a zápisy rychlé. V4 zvolte jen tehdy, když pořadí vkládání nesmí být za žádných okolností odvoditelné.
Potřebuji generátor UUID v1?
Málokdy. UUID v1 obsahuje MAC adresu generujícího stroje (nebo její náhodnou náhradu), což může uniknout vně. UUID v7 nabízí stejnou vlastnost časového řazení bez tohoto rizika a dnes je téměř vždy lepší volbou.
Je tenhle generátor UUID zdarma?
Ano. Veškeré generování probíhá ve vašem prohlížeči, nejsou tu žádné limity a nepotřebujete účet. Můžete generovat jednotlivá UUID zde nebo přejít na hromadný generátor až pro 500 najednou.
Související nástroje
Další bezplatné nástroje od Hexbon, které se vám můžou hodit.