Univerzalni jedinstveni identifikator (UUID), poznat i kao globalni jedinstveni identifikator (GUID), naširoko se koristi u računalnim sustavima.
To je 128-bitni kod koji generira sustav na temelju varijabli i konstanti: trenutno vrijeme, MAC adresa, SHA-1 hash, MD5 imenski prostor. Krajnji rezultat generiranja UUID-a, prikazanog kao alfanumerički kod od 32 znaka odvojen crticama, može se činiti proizvoljan, ali zapravo je rezultat složenih izračuna. Dakle, računalo ne “izmišlja” kod, već ga oblikuje od specifičnih tehničkih veličina koje su relevantne u određenom trenutku.
Vjerojatnost da će isti UUID biti generiran na dva različita računala u različito vrijeme teži nuli, što omogućuje korištenje dobivenih kodova za identifikaciju točaka/lokalnih podataka bez upućivanja na koordinacijski centar. Danas je UUID/GUID sveprisutan u online i offline mrežama i učinkovito radi ne samo u globalnom internetskom prostoru, već iu samostalnim računalnim sustavima.
Povijest UUID-a
128-bitne UUID kodove prva je upotrijebila američka tvrtka Apollo Computer 1980-ih. Temeljili su se na jednostavnijim 64-bitnim kodovima koji se koriste u domeni/OS-u i našli su široku upotrebu u računalnom okruženju Open Software Foundation.
S pojavom prvih Windows platformi, globalni jedinstveni identifikator je generaliziran i standardiziran. Microsoft je usvojio DCE dizajn od Apollo Computera i registrirao URN namespace u RFC 4122. IETF je 2005. predložio potonji kao novi standard, a UUID je standardiziran unutar ITU-a.
Ranije 2002., problemi s performansama sustava identificirani su prilikom korištenja UUID-ova kao primarnih ključeva u lokalnim bazama podataka. To je popravljeno u verziji 4 dodavanjem nenasumičnog sufiksa na temelju sistemskog vremena računala. Takozvani COMB (Combined GUID Time Identifier) pristup povećao je rizike dupliciranja koda, ali je u isto vrijeme značajno poboljšao performanse pri radu s Microsoft SQL Serverom.
Razvojem IT tehnologija univerzalni jedinstveni identifikator prestao je biti usko specijalizirani tehnički alat i danas ga svatko može koristiti. Vjerojatnost ponavljanja generiranih kodova nije jednaka nuli, već joj teži, a sve digitalne informacije se mogu identificirati pomoću njih, nakon čega se mogu kombinirati u pojedinačne nizove podataka uz minimalne rizike ponavljanja.
Prednosti UUID-a
Generatori globalnih jedinstvenih kodova ne zahtijevaju centralizirano usklađivanje/sinkronizaciju podataka i besplatno su dostupni svim korisnicima. Glavne prednosti UUID-a uključuju:
- Minimalni rizici od "kolizije" (ponavljanja) kodova. Unatoč njihovoj masovnoj upotrebi, vjerojatnost ponavljanja teži nuli.
- Mogućnost spajanja različitih nizova podataka korištenjem UUID-ova kao primarnih (jedinstvenih) ključeva.
- Pojednostavljena distribucija podataka na više disperziranih poslužitelja.
- Mogućnost generiranja kodova izvan mreže.
Jedinstveni identifikacijski kodovi, napisani u formatu xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, omogućuju disperziranim sustavima da prepoznaju informacije bez koordinacije iz jednog podatkovnog centra: s gotovo nultom vjerojatnošću pogrešaka/ponavljanja. Ova značajka, zajedno s jednostavnošću upotrebe i niskim zahtjevima za performansama računala, čini UUID traženim i nezamjenjivim u širokom spektru IT industrija i autonomnih računalnih sustava.