¿Qué es UUID v7?
UUID versión 7 es un identificador de 128 bits (cadena de 36 caracteres) ordenado por tiempo propuesto en el nuevo borrador de especificación UUID. 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 de 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 fuertes
- 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
Ventajas | Consideraciones |
---|---|
|
|
Estructura de UUID v7
Bits | Contenido |
---|---|
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 vs. otras versiones
Versión | Basado en | Caso de uso | Privacidad |
---|---|---|---|
UUID v1 | Tiempo + MAC | IDs ordenados por tiempo | ⚠️ Revela MAC |
UUID v3 | Espacio de nombres + MD5 | IDs deterministas | ✅ Privado |
UUID v4 | Aleatorio | IDs aleatorios seguros | ✅ Privado |
UUID v5 | Espacio de nombres + SHA-1 | IDs deterministas | ✅ Privado |
UUID v6 | Tiempo (reordenado) | IDs ordenables | ⚠️ Revela MAC |
UUID v7 | Tiempo + aleatorio | IDs ordenables | ✅ Privado |
Casos de uso comunes
- Claves primarias en bases de datos: Índices eficientes
- Sistemas distribuidos: Ordenados por tiempo sin coordinación
- Aplicaciones modernas: Identificadores enfocados en la privacidad
- Microservicios: IDs ordenables entre servicios
- Event sourcing: IDs de eventos cronológicos
- Almacenamiento de datos: IDs de análisis ordenados por tiempo
Preguntas frecuentes
¿Cuál es la ventaja de UUID v7 sobre v1 o v6?
UUID v7 utiliza milisegundos de marca de tiempo Unix y datos aleatorios en lugar de direcciones MAC, ofreciendo protección de privacidad mientras mantiene la capacidad de ordenación por tiempo de generación.
¿Es UUID v7 un estándar oficial?
UUID v7 es actualmente una especificación en borrador en el documento propuesto RFC 4122bis. Aún no es un estándar RFC oficial, pero está implementado en muchas bibliotecas UUID.
¿Puedo extraer el tiempo de creación de UUID v7?
Sí. La marca de tiempo Unix en milisegundos puede extraerse de los primeros 48 bits y convertirse a un formato de fecha y hora estándar.
¿Los UUID v7 son ordenables por tiempo 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, permitiendo la comparación directa de cadenas para que coincida con el orden cronológico.
¿El UUID v7 expone alguna información del sistema?
No. A diferencia de v1/v6, UUID v7 no utiliza direcciones MAC. Combina marca de tiempo con datos aleatorios, protegiendo la privacidad mientras mantiene la capacidad de ordenación.