Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Estructura adecuada

Estas en el tema de Estructura adecuada en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/03/2012, 04:26
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Pregunta 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.
  #2 (permalink)  
Antiguo 09/03/2012, 05:55
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Estructura adecuada

Interesante situación, me quedo para ver la respuesta si no te importa :)
  #3 (permalink)  
Antiguo 09/03/2012, 07:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Estructura adecuada

Como ya se dijo las soluciones son optimas o no dependiendo de las espectativas del negocio.


http://www.forosdelweb.com/f86/multi...tablas-973424/


Igual esto te aclara algo http://www.forosdelweb.com/f41/linux...ctorio-614776/

http://es.wikipedia.org/wiki/Ext4

https://ext4.wiki.kernel.org/article...owto_d00b.html
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 09/03/2012 a las 07:40
  #4 (permalink)  
Antiguo 09/03/2012, 07:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Estructura adecuada

Cita:
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.
Personalmente no recuerdo que hayas planteado la pregunta, o al menos no era el tema principal (no aparece entre tus post creados), pero si te puedo decir que yo jamás te hubiese aconsejado semejante cosa. Para mi es una pésima idea. Uno sólo replica estructuras de base para crear sucursales, no para separar clientes...
Una de las razones por las que nunca estoy de acuerdo con eso de "una base por cliente", es precisamente por el problema con que te enfrentas: Se te va a escapar de las manos la administración de semejante cantidad de esquemas.
La solución de una única base es siempre la mejor elección, incluso los sistemas bancarios, con una enorme cantidad de cientes individuales y clientes empresas, no usan una base por cliente para atender sus requerimientos. Usan un sólo sistema de base de datos distribuido, pero unificado.
¿Por qué crees que lo hacen? Simple: Porque hacer una base por cliente es como mínimo una mala idea (en realidad un profesor mio diría que es una idea insensata).
Ahora estás metido en el brete y tendrás que elegir: O una reingeniería que corrija todo, o seguir como vas, agregando servidores y poniendo tda tu atención en las capacidades de integración de sistemas en la capa de servicios web.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 09/03/2012, 08:13
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: Estructura adecuada

¿Cuando dices clientes te refieres a usuarios ó son clientes que tienen cada uno un sistema y que no tienen ninguna relación entre ellos?

Por otro lado, no puedo confirmarlo pero creo que en ext3 no ha límite de directorio/archivos por directorio. Los 32.000 que mencionas creo que es el límite de subdirectorios que puede tener un árbol (directorio dentro de directorio, dentro de directorio, etc.).

También ten en cuenta que, si no te estás refiriendo a usuarios si no a clientes con todo un sistema entero para cada uno, quizá tu máquina no soporte la carga y tengas que tener varias distintas (tanto para la aplicación como para las BBDDs).
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #6 (permalink)  
Antiguo 10/03/2012, 05:30
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Estructura adecuada

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Personalmente no recuerdo que hayas planteado la pregunta, o al menos no era el tema principal (no aparece entre tus post creados)-
Bueno...este es el post del que hablaba, no es exactamente la misma pregunta pero con los años en mi mente lo era...

http://www.forosdelweb.com/f19/plant...rvidor-642545/

Ahora mismo estoy el la tarea de modificar la aplicación, tan solo tengo que añadir en cada SELECT, INSERT, UPDATE, DELETE algo parecido a esto (&& id_tc='$IDCLIENTE'), son una 400 consultas, y añadir el campo id_tc en 8 tablas.
En un par de días todo adaptado!!

Nunca he manejado tantos usuarios, entonces…¿hacer consultas en una BD filtrando entre este campo (id_tc con index) ,es rápido?

Gracias.

Sería genial para la administración tener una base de datos compartida
  #7 (permalink)  
Antiguo 10/03/2012, 06:12
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Estructura adecuada

Cita:
Iniciado por Trublux Ver Mensaje
¿Cuando dices clientes te refieres a usuarios ó son clientes que tienen cada uno un sistema y que no tienen ninguna relación entre ellos?
Yo les llamo clientes porque son los que me permiten ir al Mercadona el viernes, Todos comparten la misma aplicación, recursos, etc.

Cita:
Iniciado por Trublux Ver Mensaje
Por otro lado, no puedo confirmarlo pero creo que en ext3 no ha límite de directorio/archivos por directorio. Los 32.000 que mencionas creo que es el límite de subdirectorios que puede tener un árbol (directorio dentro de directorio, dentro de directorio, etc.).
Parece ser que es como dices, pero no creo que sea buena idea meter tantos directorios dentro de un directorio, supongo que el sistema operativo tendrá que leerlo he iremos más lentos.

Cita:
Iniciado por Trublux Ver Mensaje
También ten en cuenta que, si no te estás refiriendo a usuarios si no a clientes con todo un sistema entero para cada uno, quizá tu máquina no soporte la carga y tengas que tener varias distintas (tanto para la aplicación como para las BBDDs).

Es exactamente el miedo que tengo y el motivo de este post

un saludo
  #8 (permalink)  
Antiguo 10/03/2012, 06:14
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Estructura adecuada

Cita:
Iniciado por DooBie Ver Mensaje
Interesante situación, me quedo para ver la respuesta si no te importa :)
Si claro, como no, más tarde preparo palomitas.
  #9 (permalink)  
Antiguo 10/03/2012, 06:16
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Estructura adecuada

Cita:
Iniciado por quimfv Ver Mensaje

Muy útil la info, Gracias
  #10 (permalink)  
Antiguo 10/03/2012, 14:14
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Estructura adecuada

Cita:
Iniciado por albertius Ver Mensaje
Si claro, como no, más tarde preparo palomitas.
De las dulces, que sino tengo mucha sed luego.

Etiquetas: estructura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:21.