¿Qué es UUID v7?
UUID versión 7 es un identificador de 128 bits ordenado por tiempo definido por RFC 9562, publicado en mayo de 2024. Consiste en:
- Marca de tiempo Unix: 48 bits de tiempo Unix con precisión de milisegundos
- Datos aleatorios: 74 bits de datos aleatorios
- Bits de versión y variante: 6 bits para identificación del formato
Ejemplo de formato: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Cómo funciona UUID v7
- Obtener la marca de tiempo Unix actual en milisegundos (48 bits)
- Generar 74 bits de datos aleatorios criptográficamente seguros
- Establecer los bits de versión a 0111 (versión 7)
- Establecer los bits de variante a 10 (estándar RFC 4122)
- Ensamblar como 32 dígitos hexadecimales con guiones: formato 8-4-4-4-12
Ventajas y consideraciones
| Advantages | Considerations |
|---|---|
|
|
Estructura de UUID v7
| Bits | Content |
|---|---|
| 0-47 | Marca de tiempo Unix (milisegundos) |
| 48-51 | Versión (0111 para v7) |
| 52-63 | Datos aleatorios |
| 64-65 | Variante (10 para RFC4122) |
| 66-127 | Datos aleatorios |
UUID v7 frente a otras versiones
| Version | Basado en | Caso de uso | Privacy |
|---|---|---|---|
| UUID v1 | Tiempo + MAC | IDs ordenados por tiempo | ⚠️ Revela MAC |
| UUID v3 | Namespace + MD5 | IDs deterministas | ✅ Privado |
| UUID v4 | Random | IDs aleatorios seguros | ✅ Privado |
| UUID v5 | Namespace + SHA-1 | IDs deterministas | ✅ Privado |
| UUID v6 | Tiempo (reordenado) | IDs ordenables | ⚠️ Revela MAC |
| UUID v7 | Tiempo + aleatorio | IDs ordenables | Incorpora el tiempo de generación; no contiene dirección MAC |
Casos de uso comunes
- Claves primarias de base de datos: Índices eficientes
- Sistemas distribuidos: Ordenados por tiempo sin coordinación
- Aplicaciones modernas: Identificadores con enfoque en la privacidad
- Microservices: IDs ordenables entre servicios
- Event sourcing: IDs de eventos cronológicos
- Almacenamiento de datos (Data warehousing): IDs analíticos ordenados por tiempo
Preguntas frecuentes
¿Cuál es la ventaja de UUID v7 sobre v1 o v6?
UUID v7 utiliza la marca de tiempo Unix en milisegundos y datos aleatorios en lugar de direcciones MAC, ofreciendo protección de la privacidad mientras mantiene la ordenabilidad según el tiempo de generación.
¿Es UUID v7 un estándar oficial?
Sí. UUID v7 está definido por RFC 9562, publicado en mayo de 2024.
¿Puedo extraer la hora de creación de un UUID v7?
Sí. La marca de tiempo Unix en milisegundos puede extraerse de los primeros 48 bits y convertirse a una fecha y hora estándar.
¿Son los UUID v7 ordenables por fecha de creación?
Sí. UUID v7 está diseñado para ser ordenable lexicográficamente, con la marca de tiempo Unix en los bits más significativos, lo que permite que la comparación de cadenas coincida con el orden cronológico.
¿Expone UUID v7 alguna información del sistema?
UUID v7 no embebe una dirección MAC, pero sus primeros 48 bits revelan la marca de tiempo de generación en milisegundos. Trate estos metadatos de tiempo como visibles para cualquiera que reciba el identificador.