
09/03/2012, 04:26
|
| | Fecha de Ingreso: marzo-2003 Ubicación: Barcelona
Mensajes: 107
Antigüedad: 22 años Puntos: 0 | |
Estructura adecuada Hola a todos.
Hace mucho tiempo planteé en este mismo foro la siguiente pregunta.
¿Qué es más óptimo para mis clientes, una base de datos compartida entre todos con el identificador del cliente o una base de datos propia para cada cliente?
La respuesta ganadora fue: Base de datos propia para cada cliente.
Y así construí la aplicación.
Hasta el momento todo ha ido perfecto. Existen unos 200 clientes y todo funciona a las mil maravillas.
Todos mis clientes son exactamente esto, clientes, o sea pagan una cuota mensual.
Ahora hemos decidido ofrecer una versión gratuita limitada del servicio y esperamos conseguir muchísimos usuarios. Esto quiere decir que si ahora tenemos 200 clientes, o sea 200 bases de datos, en un futuro no muy lejano podríamos tener 200.000 usuarios, y como el sistema está preparado para crear una base de datos por usuario, creo que el servidor no soportaría estas cantidades.
Tengo entendido que en linux caben 32.000 directorios o archivos dentro de un directorio, y como cada base de datos crea su archivo (o más de uno si es imnoDB), no soportaría tales cantidades.
La solución que he encontrado más apropiada es la siguiente:
Una base de datos para cada 200 usuarios o clientes. De esta forma se divide por 200 la cantidad de directorios y la base de datos solo realizaría una consulta entre 200 ids (en indice).
Lo mismo para los directorios de imágenes y documentos de clientes.
¿¿Esto es acertado??
¿¿Alguna otra solución??
Gracias de antemano. |