UUID frente a clave primaria de entero autoincremental
Compara qué usar como clave primaria de base de datos: UUID o entero autoincremental.
Entero autoincremental
Es corto, rápido y tiene buena localidad de índice. Sin embargo, resulta difícil fusionar varias bases de datos, el número secuencial revela el total de registros y a la aplicación le cuesta generar los ID por adelantado o de forma distribuida.
UUID
En entornos distribuidos cada parte puede generarlos por su cuenta sin colisiones y sus valores son difíciles de predecir. A cambio, ocupa 128 bits (más que un entero) y los v4 aleatorios se insertan dispersos en el índice, lo que puede reducir el rendimiento de escritura.
Criterio de elección
Si es un sistema interno con una única base de datos, el entero es más simple y eficiente. Si necesitas un sistema distribuido, una API pública o fusionar múltiples fuentes, el UUID (en especial el v7, ordenado por tiempo) resulta ventajoso. También es habitual la solución intermedia de mantener una PK entera interna junto a un UUID para exponer al exterior.