Tenemos una situación en la que podemos (A) desplegar instancias de una aplicación en una base de datos MySQL usando el prefijo de tabla o (B) usar diferentes bases de datos MySQL para cada instancia de la aplicación, por ejemplo,
Configurar un":
central_database
app1_table1
app1_table2
app1_tablen
...
appn_table1
appn_table2
appn_tablen
El resultado final es una gran base de datos con muchas tablas.
Configuración "B":
app1_db
table1
table2
tablen
...
appn_db
table1
table2
tablen
El resultado final son muchas bases de datos con algunas tablas.
En igualdad de condiciones (p. Ej., Cantidad de datos, número de instancias de aplicaciones, etc.), ¿cuáles son los pros y los contras de utilizar cualquiera de los enfoques? ¿Qué sería perjudicial para el rendimiento y el mantenimiento de la base de datos? La aplicación está basada en PHP 5, se ejecuta sobre Apache 2.x, y estamos ejecutando MySQL 5.x.
Muchas gracias por tu tiempo y pensamientos!