O que é UUID v7?
UUID versão 7 é um identificador de 128 bits ordenado por tempo (string de 36 caracteres) proposto no novo rascunho da especificação UUID. Consiste em:
- Timestamp Unix: 48 bits de tempo Unix com precisão em 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
- Obter timestamp Unix atual em milissegundos (48 bits)
- Gerar 74 bits de dados aleatórios criptograficamente fortes
- Definir bits de versão para 0111 (versão 7)
- Definir bits de variante para 10 (padrão RFC 4122)
- Montar 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 | ✅ Privado |
Casos de Uso Comuns
- Chaves primárias de banco de dados: Índices eficientes
- Sistemas distribuídos: Ordenado por tempo sem coordenação
- Aplicações modernas: Identificadores focados em privacidade
- Microservices: IDs ordenáveis entre serviços
- Event sourcing: IDs de eventos cronológicos
- Data warehousing: IDs analíticos ordenados por tempo
Perguntas Frequentes
Qual a vantagem do UUID v7 sobre v1 ou v6?
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 ordenação pelo tempo de geração.
UUID v7 é um padrão oficial?
UUID v7 é atualmente uma especificação em rascunho no documento proposto RFC 4122bis. Ainda não é um padrão RFC oficial, mas está implementado em muitas bibliotecas UUID.
Posso extrair o tempo de criação do 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 tempo de criação?
Sim. UUID v7 foi projetado para ser ordenável lexicograficamente, com o timestamp Unix nos bits mais significativos, permitindo comparação direta de strings para corresponder à ordem cronológica.
UUID v7 expõe alguma informação do sistema?
Não. Ao contrário do v1/v6, UUID v7 não usa endereços MAC. Ele combina timestamp com dados aleatórios, protegendo a privacidade enquanto mantém a ordenação.