Ejemplos donde necesitamos usar UUID
Posted In: Programación by Mauro ZadunaiskyHace unos días vimos qué son y cómo se crean los UUID. Ahora vamos a ver algunos ejemplos donde se hace necesario su uso.
Cantidad de registros potencialmente infinita
MySQL puede guardar números enteros positivos hasta un máximo de 18446744073709551615 (referencia). Si bien es un número realmente grande, es posible que para algunos sistemas no sea suficiente, ya que la cantidad de registros esperados puede ser superior. Los UUID en cambio son virtualmente infinitos.
Bases de datos distribuidas
Si una base de datos recibe muchas consultas y el rendimiento del servidor comienza a verse afectado, puede ser una buena solución separar la base de datos en diferentes servidores para reducir la carga. Si una misma tabla está replicada en diferentes servidores las claves autoincrementales ya no pueden ser utilizadas ya que tendríamos identificadores repetidos para diferentes registros.
Coordinación con servicios externos
Tenemos una tabla en la cual almacenamos información sobre vídeos y otra con archivos de audio. En nuestra base de datos sólo guardamos la información relativa a los contenidos (duración, nombre, calidad, etc.). El archivo de audio o vídeo se guarda en un servidor externo por requerimiento del cliente. Este servidor tiene como política que cada archivo que se aloje debe tener un identificador único. Sería muy cómodo para nosotros que el mismo id que usamos para los registros propios en nuestras tablas sea el que usamos para el servidor de archivos, pero nuestra información está en diferentes tablas, así que no podemos usar un id autoincremental ya que tendríamos claves duplicadas de una tabla a la otra.
Esconder información
Un sitio web similar a flickr tiene una base de datos de imágenes que el usuario puede navegar libremente. Cada imagen tiene una página propia y el id de dicha imagen se pasa a través de la url. Un usuario astuto podría notar que estos números son consecutivos y le resultaría relativamente fácil programar un script que descargue todas las imágenes de nuestro sitio, lo cual va en contra de nuestro objetivo ya que queremos que los usuarios naveguen el sitio para descargarlas.
Un cliente que se preocupa mucho por la imagen de su empresa está recibiendo muy pocos pedidos a través de su sitio de comercio electrónico. Cada pedido recibe un identificador numérico autoincremental. El empresario nos plantea que sus clientes se dan cuenta de que vende poco porque pasan las semanas y los números de pedidos avanzan muy lento, dando la imagen de que su empresa no está funcionando. Esto puede parecer irreal, pero nos ha sucedido una vez.

