¿Cuántos patrones hay en una «URL acortada»?

Con el alfabeto (mayúsculas y minúsculas) + los números [a-zA-Z0-9]^5, se emiten 916.132.832 formas posibles mediante hashes.
El valor del hash obtenido de la URL corresponde a la parte variable de la URL acortada.

La función hash está diseñada de tal manera que el valor hash toma un valor tan único como sea posible.
Sin embargo, si no se limita la longitud (contenido de información) de la cadena original, pueden producirse conflictos (es decir, el mismo valor hash para diferentes URL).
Existen varias soluciones, una de las cuales es utilizar el siguiente valor como valor hash

Una de las soluciones es utilizar el siguiente valor como valor hash. «¿Qué pasa si se utiliza el siguiente valor?» es cierto, pero las funciones hash están diseñadas para dispersar los valores tanto como sea posible cuando se introducen datos similares, de modo que cuando se produce una colisión, el siguiente valor suele estar libre.

Al crear una URL acortada, el proceso es el siguiente

1. A partir de la cadena de URL, crear un valor hash que encaje en un número hexadecimal de 5 dígitos (916.132.832).
2. Registre el valor hash y la URL en una tabla con columnas (la columna del valor hash es la clave primaria).
3. Si la URL ya está registrada en la tabla
a. Si la URL ya está registrada, se utiliza el valor hash.
b. Si la URL no está registrada, aumenta el valor hash en uno e intenta registrarla.

Para obtener la URL real de una URL acortada, basta con buscarla en una tabla.
Las RDBs están diseñadas para acelerar el proceso de identificación de registros a partir de claves primarias.

Dado que el proceso se realiza mientras se busca espacio libre en la tabla de registro, no se agotarán los 916.132.832 hasta que se utilicen todos, pero si hay muchas colisiones de hash, el rendimiento disminuirá.
Sin embargo, este «rendimiento» sólo está relacionado con el registro de las URLs acortadas, y no tiene ningún efecto en el proceso de búsqueda, por lo que, debido a la naturaleza del servicio, es suficiente hasta que se agoten los 9.100 millones de combinaciones.

Incluso si el número se agota, se puede aumentar el número de combinaciones posibles añadiendo un carácter o un dígito más.