У нас есть ситуация, когда мы можем (A) развернуть экземпляры приложений в одной базе данных MySQL, используя префикс таблиц, или (B) использовать разные базы данных MySQL для каждого экземпляра приложения, например, для:
Настройка «А»:
central_database
app1_table1
app1_table2
app1_tablen
...
appn_table1
appn_table2
appn_tablen
Конечный результат - большая база данных со многими таблицами.
Настройка "B":
app1_db
table1
table2
tablen
...
appn_db
table1
table2
tablen
Конечный результат - множество баз данных с несколькими таблицами.
При прочих равных условиях (например, количество данных, количество экземпляров приложения и т. Д.), Каковы преимущества и недостатки использования любого из этих подходов? Что может отрицательно сказаться на производительности и обслуживании базы данных? Приложение основано на PHP 5, работает под управлением Apache 2.x, и мы работаем с MySQL 5.x.
Большое спасибо за ваше время и мысли!