O que é um UUID e quando usar
UUID, GUID, identificador único universal — nomes diferentes para o mesmo conceito. Entenda como um UUID v4 é gerado, por que colisões são praticamente impossíveis, e quando vale a pena usar em vez de um ID incremental.
Se você já trabalhou com bancos de dados distribuídos, APIs públicas ou sistemas que precisam gerar identificadores sem depender de um servidor central, provavelmente já esbarrou em UUIDs. Mas o que exatamente é um UUID, e quando ele é a escolha certa em vez de um ID incremental simples?
O que é um UUID
UUID significa Universally Unique Identifier — um identificador de 128 bits, normalmente representado como uma string de 36 caracteres no formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. GUID (Globally Unique Identifier) é o mesmo conceito com um nome diferente, historicamente usado pela Microsoft.
Por que usar UUID em vez de um ID incremental?
Um ID incremental (1, 2, 3...) exige coordenação central — normalmente o banco de dados — para garantir que não haja duplicatas. Isso funciona bem em um banco único, mas complica em cenários como:
- Sistemas distribuídos: múltiplos servidores gerando IDs ao mesmo tempo, sem coordenação entre eles.
- Merge de dados: combinar registros de bancos diferentes sem conflito de IDs.
- Segurança: IDs incrementais revelam informação (ex: "este é o registro de número 4.521", dando pistas sobre volume de dados) e são fáceis de enumerar (
/usuario/1,/usuario/2...). UUIDs são imprevisíveis.
Como funciona o UUID v4
A versão 4 do UUID é a mais comum atualmente, porque é gerada inteiramente a partir de números aleatórios — sem depender de endereço MAC, timestamp ou qualquer informação da máquina (diferente de versões mais antigas, como v1). Dos 128 bits totais, 122 são aleatórios; os outros 6 bits são fixos, para identificar a versão e a variante do UUID.
Colisões são possíveis?
Tecnicamente sim, mas a probabilidade é desprezível. Com 122 bits de aleatoriedade, seriam necessários bilhões de UUIDs gerados por segundo, durante centenas de anos, para se aproximar de uma chance razoável de colisão. Na prática, cada UUID v4 gerado pode ser tratado como único.
Gerando UUIDs
Nosso Gerador de UUID usa a Web Crypto API nativa do navegador — a mesma fonte de aleatoriedade criptográfica usada em aplicações de segurança — para gerar UUIDs v4 direto no seu navegador, sem depender de nenhum servidor.