Generador de UUID: Guía Completa
Los UUIDs (Identificadores Únicos Universales) son valores de 128 bits garantizados únicos a través del espacio y tiempo. Son esenciales para sistemas distribuidos, claves primarias de bases de datos y dondequiera que se necesiten identificadores únicos sin coordinación.
¿Qué es un UUID?
Un UUID es un identificador de 128 bits representado en formato canónico como 32 dígitos hexadecimales, mostrados en cinco grupos separados por guiones: 8-4-4-4-12. Por ejemplo: 550e8400-e29b-41d4-a716-446655440000. La belleza de los UUIDs radica en su generación descentralizada. Cualquier sistema puede generar UUIDs independientemente sin contactar un servidor central, y las colisiones son prácticamente imposibles. Esto hace los UUIDs perfectos para sistemas distribuidos, aplicaciones sin conexión y arquitecturas de microservicios. UUID significa "Identificador Único Universal" y también se llama GUID (Identificador Único Global) en sistemas Microsoft. Son funcionalmente idénticos. El estándar UUID (RFC 4122) define varias versiones, cada una con diferentes métodos de generación: La versión 1 es basada en tiempo, la versión 4 es aleatoria, y las versiones 3/5 son basadas en nombres. La versión 4 es la más común en uso moderno. 128 bits proporcionan un espacio de direcciones enorme—2^128 valores posibles o aproximadamente 3.4 × 10^38. El número es tan grande que incluso generar miles de millones de UUIDs por segundo durante miles de millones de años no crearía probabilidad práctica de colisión.
Versiones de UUID
UUID Versión 1 combina una marca de tiempo con la dirección MAC de la máquina. Garantiza unicidad pero revela cuándo y dónde fue generada. Úsala cuando el orden de tiempo sea importante y las preocupaciones de privacidad no existan. Rara en aplicaciones modernas. UUID Versión 4 se genera completamente a partir de números aleatorios. Es la versión más popular, no proporciona información de ordenamiento, es perfecta para uso general y es lo que nuestra herramienta genera por defecto. UUID Versión 3 crea UUIDs determinísticos a partir de un espacio de nombres y nombre usando hashing MD5. Las mismas entradas siempre producen el mismo UUID. Úsala cuando necesites UUIDs consistentes para las mismas entradas. La versión 5 es el mismo concepto pero usa SHA-1 en lugar de MD5—elige v5 sobre v3 para aplicaciones nuevas. El formato revela la versión. El carácter 13 (primer dígito del tercer grupo) indica la versión. En 550e8400-e29b-41d4-a716-446655440000, el '4' muestra que es un UUID v4. Propuestas más nuevas como UUIDv7 agregan ordenabilidad de marca de tiempo mientras mantienen aleatoriedad. Está ganando popularidad para claves primarias de bases de datos donde las inserciones ordenadas tienen beneficios de rendimiento.
Cuándo Usar UUIDs
Las claves primarias de bases de datos pueden usar UUIDs en lugar de enteros auto-incrementales. Ventajas: las claves pueden generarse del lado del cliente, el sharding de base de datos es trivial, no se revela información sobre el recuento de registros. Desventajas: almacenamiento más grande (16 bytes vs 4-8), ligeras penalizaciones de rendimiento en indexación. Los sistemas distribuidos se benefician enormemente de los UUIDs. Los microservicios pueden crear identificadores independientemente. Los sistemas de event sourcing necesitan IDs de evento globalmente únicos. Las colas de mensajes necesitan deduplicación sin coordinación. Los IDs de sesión pueden generarse sin asignación central. Los IDs de recursos API a menudo deberían ser UUIDs. Previenen ataques de enumeración (el atacante no puede adivinar /users/1, /users/2). No revelan información de negocio. Son fusionables a través de diferentes esquemas de ID. Los identificadores de archivos y recursos son buenos casos de uso de UUID. Los sistemas de carga pueden asignar identificadores antes del almacenamiento. No es necesario esperar secuencias de base de datos. Imposibles colisiones entre múltiples servidores de carga. Cuándo no usar UUIDs: Cuando la legibilidad humana es importante (los UUIDs son difíciles de comunicar). Cuando el almacenamiento está muy limitado (16 bytes vs 4 para int). Cuando se necesita orden de clasificación basado en tiempo de creación (usa UUIDv7 o ULID entonces). Cuando la secuencia u orden es importante para visualización.
Probar la Herramienta
Generador de UUID
Preguntas Frecuentes
Generador de UUID
Preguntas Frecuentes →