Universally Unique Identifier (UUID), joka tunnetaan myös nimellä Globally Unique Identifier (GUID), on käytetty laajalti tietokonejärjestelmissä.
Se on 128-bittinen koodi, jonka järjestelmä luo muuttujien ja vakioiden perusteella: nykyinen aika, MAC-osoite, SHA-1 hash, MD5-nimiavaruus. UUID:n luomisen lopputulos, joka näytetään 32-merkkisenä aakkosnumeerisena koodina, joka on erotettu yhdysviivalla, saattaa vaikuttaa mielivaltaiselta, mutta itse asiassa se on monimutkaisten laskelmien tulos. Tietokone ei siis "keksi" koodia, vaan muodostaa sen tietyllä hetkellä relevanteista teknisistä suureista.
Todennäköisyys, että sama UUID luodaan kahdella eri tietokoneella eri aikoina, on yleensä nolla, mikä mahdollistaa tuloksena olevien koodien käyttämisen pisteen/paikallisen datan tunnistamiseen ilman koordinointikeskusta. Nykyään UUID/GUID on läsnä kaikkialla sekä online- että offline-verkoissa, ja se toimii tehokkaasti paitsi maailmanlaajuisessa Internet-tilassa myös itsenäisissä tietokonejärjestelmissä.
UUID-historia
128-bittisiä UUID-koodeja käytti ensimmäisen kerran yhdysvaltalainen Apollo Computer 1980-luvulla. Ne perustuivat yksinkertaisempiin 64-bittisiin koodeihin, joita käytetään Domain/OS:ssä, ja niitä käytettiin laajasti Open Software Foundationin laskentaympäristössä.
Ensimmäisten Windows-alustojen myötä maailmanlaajuisesti ainutlaatuinen tunniste yleistettiin ja standardisoitiin. Microsoft otti käyttöön Apollo Computerin DCE-mallin ja rekisteröi URN-nimiavaruuden RFC 4122:een. Vuonna 2005 IETF ehdotti viimeksi mainittua uudeksi standardiksi, ja UUID standardoitiin ITU:ssa.
Aiemmin vuonna 2002 havaittiin järjestelmän suorituskykyongelmia käytettäessä UUID-tunnuksia ensisijaisina avaimina paikallisissa tietokantoissa. Nämä korjattiin versiossa 4 lisäämällä ei-satunnainen pääte, joka perustuu tietokoneen järjestelmäaikaan. Ns. COMB (Combined GUID Time Identifier) -menetelmä lisäsi koodin päällekkäisyyden riskejä, mutta samalla paransi merkittävästi suorituskykyä työskennellessä Microsoft SQL Serverin kanssa.
IT-teknologioiden kehittymisen myötä universaali yksilöllinen tunniste on lakannut olemasta pitkälle erikoistunut tekninen työkalu, ja nykyään jokainen voi käyttää sitä. Luotujen koodien toistumisen todennäköisyys ei ole nolla, vaan siihen pyrkii, ja niiden avulla voidaan tunnistaa mikä tahansa digitaalinen tieto, jonka jälkeen ne voidaan yhdistää yhdeksi tietomatriisiksi minimaalisella toistoriskillä.
UUID-edut
Maailmanlaajuisten yksilöllisten koodien generaattorit eivät vaadi keskitettyä tietojen täsmäytystä/synkronointia, ja ne ovat kaikkien käyttäjien vapaasti saatavilla. UUID:n tärkeimpiä etuja ovat:
- Minimaalinen koodien "törmäyksen" (toiston) riski. Huolimatta niiden massiivisesta käytöstä, toiston todennäköisyys on yleensä nolla.
- Mahdollisuus yhdistää erilaisia tietoryhmiä käyttämällä UUID:itä ensisijaisina (yksilöllisinä) avaimina.
- Yksinkertaistettu tietojen jakelu useiden hajautettujen palvelimien kesken.
- Mahdollisuus luoda koodeja offline-tilassa.
Ainutlaatuiset tunnistekoodit, jotka on kirjoitettu muodossa xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, mahdollistavat hajautettujen järjestelmien tunnistamisen ilman koordinointia yhdestä datakeskuksesta: lähes nollalla virheiden/toistojen todennäköisyydellä. Tämä ominaisuus sekä helppokäyttöisyys ja pienet tietokoneen suorituskykyvaatimukset tekevät UUID:stä kysytyn ja välttämättömän useilla IT-aloilla ja itsenäisillä laskentajärjestelmillä.