¿Qué es UUID v7?

UUID v7 es la versión más reciente de los Identificadores Únicos Universales definida en RFC 9562. A diferencia de versiones anteriores como UUID v4 (puramente aleatorio) o UUID v1 (usa dirección MAC), UUID v7 incorpora directamente en el identificador una marca de tiempo Unix Epoch de 48 bits en milisegundos. Esto hace que los valores UUID v7 sean naturalmente ordenables por tiempo de creación — una ventaja importante para la indexación en bases de datos, sistemas distribuidos y registro de eventos donde el orden cronológico es relevante.

Dado que UUID v7 no incorpora direcciones MAC, evita los problemas de privacidad asociados con UUID v1. Los bits restantes tras la marca de tiempo y los campos de versión/variante se rellenan con datos aleatorios o monótonos, garantizando la unicidad incluso cuando se generan múltiples UUIDs dentro del mismo milisegundo.

Cómo se construye UUID v7

Un UUID v7 consta de 128 bits organizados de la siguiente manera:

  • Bits 0–47: Una marca de tiempo Unix Epoch sin signo de 48 bits en big-endian en milisegundos
  • Bits 48–51: El campo de versión de 4 bits, establecido en 0111 (7)
  • Bits 52–63: 12 bits de datos aleatorios o monótonos para precisión o unicidad sub-milisegundo
  • Bits 64–65: El campo de variante de 2 bits, establecido en 10 (RFC 9562)
  • Bits 66–127: 62 bits de datos aleatorios o monótonos para unicidad adicional

Esta estructura significa que los UUIDs generados más tarde en el tiempo siempre se ordenarán después de los anteriores a nivel de milisegundo, lo que los hace ideales como claves primarias en bases de datos indexadas con B-tree.

Descripción de la herramienta

Este generador de UUID v7 crea UUIDs de versión 7 conformes con RFC 9562 con un desglose visual de la marca de tiempo incorporada. Genera uno o hasta 100 UUIDs a la vez, alterna entre formato en mayúsculas y minúsculas, y elige si incluir guiones. La herramienta también extrae y muestra la marca de tiempo Unix Epoch incorporada del primer UUID generado, permitiéndote verificar el tiempo de creación codificado en cada identificador.

Ejemplos

Formato Ejemplo de salida
Estándar 019544a2-3b4c-7d8e-9f01-2a3b4c5d6e7f
Mayúsculas 019544A2-3B4C-7D8E-9F01-2A3B4C5D6E7F
Sin guiones 019544a23b4c7d8e9f012a3b4c5d6e7f

Características

  • Generación masiva: Genera entre 1 y 100 valores UUID v7 a la vez con un control deslizante de cantidad
  • Alternancia de mayúsculas: Cambia entre salida en minúsculas y mayúsculas
  • Alternancia de guiones: Incluye o elimina guiones para formatos compactos
  • Extracción de marca de tiempo: Muestra automáticamente la marca de tiempo Unix Epoch incorporada del UUID generado
  • Soporte de descarga: Exporta los UUIDs generados como archivo de texto para uso por lotes

Casos de uso

  • Genera claves primarias ordenables por tiempo para bases de datos a gran escala donde el rendimiento de inserción y la localidad son importantes
  • Crea identificadores monótonamente crecientes para sistemas distribuidos de streaming de eventos como Kafka o Pulsar
  • Reemplaza UUID v4 en aplicaciones que necesitan ordenamiento cronológico sin una columna de marca de tiempo separada

UUID v7 vs otras versiones

Versión Basado en tiempo Ordenable Privacidad segura Aleatoriedad
v1 No No (usa MAC) Baja
v4 No No Alta
v6 No (usa MAC) Baja
v7 Media

UUID v7 combina las mejores cualidades: ordenabilidad basada en tiempo sin exponer identificadores de hardware, con suficiente aleatoriedad para prevenir colisiones entre nodos distribuidos.

Opciones explicadas

  • Cantidad (1–100): Cuántos valores UUID v7 generar en un solo lote. Todos los UUIDs de un lote comparten aproximadamente la misma marca de tiempo pero difieren en sus bits aleatorios.
  • Mayúsculas: Cuando está activado, genera UUIDs con caracteres hexadecimales en mayúsculas (A–F en lugar de a–f).
  • Guiones: Cuando está activado (por defecto), los UUIDs incluyen la agrupación estándar de guiones 8-4-4-4-12. Desactívalo para obtener una cadena hexadecimal compacta de 32 caracteres.

Preguntas frecuentes

¿Puede UUID v7 generar colisiones? Las colisiones son extremadamente improbables. Incluso dentro del mismo milisegundo, los 74 bits de datos aleatorios/monótonos proporcionan más de 18 quintillones de combinaciones posibles. La librería uuid también utiliza contadores monótonos para garantizar la unicidad dentro de un proceso.

¿Es UUID v7 compatible con versiones anteriores de UUID v4? Sí. UUID v7 sigue el mismo formato de 128 bits y agrupación 8-4-4-4-12, y es válido en cualquier lugar donde se acepten UUIDs. Las columnas, analizadores y validadores de UUID existentes funcionan sin modificaciones.

¿Cuándo debo usar UUID v7 en lugar de UUID v4? Usa UUID v7 cuando tu caso de uso se beneficie de claves ordenadas por tiempo — por ejemplo, como claves primarias en bases de datos donde el rendimiento del índice B-tree mejora con inserciones secuenciales. Usa UUID v4 cuando el orden sea irrelevante y desees máxima aleatoriedad.