Guida

Generatore UUID: Guida Completa

Gli UUID (Universally Unique Identifiers) sono valori a 128 bit garantiti unici nello spazio e nel tempo. Sono essenziali per sistemi distribuiti, chiavi primarie di database e ovunque siano necessari identificatori unici senza coordinamento.

Cos'è un UUID?

Un UUID è un identificatore a 128 bit rappresentato in formato canonico come 32 cifre esadecimali, mostrate in cinque gruppi separati da trattini: 8-4-4-4-12. Ad esempio: 550e8400-e29b-41d4-a716-446655440000. La bellezza degli UUID sta nella loro generazione decentralizzata. Ogni sistema può generare UUID indipendentemente senza contattare un server centrale, e le collisioni sono praticamente impossibili. Questo rende gli UUID perfetti per sistemi distribuiti, applicazioni offline e architetture microservizi. UUID sta per Universally Unique Identifier ed è anche chiamato GUID (Globally Unique Identifier) nei sistemi Microsoft. Sono funzionalmente identici. Lo standard UUID (RFC 4122) definisce diverse versioni, ciascuna con metodi di generazione diversi: Versione 1 è basata sul tempo, Versione 4 è casuale, e Versioni 3/5 sono basate su nomi. La Versione 4 è la più comune nell'uso moderno. 128 bit forniscono uno spazio di indirizzi enorme—2^128 valori possibili o circa 3,4 × 10^38. Il numero è così grande che anche generando miliardi di UUID al secondo per miliardi di anni non creerebbe una probabilità pratica di collisione.

Versioni UUID

UUID Versione 1 combina un timestamp con l'indirizzo MAC della macchina. Garantisce unicità ma rivela quando e dove è stato generato. Usalo quando l'ordinamento temporale è importante e le preoccupazioni sulla privacy non esistono. Raro nelle applicazioni moderne. UUID Versione 4 è generato interamente da numeri casuali. È la versione più popolare, non fornisce informazioni di ordinamento, è perfetta per uso generico ed è ciò che il nostro strumento genera per impostazione predefinita. UUID Versione 3 crea UUID deterministici da un namespace e nome usando hashing MD5. Gli stessi input producono sempre lo stesso UUID. Usalo quando serve UUID consistenti per gli stessi input. Versione 5 è lo stesso concetto ma usa SHA-1 invece di MD5—scegli v5 rispetto a v3 per nuove applicazioni. Il formato rivela la versione. Il 13° carattere (prima cifra del terzo gruppo) indica la versione. In 550e8400-e29b-41d4-a716-446655440000, il '4' mostra che è un UUID v4. Le proposte più recenti come UUIDv7 aggiungono ordinabilità timestamp mantenendo casualità. Sta guadagnando popolarità per chiavi primarie di database dove gli inserimenti ordinati hanno vantaggi prestazionali.

Quando Usare gli UUID

Le chiavi primarie di database possono usare UUID invece di integer auto-incrementanti. Vantaggi: le chiavi possono essere generate lato client, lo sharding del database è banale, nessuna informazione sul conteggio record viene rivelata. Svantaggi: archiviazione maggiore (16 byte vs 4-8), leggere penalità prestazionali sull'indicizzazione. I sistemi distribuiti beneficiano enormemente dagli UUID. I microservizi possono creare identificatori indipendentemente. I sistemi event sourcing necessitano ID evento globalmente unici. Le code messaggi necessitano deduplicazione senza coordinamento. Gli ID sessione possono essere generati senza allocazione centrale. Gli ID risorsa API dovrebbero spesso essere UUID. Prevengono attacchi di enumerazione (l'attaccante non può indovinare /utenti/1, /utenti/2). Non rivelano informazioni aziendali. Sono fondibili tra schemi ID diversi. Identificatori file e asset sono buoni casi d'uso UUID. I sistemi di upload possono assegnare identificatori prima dell'archiviazione. Non serve attendere sequenze database. Impossibili collisioni tra più server di upload. Quando NON usare UUID: quando la leggibilità umana è importante (gli UUID sono difficili da comunicare), quando l'archiviazione è molto vincolata (16 byte vs 4 per int), quando serve ordinamento basato sul tempo di creazione (usa allora UUIDv7 o ULID), quando sequenza o ordine è importante per la visualizzazione.

Prova lo Strumento

Generatore UUID

Generatore UUID

Scopri di Più

FAQ

Generatore UUID

FAQ