На мой взгляд, это будет зависеть от вашей вероятной клиентской базы. Если бы вы могли попасть в ситуацию, когда ваши соперники используют вашу систему, то вам лучше использовать отдельные базы данных. Это также зависит от того, как несколько баз данных будут реализованы вашей СУБД. Если каждая база данных имеет отдельную копию инфраструктуры, то это предполагает одну базу данных (или изменение СУБД). Если несколько баз данных могут обслуживать несколько баз данных, я бы выбрал отдельные базы данных.
Подумайте о резервном копировании базы данных. Клиент А говорит: «Пожалуйста, пришлите мне копию моих данных». Гораздо проще в отдельной настройке базы данных, чем в случае совместного использования одной базы данных. Подумайте об удалении клиента; опять же, намного проще с отдельными базами данных.
(Например, часть «инфраструктура» изуродована, потому что между разными СУБД есть существенные различия в том, что представляет собой «база данных», а не «экземпляр сервера», например. Добавить : вопрос помечен «mysql», так что, возможно, эти мысли не совсем актуальны.)
Добавить :
Еще одна проблема - при наличии нескольких клиентов в одной базе данных каждый SQL-запрос должен обеспечить выбор данных для правильного клиента. Это означает, что SQL будет труднее писать и читать, а СУБД придется работать усерднее при обработке данных, и индексы будут больше, и ... я бы на самом деле выбрал отдельную базу данных для клиент для многих целей.
Очевидно, что StackOverflow (в качестве примера) не имеет отдельной базы данных для пользователя; мы все используем одну и ту же базу данных. Но если бы вы работали с учетными системами для разных компаний, я не думаю, что было бы приемлемо (для компаний и, возможно, не для юристов) делиться базами данных.