Estoy trabajando en una aplicación PHP que pretende facilitar el flujo de trabajo de la empresa y la gestión de proyectos, digamos algo como Basecamp y GoPlan.¿Debo usar una configuración de base de datos única o múltiple para una aplicación multicliente?
No estoy seguro de cuál es el mejor enfoque, basado en la base de datos. ¿Debería usar una única base de datos y agregar columnas específicas del cliente a cada una de las tablas, o debería crear una base de datos para cada cliente nuevo? Un factor importante es la automatización: quiero que sea absolutamente simple crear un nuevo cliente (y tal vez abrir la posibilidad de registrarse por usted mismo).
contras posibles que puedo pensar en el uso de una base de datos:
- La falta de extensibilidad
- Los problemas de seguridad (aunque errores no deben estar allí en el primer lugar)
Lo ¿estás pensando en esto? ¿Tiene alguna idea de qué solución es más probable que las compañías anteriores hayan elegido?
¿Alguna vez se tomó en cuenta la velocidad? Una búsqueda de base de datos con 1 millón de registros tendrá un rendimiento significativamente mejor que uno con mil millones. Tengo curiosidad de cómo te fue en esto. – JM4
posible duplicado de [¿Cuáles son las ventajas de utilizar una única base de datos para CADA cliente?] (Http://stackoverflow.com/questions/13348/what-are-the-advantages-of-using-a-single-database- para-cada-cliente) – givanse
Tenía la misma pregunta. Estas son algunas de las respuestas que obtuve. http://stackoverflow.com/questions/69128/saas-database-design-multiple-databases-split Echa un vistazo a las diapositivas de la arquitectura de LinkedIn – Vyrotek