Un UUID (Universally Unique Identifier) es un estándar para generar identificadores que, con una probabilidad abrumadora, no se repiten ni aquí ni en ningún otro sistema. En desarrollo se usan sobre todo para IDs de recursos en APIs, bases de datos y eventos distribuidos.
¿Qué es un UUID?
Un UUID es un número de 128 bits que se escribe en hexadecimal con guiones, por ejemplo: 550e8400-e29b-41d4-a716-446655440000. La versión más usada es la v4, que se genera de forma aleatoria (o pseudoaleatoria). Otras versiones (por ejemplo v1 basado en tiempo y MAC) existen, pero en APIs y bases de datos modernas suele elegirse v4 por su simplicidad y falta de información encodada.
Ventajas frente a IDs autoincrementales
- Sin coordinación central: puedes generar UUIDs en el cliente, en varios servidores o en distintos procesos sin que una base de datos asigne el “siguiente” número.
- No secuenciales: no se puede adivinar el siguiente ID ni enumerar recursos fácilmente, algo importante en APIs públicas.
- Fusión de datos: si más adelante combinas datos de varias fuentes, los UUIDs evitan colisiones de IDs numéricos.
- Seguridad: no revelan cantidad de registros ni orden de creación.
El precio es que ocupan más espacio (16 bytes o 36 caracteres en su representación estándar) y son menos legibles que un entero pequeño.
Cuándo usar UUID
- APIs REST: identificadores de recursos en URLs (
/users/{uuid}). - Bases de datos distribuidas o replicadas: cuando varias instancias crean registros.
- Eventos y colas: identificar mensajes de forma única sin depender de un contador central.
- Tokens o referencias: cuando necesitas un valor único que no sea secuencial.
Puedes usar un generador de UUID online para obtener valores v4 de prueba o para documentación. En código, la mayoría de lenguajes tienen bibliotecas estándar o muy usadas (por ejemplo uuid en Node.js, uuid en Python) que generan UUID v4 válidos.