TIL: versiones de UUID y cuándo usarlas
(ntietz.com)-
Diferentes versiones de UUID
- UUID Version 1 (v1): se genera con marca de tiempo, contador monótono y dirección MAC
- UUID Version 2 (v2): reservada para IDs de seguridad. No se conocen muchos detalles
- UUID Version 3 (v3): se genera con el hash MD5 de los datos proporcionados. Se proponen DNS y URL como datos candidatos
- UUID Version 4 (v4): se genera con datos completamente aleatorios. Es el UUID en el que piensa la mayoría de la gente
- UUID Version 5 (v5): se genera con el hash SHA1 de los datos proporcionados. Al igual que v3, se proponen DNS y URL como datos candidatos
- UUID Version 6 (v6): se genera con marca de tiempo, contador monótono y dirección MAC. Usa los mismos datos que v1, pero con el orden cambiado para que se pueda ordenar por hora de creación
- UUID Version 7 (v7): se genera con marca de tiempo y datos aleatorios
- UUID Version 8 (v8): es completamente personalizable por el usuario (excepto los campos obligatorios de versión/variante)
-
Cuándo usarlas
- v4: úsala cuando necesites un ID aleatorio. Es una buena opción por defecto
- v7: úsala cuando necesites ordenamiento. Por ejemplo, es adecuada para usarla como clave de base de datos
- v5 o v8: úsalas cuando quieras incluir datos únicos en el UUID. Lo sabrás si lo necesitas
-
Explicación sobre las otras versiones
- v7 es una versión mejorada de v1 y v6, por lo que conviene usar v7 siempre que sea posible. Por eso normalmente no se usan v1 ni v6
- v2 está reservada para usos relacionados con seguridad. Si la estás usando, probablemente no puedas conocer los detalles
- v3 fue reemplazada por v5. v5 usa un hash más fuerte
Resumen de GN⁺
- UUID tiene varias versiones, y cada una está diseñada para usos específicos
- v4 y v7 son las más usadas en general, mientras que v5 y v8 se usan cuando hay requisitos de datos específicos
- La elección de la versión de UUID depende del propósito de uso: si necesitas ordenamiento, conviene usar v7; si necesitas un ID aleatorio, conviene usar v4
- Entender las distintas versiones de UUID ayuda a elegir la más adecuada para tu proyecto
1 comentarios
Opiniones de Hacker News
UUID Version 2 (v2) está reservado para IDs de seguridad, y no se conocen bien los detalles
Los detalles de UUID v2 se pueden encontrar fácilmente en el documento RFC 9562
La marca de tiempo de UUID v7 es útil en Databend para encontrar rápidamente archivos de metadatos
Ojalá existiera un estándar para UUID cortos
73WakrfVbNJBaAmhQtEeDvobK7nP9xMEs difícil entender el propósito de UUID2
UUID v4 es simplemente un generador de bytes aleatorios
Es mejor no usar versiones basadas en MAC
Un UUID que use datos SHA256 y un contador podría ser útil
Es recomendable usar v7
Fue una lectura interesante