¿Qué es UUID v6?
UUID versión 6 es un identificador de 128 bits (cadena de 36 caracteres) basado en tiempo propuesto como una mejora del UUID v1. Consiste en:
- Marca de tiempo reordenada: 60 bits de marca de tiempo del más al menos significativo
- Secuencia de reloj: contador de 14 bits para ajustes de reloj
- ID de nodo: valor de 48 bits (típicamente dirección MAC)
Ejemplo de formato: 1eb527d6-e927-6511-9a03-0242ac130003
Cómo funciona UUID v6
- Calcula la marca de tiempo actual (intervalos de 100ns desde 15-10-1582)
- Reordena los bits de la marca de tiempo para mejor ordenación (bits más significativos primero)
- Obtiene/incrementa la secuencia de reloj de 14 bits (para unicidad si el reloj se mueve hacia atrás)
- Obtiene ID de nodo de 48 bits (normalmente de la dirección MAC)
- Establece bits de versión (0110) y bits de variante (10)
- Ensambla como 32 dígitos hexadecimales con guiones: formato 8-4-4-4-12
Ventajas y Consideraciones
Ventajas | Consideraciones |
---|---|
|
|
Estructura de UUID v6
Bits | Contenido |
---|---|
0-47 | 48 bits altos de marca de tiempo |
48-51 | Versión (0110 para v6) |
52-59 | 8 bits bajos de marca de tiempo |
60-63 | 4 bits altos de marca de tiempo |
64-65 | Variante (10 para RFC4122) |
66-79 | Secuencia de reloj (14 bits) |
80-127 | ID de nodo (48 bits) |
UUID v6 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 de base de datos ordenables por tiempo: Para ordenación cronológica
- Bases de datos distribuidas: Con indexación ordenada por tiempo
- Entradas de registro: Con orden cronológico natural
- Registros de auditoría: Con marcas de tiempo incorporadas
- Colas de mensajes: Para procesamiento basado en tiempo
- Registros de transacciones: Con ordenación cronológica
Preguntas Frecuentes
¿Cuál es la diferencia entre UUID v1 y v6?
UUID v6 reorganiza los bits de marca de tiempo del UUID v1 para hacerlo naturalmente ordenable en orden lexicográfico. El contenido es idéntico al v1, solo reordenado.
¿Es UUID v6 un estándar oficial?
UUID v6 es actualmente una especificación en borrador en el documento propuesto RFC 4122bis. Todavía no es un estándar RFC oficial, pero está implementado en muchas bibliotecas UUID.
¿Puedo extraer el tiempo de creación de un UUID v6?
Sí. El componente de marca de tiempo puede extraerse de los bits 0-59 y convertirse de nuevo a un valor de fecha y hora.
¿Son los UUIDs v6 ordenables por tiempo de creación?
Sí. A diferencia del v1, UUID v6 coloca los bits de marca de tiempo en orden de más a menos significativo, permitiendo que la comparación lexicográfica (cadena) coincida con el orden cronológico.
¿El UUID v6 expone mi dirección MAC?
Por defecto, sí. Como UUID v1, la mayoría de las implementaciones usan la dirección MAC para el ID de nodo. Las implementaciones enfocadas en privacidad pueden usar IDs de nodo aleatorios en su lugar.