На мой взгляд, это будет зависеть от вашей вероятной клиентской базы. Если бы вы могли попасть в ситуацию, когда арки-соперники используют вашу систему, то вам будет лучше с отдельными базами данных. Это также зависит от того, как ваши базы данных реализуются несколькими базами данных. Если каждая база данных имеет отдельную копию инфраструктуры, то это предполагает наличие единой базы данных (или смены СУБД). Если несколько баз данных могут обслуживаться одной копией инфраструктуры, я бы пошел на отдельные базы данных.
Подумайте о резервном копировании базы данных. Клиент А говорит: «Пожалуйста, пришлите мне копию моих данных». Гораздо проще в отдельной настройке базы данных, чем при совместном использовании одной базы данных. Подумайте об удалении клиента; опять же, намного проще с отдельными базами данных.
(The «инфраструктура» часть Слащавая, потому что существует значительные различия между различным СУБД о том, что представляет собой «базу данных» по сравнению с «экземпляром сервера», например Добавить:. Вопрос с тегами «MySQL» , так что, может быть, эти мысли не совсем уместно)
Добавить:. еще одна проблема - с несколькими клиентами в одной базе данных, каждый SQL-запрос будет необходимо убедиться, что данные для правильного заказчика выбран. Это означает, что SQL будет сложнее писать и читать, и СУБД будет вынуждена больше работать над обработкой данных, а индексы будут больше, и ... Я действительно поеду с отдельной базой данных на каждый клиент для многих целей.
Очевидно, что StackOverflow (в качестве примера) не имеет отдельной базы данных для каждого пользователя; мы все используем одну и ту же базу данных. Но если вы ведете учетные системы для разных компаний, я не думаю, что было бы приемлемо (для компаний и, возможно, не для юридических лиц) делиться базами данных.
ли скорость когда-либо приходилось в рассмотрение? Поиск базы данных с 1 миллионом записей будет выполнять значительно лучше, чем один с миллиардом. Мне любопытно, как вы покончили с этим. – JM4
Возможный дубликат [В чем преимущества использования единой базы данных для EACH клиента?] (Http://stackoverflow.com/questions/13348/what-are-the-advantages-of-using-a-single-database- для каждого клиента) – givanse
У меня был тот же вопрос. Вот некоторые из ответов, которые я получил. http://stackoverflow.com/questions/69128/saas-database-design-multiple-databases-split Проверьте слайды архитектуры LinkedIn – Vyrotek