O que é UUID v7?
UUID versão 7 é um identificador de 128 bits ordenado por tempo definido pela RFC 9562, publicado em maio de 2024. Consiste em:
- Timestamp Unix: 48 bits de tempo Unix com precisão de milissegundos
- Dados aleatórios: 74 bits de dados aleatórios
- Bits de versão e variante: 6 bits para identificação do formato
Exemplo de formato: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Como o UUID v7 funciona
- Obtenha o timestamp Unix atual em milissegundos (48 bits)
- Gere 74 bits de dados aleatórios criptograficamente fortes
- Defina os bits de versão para 0111 (versão 7)
- Defina os bits de variante para 10 (padrão RFC 4122)
- Monte como 32 dígitos hexadecimais com hífens: formato 8-4-4-4-12
Vantagens e Considerações
| Advantages | Considerations |
|---|---|
|
|
Estrutura do UUID v7
| Bits | Content |
|---|---|
| 0-47 | Timestamp Unix (milissegundos) |
| 48-51 | Versão (0111 para v7) |
| 52-63 | Dados aleatórios |
| 64-65 | Variante (10 para RFC4122) |
| 66-127 | Dados aleatórios |
UUID v7 vs. outras versões
| Version | Baseado em | Caso de uso | Privacy |
|---|---|---|---|
| UUID v1 | Tempo + MAC | IDs ordenados por tempo | ⚠️ Revela MAC |
| UUID v3 | Namespace + MD5 | IDs determinísticos | ✅ Privado |
| UUID v4 | Random | IDs aleatórios seguros | ✅ Privado |
| UUID v5 | Namespace + SHA-1 | IDs determinísticos | ✅ Privado |
| UUID v6 | Tempo (reordenado) | IDs ordenáveis | ⚠️ Revela MAC |
| UUID v7 | Tempo + aleatório | IDs ordenáveis | Incorpora tempo de geração; sem endereço MAC |
Casos comuns de uso
- Chaves primárias de banco de dados: Índices eficientes
- Sistemas distribuídos: Ordenado por tempo sem coordenação
- Aplicações modernas: Identificadores com foco em privacidade
- Microservices: IDs ordenáveis entre serviços
- Event sourcing: IDs de eventos cronológicos
- Data warehouse: IDs analíticos ordenados por tempo
Perguntas Frequentes
Qual é a vantagem do UUID v7 sobre v1 ou v6?
O UUID v7 usa timestamp Unix em milissegundos e dados aleatórios em vez de endereços MAC, oferecendo proteção de privacidade enquanto mantém a ordenabilidade pelo tempo de geração.
O UUID v7 é um padrão oficial?
Sim. O UUID v7 é definido pela RFC 9562, publicada em maio de 2024.
Posso extrair o horário de criação de um UUID v7?
Sim. O timestamp Unix em milissegundos pode ser extraído dos primeiros 48 bits e convertido para um datetime padrão.
Os UUIDs v7 são ordenáveis por ordem de criação?
Sim. O UUID v7 foi projetado para ser ordenável lexicograficamente, com o timestamp Unix nos bits mais significativos, permitindo que a comparação de strings reflita a ordem cronológica.
O UUID v7 expõe alguma informação do sistema?
O UUID v7 não incorpora um endereço MAC, mas seus primeiros 48 bits revelam o timestamp de geração em milissegundos. Trate esses metadados de tempo como visíveis para qualquer pessoa que receba o identificador.