Generador de UUID v7

Genere identificadores únicos UUID versión 7, que incorporan una marca de tiempo y, por tanto, son ordenables de forma natural por orden cronológico: práctico como clave primaria de base de datos. El cálculo se basa en la API criptográfica de su navegador, no se envía nada a ningún servidor.

Resultados

Cómo funciona

A diferencia del UUID v4, totalmente aleatorio, el UUID v7 dedica los primeros 48 bits del identificador a la marca de tiempo Unix en milisegundos, seguidos de 74 bits aleatorios criptográficamente seguros. Resultado: dos UUID v7 generados con unos segundos de diferencia quedan próximos en el orden lexicográfico, lo que mejora el rendimiento de inserción en un índice de base de datos (B-tree) frente a un UUID v4 totalmente disperso.

¿Por qué preferir el UUID v7 al UUID v4 como clave primaria?

Un UUID v4 aleatorio provoca una fragmentación importante de los índices B-tree en las inserciones masivas, porque cada nuevo identificador cae en un lugar imprevisible del árbol. El UUID v7, en cambio, es creciente en el tiempo como un identificador autoincremental clásico, y conserva la ventaja de poder generarse en el cliente sin coordinación con la base de datos.

¿Se puede recuperar la fecha exacta de creación a partir de un UUID v7?

Se puede extraer la marca de tiempo en milisegundos codificada en los primeros 48 bits y, por tanto, obtener la fecha y la hora aproximadas (con precisión de milisegundo) de generación del identificador. Si esta información es sensible en su contexto, prefiera un UUID v4 clásico, que no revela ningún dato temporal.

Procesamiento 100% local: cada identificador se calcula en su navegador mediante crypto.getRandomValues, sin ninguna petición de red.