Desenvolvimento de Software

O que é UUID e quando usar identificadores únicos

Entenda o que é um UUID, as diferenças entre as versões (v1, v4, v7), e quando faz sentido usá-lo como chave em vez de IDs sequenciais.

VLPor Vitor Luz
7 min de leitura

UUID (Universally Unique Identifier), também chamado de GUID, é um identificador de 128 bits projetado para ser único no espaço e no tempo sem precisar de uma autoridade central que o coordene. Na prática, é aquela sequência de 32 caracteres hexadecimais separada por hífens (8-4-4-4-12) que você vê em chaves de banco de dados, URLs e APIs modernas.

Por que usar UUID em vez de ID sequencial

IDs auto-incrementais (1, 2, 3...) são simples, mas têm desvantagens: revelam volume de dados (um pedido #50000 entrega quantos pedidos a empresa tem), dificultam a fusão de bases de sistemas distribuídos e criam pontos de coordenação. O UUID resolve isso permitindo que qualquer nó — cliente, servidor, dispositivo offline — gere uma chave única sem consultar o banco, com chance desprezível de colisão.

As versões mais usadas

  • v4 — totalmente aleatório. É o mais comum e o que você quer na maioria dos casos.
  • v1 — baseado em timestamp + MAC address. Único, mas vaza informações de hardware e tempo.
  • v7 — versão moderna baseada em timestamp ordenável. Combina unicidade com ordenação cronológica, o que melhora a performance de índices em banco.

Para a maior parte das aplicações, o v4 é a escolha segura. Se a ordenação por criação importa para o desempenho do banco (como em índices B-tree), vale conhecer o v7.

A questão da performance em banco de dados

Um ponto que pega equipes: UUID v4, por ser aleatório, espalha as inserções pelo índice, podendo fragmentá-lo e degradar a performance em tabelas muito grandes. É por isso que o v7 (ordenável por tempo) ganhou popularidade — ele mantém as vantagens do UUID sem o custo de fragmentação. Em escala menor, a diferença é irrelevante.

UUID em ambientes de teste

Ao escrever testes, fixtures e seeds, é comum precisar de vários UUIDs válidos. Gerar de antemão um conjunto de identificadores no formato correto evita depender de bibliotecas só para popular dados de exemplo, e garante que os testes de máscara/validação recebam strings no formato canônico.

Perguntas frequentes

Dois UUID podem ser iguais por acaso?

Em teoria sim, na prática não. O espaço de um UUID v4 é de 2^122 valores. A probabilidade de colisão é tão baixa que, para fins práticos, é considerada nula.

UUID é seguro para usar como token secreto?

Não necessariamente. Um UUID v4 é aleatório, mas nem toda implementação usa fonte criptograficamente segura. Para tokens de sessão ou senhas, use geradores específicos de segredos criptográficos.

Ferramentas gratuitas relacionadas