Mi az a UUID és hogyan működik
A UUID (Universally Unique Identifier) egy szabványosított formátumú, 128 bites azonosító, amelyet az RFC 9562 (korábban RFC 4122) definiál. Az alapötlet az, hogy bármely eszközön, bármikor létre lehessen hozni egyedi azonosítókat anélkül, hogy az egyediséget egy központi szerveren kellene ellenőrizni.
Formátum
A UUID-t 32 hexadecimális karakterként írják, négy kötőjellel öt csoportra osztva: 8-4-4-4-12. Például: 550e8400-e29b-41d4-a716-446655440000. A 13. pozíción lévő karakter a verziót jelzi (1–7), a negyedik csoport első karaktere pedig a változatot határozza meg (8, 9, a vagy b a szabványos UUID esetében).
Miért a UUID v4 a legnépszerűbb
A UUID v4 kriptográfiailag biztonságos véletlenszám-generátort (CSPRNG) használ. A 128 bitből 6 a verzióra és a változatra van fenntartva, így 122 bit entrópia marad. Ez 5,3 × 10^36 lehetséges kombinációt jelent. A UUID v4 nem kötődik időhöz vagy hardverhez, ami teljes anonimitást biztosít a generálás során.
UUID az adatbázisokban
A UUID elsődleges kulcsként való használatának előnyei: különböző forrásokból származó adatok biztonságos egyesítése, az ID generálásának lehetősége az ügyfélen az adatbázis megkérdezése nélkül, a rekordok létrehozási sorrendjéről szóló információ hiánya. Hátrányai: nagyobb méret (16 bájt az INT 4-8 bájtjával szemben), index-fragmentáció a v4 esetében. A UUID v7 az időbélyeg-előtagnak köszönhetően megoldja a fragmentáció problémáját.
UUID v7 — az új szabvány
A 2024-ben az RFC 9562-ben szabványosított UUID v7 ötvözi a UUID v1 (időrendi rendezés) és a v4 (véletlenszerűség) előnyeit. Az első 48 bit Unix-időbélyeg ezredmásodpercekben, a többi véletlenszerű. Ez teszi a v7-et ideálissá olyan adatbázisok elsődleges kulcsaihoz, ahol fontos a beszúrás sorrendje.