1) Наличие отдельных баз данных позволяет легче распределять нагрузку на несколько хостов, во многих отношениях поднимает крышу; диск, память, блокировка, процессор, время резервного копирования и так далее. Если вы серьезно относитесь к размещению миллионов строк в mysql, это, безусловно, хорошая идея с отдельными базами данных (не только схемами) и даже отдельными экземплярами, чтобы потребители, потребляющие ресурсы, не навязывали время простоя менее потребляющим.
2) Будет ровно в N раз сложнее управлять, где N - это количество баз данных: o) Эти дополнительные расходы необходимо сравнить со стоимостью использования только одной базы данных / схемы и вместо этого управлять разделением клиента в коде. , Управлять им также намного сложнее, если вам приходится звонить в службу поддержки клиентов вашей хостинговой компании или даже в местную сварливую компанию dba, вместо того, чтобы просто запускать аккуратный скрипт из консоли каждый раз, когда вам нужно обновить схему или создать новую базу данных. 1003 *
В некоторых базах данных и средах персистентности есть поддержка мультитенантности, у Oracle это есть, и поддержка начинает появляться в Hibernate 4.
Несмотря на то, что многие аргументы указывают в направлении отдельных баз данных, , как правило, обычно также может использовать только одну базу данных.