UUID v4 vs UUID v7

Ambos son identificadores de 128 bits definidos por el RFC 9562 (que dejó obsoleto al RFC 4122 en 2024). La versión 4 es prácticamente aleatoria; la versión 7 coloca una marca de tiempo en milisegundos en los bits altos, de modo que los IDs se ordenan por hora de creación. La diferencia importa sobre todo en claves primarias de bases de datos.

UUID v4 vs v7 de un vistazo
AspectoUUID v4UUID v7
Composición122 bits aleatorios48 bits de tiempo + 74 aleatorios
Ordenable por tiempoNo
Ideal paraIDs únicos generalesClaves primarias de BD
Revela hora de creaciónNoSí (milisegundo)
Definido enRFC 9562RFC 9562
UUID v4 vs v7 de un vistazo

Qué cambió con el RFC 9562

El RFC 9562 mantuvo v1–v5 y añadió v6, v7 y v8. La versión 7 es la nueva recomendación para la mayoría de sistemas que necesitan claves únicas y ordenables, porque combina una marca de tiempo Unix en milisegundos con bits aleatorios para la unicidad.

Por qué v7 ayuda a las bases de datos

Las claves aleatorias v4 dispersan las inserciones por el índice B-tree, provocando divisiones de página y mala localidad de caché. Las claves v7 ordenadas por tiempo se añaden cerca del final del índice, manteniendo las inserciones rápidas y el índice compacto, el mismo beneficio de los enteros autoincrementales pero sin una secuencia central.

Cuándo v4 sigue siendo lo correcto

Usa v4 cuando no quieras que la hora de creación se pueda deducir del ID, o cuando el orden sea irrelevante y busques máxima entropía. Para identificadores públicos donde filtrar una marca de tiempo no es deseable, v4 sigue siendo la opción más segura.

Preguntas frecuentes

¿Es UUID v7 mejor que v4?

Para claves primarias de bases de datos, sí: el orden temporal de v7 mantiene los índices eficientes. Para IDs públicos opacos donde no quieras filtrar marcas de tiempo, v4 es mejor.

¿v4 y v7 resisten colisiones?

Sí. Ambos incluyen suficientes bits aleatorios para que las colisiones sean astronómicamente improbables a escala práctica.

¿El generador admite v7?

El generador produce UUID versión 4 según RFC 9562. Para claves ordenadas por tiempo, usa una librería v7 en tu backend; esta guía explica cuándo merece la pena.