Qué codifican realmente los dígitos

Un UUID contiene 32 dígitos hexadecimales con patrón 8-4-4-4-12. En una versión 4 conforme al estándar, 122 bits son aleatorios y 6 codifican versión y variante. El tercer grupo comienza por 4; el cuarto, por 8, 9, a o b. Sus propiedades dependen de un buen generador aleatorio, no solo del formato visible.

550e8400-e29b-41d4-a716-446655440000 versión = 4 bit de variante 122 de los 128 bits se generan aleatoriamente: solo estos dos dígitos marcadores son fijos por el formato. 2^122 valores posibles ≈ 5.3 × 10³⁶
Un UUID v4 contiene bits fijos para versión y variante; los otros 122 deben proceder de una fuente aleatoria segura.

Cuán improbable es una coincidencia real

Con 122 bits aleatorios, el espacio de UUID posibles es 2¹²²; unos 5.3 × 10³⁶ valores. Usando la aproximación estándar del problema del cumpleaños para cuándo una coincidencia se vuelve probable en un conjunto creciente, necesitarías generar aproximadamente 2.7 × 10¹⁸ UUID (2.7 trillones, en la escala larga) antes de que exista siquiera un 50% de probabilidad de que dos de ellos coincidan. Ese número es lo bastante grande como para que "¿coincidirán dos de mis UUID?" no sea una preocupación realista para prácticamente ninguna aplicación, incluidas las que generan millones de registros al día.

Cuándo un UUID no es la herramienta adecuada

  • Cuando importa el orden de inserción. UUID v4 distribuye las escrituras aleatoriamente en el índice. UUID v7 u otro esquema temporal puede funcionar mejor con claves aproximadamente cronológicas.
  • Cuando una persona debe leer o teclear el identificador. Un UUID largo sirve mejor para copiar; un código corto puede facilitar la atención al cliente si se controlan colisiones y adivinación.
  • Cuando solo necesitas un contador. Un simple entero autoincremental es más pequeño, se ordena de forma natural y es más fácil de depurar; los UUID resuelven el problema concreto de generar identificadores únicos sin coordinación entre varios sistemas, algo que el autoincremento de una única base de datos ya resuelve bien por sí solo.

Preguntas habituales de implementación

El texto hexadecimal de un UUID no distingue mayúsculas y minúsculas según el estándar, aunque la forma canónica suele escribirse en minúsculas.

Los UUID se usan con frecuencia como claves primarias. Las versiones aleatorias pueden afectar la localidad del índice y el almacenamiento; la decisión depende de la carga y del esquema, no solo del tamaño de la tabla.

¿Un UUID es lo mismo que un GUID? A efectos prácticos sí; GUID (Identificador Único Global) es el nombre histórico de Microsoft para el mismo concepto, y hoy ambos términos se usan indistintamente.

Genera un UUID

El Generador de UUID de Orisod crea uno o varios UUID versión 4 con la fuente aleatoria segura del navegador. Son identificadores, no contraseñas ni pruebas de autenticidad.

Generar un UUID →

UUID v4 es una opción fiable para generar identificadores sin coordinación si usa una fuente aleatoria adecuada. Elige otro esquema cuando pesen más el orden, la brevedad, el secreto o la facilidad de uso humano.