📖 Guía Técnica: ¿Qué es un UUID y cómo elegir la versión correcta?
1. ¿Qué es un UUID / GUID?
Un UUID (Universally Unique Identifier), también conocido en el ecosistema de Microsoft como GUID (Globally Unique Identifier), es un identificador alfanumérico estándar de 128 bits definido por el estándar RFC 9562 (actualización de RFC 4122). Su propósito es permitir que sistemas distribuidos generen identificadores únicos de manera descentralizada sin necesidad de un servidor central de coordinación.
2. Comparativa: UUID v4 vs UUID v7 para Bases de Datos
Utiliza 122 bits de entropía pseudoaleatoria criptográfica. Ideal para tokens de seguridad, enlaces opacos y claves públicas donde no se debe inferir el orden ni el momento de creación.
Combina un timestamp Unix de 48 bits (milisegundos) con 74 bits de aleatoriedad. Es secuencial y ordenable temporalmente, lo que evita la fragmentación de índices B-Tree en PostgreSQL, MySQL y SQLite, incrementando la velocidad de inserción hasta un 400%.
3. ¿Existe riesgo de colisión entre dos UUIDs?
La probabilidad de colisión en UUID v4 es de 1 entre 2^122 (aproximadamente 5.3 × 10^36 combinaciones). Para tener un 50% de probabilidad de colisión, se tendrían que generar 1.000 millones de UUIDs por segundo durante 85 años ininterrumpidos. Por lo tanto, para cualquier propósito práctico en ingeniería de software, la unicidad es total.
❓ Preguntas Frecuentes sobre UUID & GUID
¿Cuál es la diferencia entre UUID y GUID?
Ninguna a nivel estructural. GUID es el nombre utilizado históricamente por Microsoft (representado frecuentemente con llaves { ... }), mientras que UUID es el estándar formal de la IETF y la ISO/IEC 9834-8.
¿Por qué deberías migrar de UUID v4 a UUID v7?
Porque los UUID v4 se insertan de forma aleatoria en el disco, forzando al motor de la base de datos a reordenar constantemente los nodos del árbol B-Tree (page fragmentation y buffer cache thrashing). UUID v7, al comenzar con el timestamp actual, se inserta ordenadamente al final del índice.
¿Cómo se almacena un UUID eficientemente en SQL?
Utilizá el tipo nativo UUID en PostgreSQL (16 bytes) o BINARY(16) en MySQL / MariaDB en lugar de VARCHAR(36), reduciendo el consumo de memoria y almacenamiento en más de un 50%.
Herramientas Relacionadas
Password Generator
Generador de contraseñas seguras y frases de paso criptográficas.
Abrir herramienta →AUTHJWT Studio
Decodificador, verificador y generador de tokens JSON Web Tokens.
Abrir herramienta →CODEQR Generator
Generador de códigos QR con colores cyberpunk, estilos y logo.
Abrir herramienta →