Gerador UUID v7
Gere identificadores UUID v7 com timestamps Unix Epoch incorporados, geração em massa e opções de formato
Entrada
Saída
Leia-me
O que é UUID v7?
UUID v7 é a versão mais recente dos Identificadores Únicos Universais definida na RFC 9562. Ao contrário de versões mais antigas como UUID v4 (puramente aleatório) ou UUID v1 (usa endereço MAC), o UUID v7 incorpora um timestamp Unix Epoch de 48 bits em milissegundos diretamente no identificador. Isso torna os valores UUID v7 naturalmente ordenáveis por tempo de criação — uma grande vantagem para indexação em bancos de dados, sistemas distribuídos e registro de eventos onde a ordenação cronológica é importante.
Como o UUID v7 não incorpora endereços MAC, ele evita as preocupações de privacidade associadas ao UUID v1. Os bits restantes após o timestamp e os campos de versão/variante são preenchidos com dados aleatórios ou monotônicos, garantindo unicidade mesmo quando múltiplos UUIDs são gerados dentro do mesmo milissegundo.
Como o UUID v7 é construído
Um UUID v7 consiste em 128 bits organizados da seguinte forma:
- Bits 0–47: Um timestamp Unix Epoch de 48 bits sem sinal em big-endian em milissegundos
- Bits 48–51: O campo de versão de 4 bits, definido como
0111(7) - Bits 52–63: 12 bits de dados aleatórios ou monotônicos para precisão ou unicidade sub-milissegundo
- Bits 64–65: O campo de variante de 2 bits, definido como
10(RFC 9562) - Bits 66–127: 62 bits de dados aleatórios ou monotônicos para unicidade adicional
Essa estrutura significa que UUIDs gerados mais tarde no tempo sempre serão ordenados após os anteriores no nível de milissegundo, tornando-os ideais como chaves primárias em bancos de dados indexados com B-tree.
Descrição da ferramenta
Este gerador de UUID v7 cria UUIDs versão 7 em conformidade com a RFC 9562, com uma visualização detalhada do timestamp incorporado. Gere um ou até 100 UUIDs de uma vez, alterne entre formatação em maiúsculas e minúsculas, e escolha se deseja incluir hífens. A ferramenta também extrai e exibe o timestamp Unix Epoch incorporado do primeiro UUID gerado, permitindo verificar o tempo de criação codificado em cada identificador.
Exemplos
| Formato | Exemplo de saída |
|---|---|
| Padrão | 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f |
| Maiúsculas | 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F |
| Sem hífens | 019544a23b4c7d8e9f012a3b4c5d6e7f |
Funcionalidades
- Geração em lote: Gere de 1 a 100 valores UUID v7 de uma vez com um controle deslizante de quantidade
- Alternância de maiúsculas: Alterne entre saída em minúsculas e maiúsculas
- Alternância de hífens: Inclua ou remova hífens para formatos compactos
- Extração de timestamp: Exibe automaticamente o timestamp Unix Epoch incorporado do UUID gerado
- Suporte a download: Exporte os UUIDs gerados como arquivo de texto para uso em lote
Casos de uso
- Gere chaves primárias ordenáveis por tempo para bancos de dados de grande escala onde o desempenho de inserção e a localidade são importantes
- Crie identificadores monotonicamente crescentes para sistemas distribuídos de streaming de eventos como Kafka ou Pulsar
- Substitua UUID v4 em aplicações que precisam de ordenação cronológica sem uma coluna de timestamp separada
UUID v7 vs outras versões
| Versão | Baseado em tempo | Ordenável | Seguro para privacidade | Aleatoriedade |
|---|---|---|---|---|
| v1 | Sim | Não | Não (usa MAC) | Baixa |
| v4 | Não | Não | Sim | Alta |
| v6 | Sim | Sim | Não (usa MAC) | Baixa |
| v7 | Sim | Sim | Sim | Média |
O UUID v7 combina as melhores qualidades: ordenabilidade baseada em tempo sem expor identificadores de hardware, com aleatoriedade suficiente para evitar colisões entre nós distribuídos.
Opções explicadas
- Quantidade (1–100): Quantos valores UUID v7 gerar em um único lote. Todos os UUIDs em um lote compartilham o mesmo timestamp aproximado, mas diferem em seus bits aleatórios.
- Maiúsculas: Quando ativado, gera UUIDs com caracteres hexadecimais em maiúsculas (A–F em vez de a–f).
- Hífens: Quando ativado (padrão), os UUIDs incluem o agrupamento padrão de hífens 8-4-4-4-12. Desative para obter uma string hexadecimal compacta de 32 caracteres.
Perguntas frequentes
UUID v7 pode colidir?
Colisões são extremamente improváveis. Mesmo dentro do mesmo milissegundo, os 74 bits de dados aleatórios/monotônicos fornecem mais de 18 quintilhões de combinações possíveis. A biblioteca uuid também usa contadores monotônicos para garantir unicidade dentro de um processo.
UUID v7 é compatível com versões anteriores do UUID v4? Sim. O UUID v7 segue o mesmo formato de 128 bits, 8-4-4-4-12 e é válido em qualquer lugar onde UUIDs são aceitos. Colunas, parsers e validadores de UUID existentes funcionam sem modificação.
Quando devo usar UUID v7 em vez de UUID v4? Use UUID v7 quando seu caso de uso se beneficia de chaves ordenadas por tempo — por exemplo, como chaves primárias em bancos de dados onde o desempenho do índice B-tree melhora com inserções sequenciais. Use UUID v4 quando a ordenação for irrelevante e você quiser máxima aleatoriedade.