L'identificatore univoco universale (UUID), noto anche come identificatore univoco globale (GUID), è stato ampiamente utilizzato nei sistemi informatici.
È un codice a 128 bit che viene generato dal sistema in base a variabili e costanti: ora corrente, indirizzo MAC, hash SHA-1, spazio dei nomi MD5. Il risultato finale della generazione di un UUID, visualizzato come codice alfanumerico di 32 caratteri separati da trattini, può sembrare arbitrario, ma in realtà è il risultato di calcoli complessi. Pertanto, un computer non "inventa" un codice, ma lo forma da quantità tecniche specifiche che sono rilevanti in un dato momento.
La probabilità che lo stesso UUID venga generato su due computer diversi in momenti diversi tende a zero, il che rende possibile utilizzare i codici risultanti per l'identificazione dei dati puntuali/locali senza riferimento al centro di coordinamento. Oggi, UUID/GUID è onnipresente nelle reti sia online che offline e funziona efficacemente non solo nello spazio Internet globale, ma anche nei sistemi informatici autonomi.
Cronologia UUID
I codici UUID a 128 bit sono stati utilizzati per la prima volta dalla società americana Apollo Computer negli anni '80. Erano basati sui codici a 64 bit più semplici utilizzati in Domain/OS e trovarono un uso diffuso nell'ambiente informatico Open Software Foundation.
Con l'avvento delle prime piattaforme Windows, l'identificatore univoco globale è stato generalizzato e standardizzato. Microsoft ha adottato il design DCE di Apollo Computer e ha registrato lo spazio dei nomi URN in RFC 4122. Nel 2005, quest'ultimo è stato proposto come nuovo standard dall'IETF e l'UUID è stato standardizzato all'interno dell'ITU.
All'inizio del 2002, sono stati identificati problemi di prestazioni del sistema quando si utilizzavano gli UUID come chiavi primarie nei database locali. Questi sono stati corretti nella versione 4 aggiungendo un suffisso non casuale basato sull'ora di sistema del computer. Il cosiddetto approccio COMB (Combined GUID Time Identifier) ha aumentato i rischi di duplicazione del codice, ma allo stesso tempo ha migliorato significativamente le prestazioni quando si lavora con Microsoft SQL Server.
Con lo sviluppo delle tecnologie informatiche, l'identificatore univoco universale ha cessato di essere uno strumento tecnico altamente specializzato e oggi tutti possono utilizzarlo. La probabilità di ripetizione dei codici generati non è uguale a zero, ma tende ad essa, e qualsiasi informazione digitale può essere identificata da essi, dopodiché possono essere combinati in singoli array di dati con rischi minimi di ripetizione.
Vantaggi UUID
I generatori di codici univoci globali non richiedono la riconciliazione/sincronizzazione centralizzata dei dati e sono disponibili gratuitamente per tutti gli utenti. I principali vantaggi dell'UUID includono:
- Rischi minimi di "collisione" (ripetizione) dei codici. Nonostante il loro uso massiccio, la probabilità di ripetizione tende a zero.
- Possibilità di unire diversi array di dati utilizzando gli UUID come chiavi primarie (uniche).
- Distribuzione semplificata dei dati su più server dispersi.
- Possibilità di generare codici offline.
I codici identificativi univoci, scritti nel formato xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, consentono a sistemi dispersi di riconoscere informazioni senza coordinamento da un unico data center: con una probabilità di errori/ripetizioni quasi nulla. Questa caratteristica, insieme alla facilità d'uso e ai piccoli requisiti per le prestazioni del computer, rende l'UUID richiesto e indispensabile in un'ampia varietà di settori IT e sistemi di elaborazione autonomi.