AdSense Placeholder (Topo - Leaderboard 728x90 ou Responsivo)
Tutorial

Guia completo de UUID: por que usar identificadores únicos nas suas aplicações

Entenda o que são UUIDs, como funcionam e por que são essenciais em bancos distribuídos, microserviços e sistemas modernos.

Se você já trabalhou com bancos de dados relacionais, com certeza usou números inteiros auto-incrementados como chave primária. Esse modelo funciona bem em sistemas monolíticos com um único banco de dados, mas começa a mostrar suas limitações quando a aplicação cresce — especialmente em arquiteturas distribuídas, microsserviços e sistemas offline-first.

É nesse cenário que o UUID (Universally Unique Identifier) se torna indispensável. Neste guia, vamos explorar o que é um UUID, como ele é gerado, quais as versões existentes e por que você deveria considerar usá-lo nos seus projetos.

O que é um UUID?

UUID é um identificador de 128 bits padronizado pela RFC 4122. Um UUID típico se parece com isso: 550e8400-e29b-41d4-a716-446655440000. São 32 caracteres hexadecimais organizados em 5 grupos separados por hífens, totalizando 36 caracteres no formato padrão.

A principal característica do UUID é que ele é globalmente único — ou seja, a probabilidade de dois sistemas diferentes gerarem o mesmo UUID é tão baixa que pode ser considerada zero para fins práticos. Isso elimina a necessidade de um coordenador central para atribuir identificadores.

Versões de UUID

Existem 5 versões principais de UUID, cada uma com um método de geração diferente:

  • Versão 1 (Time-based): gerado a partir do timestamp atual e do endereço MAC da máquina. É determinístico e pode revelar o momento de criação e o hardware utilizado.
  • Versão 2 (DCE Security): variante da v1 que incorpora identificadores de usuário do sistema operacional. Raramente usado.
  • Versão 3 (Name-based, MD5): gerado a partir de um namespace e um nome, usando hash MD5. Sempre produz o mesmo UUID para a mesma entrada.
  • Versão 4 (Random): gerado a partir de números aleatórios ou pseudoaleatórios. É a versão mais usada e a que o Gerador de UUID do DevPocket implementa.
  • Versão 5 (Name-based, SHA-1): similar à v3, mas usa SHA-1 em vez de MD5.

Para a maioria dos casos de uso — chaves primárias, identificadores de sessão, tokens de rastreamento — a versão 4 é a escolha mais adequada por ser simples, rápida e não depender de informações do hardware.

Por que usar UUID em vez de ID auto-incrementado?

Sistemas distribuídos e microsserviços: Em uma arquitetura de microsserviços, cada serviço pode ter seu próprio banco de dados. Com IDs auto-incrementados, dois serviços diferentes podem gerar o mesmo ID para registros distintos, causando conflitos na consolidação de dados. UUIDs eliminam esse problema — cada serviço gera seus próprios IDs sem risco de colisão.

Sincronização offline-first: Aplicações que funcionam offline (como apps mobile) precisam gerar identificadores localmente e sincronizar depois com o servidor. Com UUIDs, não há conflitos na sincronização. Com auto-increment, você precisaria de lógica complexa de resolução de conflitos.

Segurança por obscuridade: IDs auto-incrementados como /usuario/42 revelam quantos usuários existem e facilitam ataques de varredura. UUIDs como /usuario/550e8400-e29b-41d4-a716-446655440000 não podem ser adivinhados.

Migrações e merges de dados: Ao unificar bases de dados de diferentes origens (fusões de empresas, migrações de sistemas), UUIDs garantem que não haja conflitos de chave primária. Com auto-increment, é quase garantido que haverá colisões.

E as desvantagens?

UUIDs não são perfeitos. Eles ocupam mais espaço que inteiros (16 bytes vs 4 bytes) e podem impactar a performance de índices de banco de dados, especialmente em tabelas com milhões de registros. Além disso, UUIDs v4 aleatórios não são sequenciais, o que causa fragmentação em índices B-tree do PostgreSQL e MySQL.

Para mitigar esses problemas, algumas alternativas incluem UUIDs v7 (ordenados por timestamp), ULIDs e Snowflake IDs. Mas para 95% dos casos, o UUID v4 é mais do que suficiente.

Gerando UUIDs com o DevPocket

O Gerador de UUID do DevPocket permite criar UUIDs versão 4 em lote, com opções de formatação como uppercase, lowercase e remoção de hífens. Você pode gerar quantos UUIDs precisar de uma só vez e copiá-los com um clique. O processamento é 100% local, garantindo que nenhum dado seja enviado a servidores externos — essencial para ambientes de desenvolvimento que trabalham com informações sensíveis.

Além do gerador de UUID, você encontra no DevPocket outras ferramentas complementares como o Gerador de CPF/CNPJ para testes com documentos fiscais, e o Gerador de Hash para calcular MD5 e SHA dos seus identificadores.

Publicado em 12 de julho de 2026 • César Fernando Sarmento

AdSense (Artigo - Banner Horizontal)