DEV Community

Benjamín Vázquez
Benjamín Vázquez

Posted on

[Consejo] Usa UUID como PRIMARY KEY en lugar del clásico INT

CREATE TABLE 'foo' (ID INT NOT NULL), PRIMARY KEY (ID))
Enter fullscreen mode Exit fullscreen mode

Qué tiempos, ¿No?

Ya han pasado algunas primaveras desde que use alguna declaración como la de arriba para generar una llave primaria en una tabla en un sistema gestor de base de datos. Sin embargo, olvide en qué momento precisamente deje los tipos de datos INT para usar algún identificador único universal (UUID). Lo cual me hizo reflexionar el por qué llevar a cabo está practica y las consideraciones que conlleva.

  • En teoría, el costo del almacenamiento es más alto al guardar 32 caracteres, pero en la actualidad en los sistemas modernos esto no es una desventaja y lo qué es más, los mismos sistemas gestores de base de datos tales como PostgreSQL empiezan a implementar un tipo de dato UUID.
  • Los UUIDs no son leíbles para las personas lo que en caso de depuración puede ser molesto. Por otro lado, esto agrega una capa de seguridad a la hora de interactuar con los registros por parte de las aplicaciones que los desarrolladores crean.

En conclusión, usar UUIDs como llave primaria en una base de datos moderna es una cuestión de querer obtener una capa extra que prevenga puntos de vulnerabilidad al transportar los registros desde aplicaciones a sistemas gestores de base de datos.

Top comments (0)