Ce este UUID și cum funcționează
UUID (Universally Unique Identifier) este un format standardizat de identificator pe 128 biți, definit în RFC 9562 (anterior RFC 4122). Ideea principală este posibilitatea de a genera identificatori unici pe orice dispozitiv, în orice moment, fără necesitatea de a verifica unicitatea printr-un server central.
Formatul de scriere
UUID se scrie ca 32 de caractere hexazecimale separate prin patru cratime în cinci grupuri: 8-4-4-4-12. De exemplu: 550e8400-e29b-41d4-a716-446655440000. Caracterul de pe poziția 13 indică versiunea (1–7), iar primul caracter al grupului al patrulea determină varianta (8, 9, a sau b pentru UUID standard).
De ce UUID v4 este cel mai popular
UUID v4 utilizează un generator de numere aleatorii criptografic securizat (CSPRNG). Din 128 biți, 6 sunt rezervați pentru versiune și variantă, rămânând 122 biți de entropie. Aceasta oferă 5,3 × 10^36 combinații posibile. UUID v4 nu este legat de timp sau hardware, asigurând anonimatul complet al generării.
UUID în baze de date
Utilizarea UUID ca cheie primară are avantaje: îmbinarea sigură a datelor din surse diferite, posibilitatea generării ID-ului pe client fără interogarea bazei de date, absența informațiilor despre ordinea creării înregistrărilor. Dezavantaje: dimensiune mai mare (16 octeți față de 4–8 pentru INT), fragmentarea indexului pentru v4. UUID v7 rezolvă problema fragmentării datorită prefixului temporal.
UUID v7 — noul standard
UUID v7, standardizat în RFC 9562 (2024), combină avantajele UUID v1 (sortare cronologică) și v4 (aleatorietate). Primii 48 biți sunt timestamp Unix în milisecunde, restul sunt aleatorii. Aceasta face v7 ideal pentru chei primare în baze de date unde secvența de inserare este importantă.