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

BD multiempresa

Estas en el tema de BD multiempresa en el foro de Mysql en Foros del Web. Hola, estoy desarrollando una aplicación web que deberá ser usada por varias empresas, cada cual con sus propios datos. Mi pregunta es ¿Cómo se diseña ...
  #1 (permalink)  
Antiguo 15/08/2009, 22:50
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
BD multiempresa

Hola, estoy desarrollando una aplicación web que deberá ser usada por varias empresas, cada cual con sus propios datos. Mi pregunta es ¿Cómo se diseña correctamente la BD?

Hasta ahora solo se me ocurren las siguientes soluciones:
1- Varias BD. Replicando una BD para cada empresa.
2- Una sola BD. En cada tabla agregar una clave foranea que identifique a la empresa a la cual pertenece cada registro.

Cada una tiene sus pro y sus contra, no se si existen más alternativas, ojalá alguien pueda darme una orientación.

Gracias.
__________________
-La duda es la base del conocimiento-
  #2 (permalink)  
Antiguo 15/08/2009, 22:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: BD multiempresa

¿Todas las empresas van a interactuar entre si?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 15/08/2009, 22:59
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: BD multiempresa

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Todas las empresas van a interactuar entre si?
Gracias por responder. Cada empresa es totalmente independiente una de otra (usuarios, datos, etc) pero todas ocuparían las mismas tablas.
__________________
-La duda es la base del conocimiento-
  #4 (permalink)  
Antiguo 15/08/2009, 23:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: BD multiempresa

Para mi entender lo mejor es tenerlas por separada. Tu no sabes que inventos puedan surgir en el futuro y si estan por separadas mucho mejor porque podras hacer cambios en las base de datos individuales, sin necesidad de preocuparte si afectará a las otras compañías.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 17/08/2009, 15:04
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: BD multiempresa

El problema de replicar las BD es que si son muchas empresas, sería muy costoso realizar cambios por cada BD, más aún cuando se esperan muchos cambios en el camino. En mi caso serían alrededor de 50 empresas.

El problema de incorporar FK por cada tabla referenciando a cada empresa es que afecta al rendimiento, más aún cuando habrán tablan que contengan decenas de miles de registros. Utilizando este esquema, habrá que tener un servidor dedicado.

Lo que no sé es si MYSQL tendrá alguna forma especial de implementar replicas de BD, por ejemplo diseñando la estructura en una parte y los datos obtenidos por instancia a esa estructura, no se, estoy inventando.

Eso, gracias
__________________
-La duda es la base del conocimiento-
  #6 (permalink)  
Antiguo 17/08/2009, 15:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: BD multiempresa

Tu puedes hacer copias de la estructura que tengas diseñada con MySQL. Lo que no entiendo a que te refieres con diseñando la estructura en una parte y los datos obtenidos por instancia a esa estructura
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 17/08/2009, 17:54
 
Fecha de Ingreso: noviembre-2002
Ubicación: Curicó
Mensajes: 6
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: BD multiempresa

Hola...

Lo que puedes hacer es tomar una base de datos de las 50 que tienes y al hacer el respaldo solo bajas la estructura sin los datos y cuando cuando tengas el archivo .sql lo editas y le modificas por el nuevo nombre de la nueva base de datos.
  #8 (permalink)  
Antiguo 17/08/2009, 18:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Curicó
Mensajes: 6
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: BD multiempresa

lo que es yo tengo el mismo dilema que phidalgo, en este momento tengo 20 empresas cada una con sus base de datos, estas bases de datos tienen la misma estructuras y no se interrelacionan, son independiente entre si...

El problema que tengo es si sigo conservando ese estilo de trabajo o mas adelante mas unifico en una sola base de datos multiempresa.

que opinan que sea mas factible.
  #9 (permalink)  
Antiguo 18/08/2009, 13:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años
Puntos: 4
Respuesta: BD multiempresa

No soy de los que mas saben pero no entiendo por que querrian utilizar las mismas tablas para diferentes empresas.

Por otra parte, desde donde se interactua con esta base de datos? desde un sitio web, una aplicacion?

Yo ni siquiera utilizaria la misma base de datos, utilizaria una base de datos con sus respectivas tablas por empresa, si la estructura es la misma para las 50 empresas incluso se puede replicar desde la primera que se haya creado exportando la misma.
  #10 (permalink)  
Antiguo 18/08/2009, 21:18
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: BD multiempresa

Gracias a todos por sus respuestas, llegué a la concusión que la respuesta es "depende".

-Si la BD se encuentra madura en su desarrollo, no se esperan cambios continuos bajo su utililización y/o existe la posibilidad de que se mantenga cierta logica de negocio en la BD diferente para cada empresa ...creo que la alternativa sería la que muchos propusieron: basarse en la estructura de una para replicar en las otras.

-Si la aplicación esta en desarrolllo y se espera realizar continuos cambios incrementales en la BD ..creo que la alternativa es todo junto en una BD, indexando por FK de cada empresa. Este es mi caso, se parte con un piloto que sugiere un 30% de la aplicación completa.

Como sea, cualquier otra opinión siempre es útil y es agradecida.
__________________
-La duda es la base del conocimiento-
  #11 (permalink)  
Antiguo 19/08/2009, 00:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: BD multiempresa

Sinceramente, si las empresas no se van a interactuar entre si, y cada una trabaja cosas diferentes, lo que te sugiero es hacerlas individuales. Ya que en un futuro te vas a encontrar que una de las empresas "puede" (digo asi porque no se de que son las empresas) pedirte algun cambio que requiera algun cambio en la estructura de la base de datos y te vas a liar si estan todas juntas. Solo expongo eso porque tu no sabes nunca lo que se espera en el futuro y siempre uno debe adelantarse a esos problemas. Solo hago esta observacion
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 20/08/2009, 11:17
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: BD multiempresa

abimaelrc, lo que dices es muy cierto y en la práctica suele pasar. Gracias por tus comentarios.
__________________
-La duda es la base del conocimiento-
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 14:35.