TIL: versões de UUID e quando usar cada uma
(ntietz.com)-
As várias versões de UUID
- UUID Version 1 (v1): gerado a partir de timestamp, contador monotônico e endereço MAC
- UUID Version 2 (v2): reservado para IDs de segurança. Não se sabe muito sobre os detalhes
- UUID Version 3 (v3): gerado a partir do hash MD5 dos dados fornecidos. DNS e URL são sugeridos como dados candidatos
- UUID Version 4 (v4): gerado a partir de dados completamente aleatórios. É o UUID que a maioria das pessoas imagina
- UUID Version 5 (v5): gerado a partir do hash SHA1 dos dados fornecidos. Assim como no v3, DNS e URL são sugeridos como dados candidatos
- UUID Version 6 (v6): gerado a partir de timestamp, contador monotônico e endereço MAC. Usa os mesmos dados do v1, mas com a ordem alterada para permitir ordenação por momento de criação
- UUID Version 7 (v7): gerado a partir de timestamp e dados aleatórios
- UUID Version 8 (v8): totalmente personalizável pelo usuário (exceto pelos campos obrigatórios de versão/variante)
-
Quando usar
- v4: use quando precisar de um ID aleatório. É uma boa escolha padrão
- v7: use quando precisar de ordenação. Por exemplo, é adequado para uso como chave de banco de dados
- v5 ou v8: use quando quiser incluir dados exclusivos no UUID. Você vai saber quando precisar disso
-
Explicação sobre as outras versões
- v7 é uma versão melhorada de v1 e v6, então, sempre que possível, é melhor usar v7. Por isso, v1 e v6 normalmente não são usados
- v2 é reservado para usos relacionados à segurança. Se você estiver usando, provavelmente não poderá saber os detalhes
- v3 foi substituído por v5. O v5 usa um hash mais forte
Resumo do GN⁺
- UUID tem várias versões, e cada uma foi projetada para um uso específico
- v4 e v7 são as mais usadas de forma geral, enquanto v5 e v8 são usados quando há requisitos específicos de dados
- A escolha da versão de UUID depende do objetivo de uso: se precisar de ordenação, v7 é uma boa opção; se precisar de um ID aleatório, v4 é indicado
- Entender as diferentes versões de UUID ajuda a escolher o UUID mais adequado para o seu projeto
1 comentários
Comentários do Hacker News
O UUID Version 2 (v2) é reservado para IDs de segurança, e não há muitos detalhes bem conhecidos sobre ele
Os detalhes do UUID v2 podem ser encontrados facilmente no documento RFC 9562
O timestamp do UUID v7 é útil no Databend para encontrar arquivos de metadados rapidamente
Seria bom se houvesse um padrão para UUIDs curtos
73WakrfVbNJBaAmhQtEeDvoubK7nP9xMÉ difícil entender o propósito do UUID2
O UUID v4 é simplesmente um gerador de bytes aleatórios
É melhor não usar versões baseadas em MAC
Um UUID que use dados SHA256 e um contador pode ser útil
É melhor usar v7
Foi uma leitura interessante