Las arquitecturas distribuidas y los microservicios necesitan claves primarias que puedan generarse de forma autónoma en cualquier nodo sin un coordinador central. El estándar universal es el UUID (Universally Unique Identifier).
1. Estructura del UUID de 128 Bits
Estandarizado por RFC 9562, un UUID contiene 16 octetos (128 bits) representados mediante 32 caracteres hexadecimales organizados en cinco bloques separados por guiones:
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx2. Probabilidad Matemática de Colisión
Con 122 bits de entropía en UUID v4 (2^122 ≈ 5,3 × 10^36 combinaciones), habría que generar mil millones de UUIDs cada segundo durante 85 años antes de tener un 50% de probabilidad de coincidencia.
3. UUID v4 (Aleatorio) vs UUID v7 (Orden Cronológico)
A diferencia de UUID v4 que es puramente aleatorio, el estándar UUID v7 sitúa una marca de tiempo Unix de 48 milisegundos en los bits iniciales, garantizando que los registros se ordenen cronológicamente.
4. Indexación en Bases de Datos y Fragmentación B-Tree
El orden aleatorio de UUID v4 fragmenta los árboles B de las bases de datos. Con UUID v7, las inserciones se realizan de forma secuencial al final del índice, alcanzando un rendimiento de inserción hasta 10 veces mayor en PostgreSQL y MySQL.