⚖️ Comparativo Build·Desenvolvimento·6 min de leitura

UUID v4 vs UUID v7: Qual Usar no Seu Projeto?

UUID v4 dominou por anos como padrão de identificadores únicos. Mas desde 2024, o UUID v7 ganhou suporte oficial na RFC 9562 e promete ser o novo padrão. Entenda as diferenças e saiba qual escolher.

Vitor Morais

Por Vitor Morais

Fundador do MochaLabz ·

🔑

Gere UUID v4 e v7 gratuitamente

Compare os formatos, gere em lote e copie com um clique.

Usar gerador de UUID →

A Diferença Fundamental

UUID v4 gera 122 bits completamente aleatórios. UUID v7 combina um timestamp Unix de 48 bits (em milissegundos) com bits aleatórios. Essa diferença aparentemente pequena tem implicações enormes na prática.

UUID v4: O Padrão que Todo Mundo Conhece

UUID v4 é aleatório, simples e amplamente suportado:

  • ✅ Suporte nativo em todas as linguagens modernas
  • ✅ Imprevisível — ideal para tokens de segurança e IDs expostos
  • ✅ Sem vazamento de metadados (timestamp, hardware)
  • ❌ Não é ordenável — inserts aleatórios fragmentam índices B-tree
  • ❌ Pior performance em banco de dados com alto volume de escrita

JavaScript — UUID v4

// Nativo em browsers modernos e Node 14.17+ const id = crypto.randomUUID(); // "550e8400-e29b-41d4-a716-446655440000"

UUID v7: O Novo Padrão

UUID v7 foi padronizado na RFC 9562 em 2024 e resolve o principal problema do v4:

  • ✅ Monotonicamente crescente — inserts sequenciais, índices eficientes
  • ✅ Contém timestamp Unix — pode ser usado para ordenar por criação
  • ✅ Mantém boa aleatoriedade nos 74 bits restantes
  • ✅ Suporte crescente: Hibernate 6.2+, Laravel 10+, Postgres com extensão
  • ❌ Ainda não nativo em todas as plataformas

JavaScript — UUID v7

import { v7 as uuidv7 } from 'uuid'; const id = uuidv7(); // "018f4e8e-3a2b-7000-8c5d-2a8f3b1c4e5f" // Os primeiros 12 chars são o timestamp!

Impacto Real no Banco de Dados

Com UUID v4, cada insert vai para uma posição aleatória no índice B-tree, causando page splits constantes. Com 10 mil registros por segundo, a diferença de throughput entre v4 e v7 pode chegar a 30-50% em favor do v7 no PostgreSQL.

Quando Usar Cada Um?

Use UUID v4 quando:

  • O ID é exposto publicamente e não pode ter padrão temporal
  • Você gera tokens de segurança ou sessões
  • O volume de inserts é baixo (menos de mil por segundo)

Use UUID v7 quando:

  • Vai usar como chave primária em banco de dados
  • Precisa de ordenação natural por data de criação
  • O sistema tem alto volume de escritas

Conclusão

Para novos projetos, prefira UUID v7 como chave primária no banco de dados. Mantenha UUID v4 para casos onde privacidade e imprevisibilidade são requisitos. A biblioteca uuid para JavaScript suporta ambas as versões com a mesma API.

#uuid#uuid v4#uuid v7#banco de dados#performance

Artigos relacionados