2010-12-02 7 views
2

В веб-приложении лучше иметь все данные в одном db или создавать базу данных для каждого клиента?Несколько баз данных vs single db

Одиночный db будет проще и быстрее выполнять mantain (обновления, резервные копии и т. Д. И т. Д.), Но если что-то пойдет не так, все будут заблокированы.

Может быть, я могу создавать отдельные таблицы, а затем предоставить разрешения, но я не гуру ..

+0

Резервное копирование - ваш друг. – 2010-12-02 11:44:18

+0

@Col. Шрапнель: Действительно, но этот принцип справедлив для любого сценария. – Piskvor 2010-12-02 11:46:01

+0

@Piskvor, который отвечает на самый вопрос. – 2010-12-02 11:46:58

ответ

1

Это зависит от того, что я видел приложения, которые использовали одну и ту же базу данных для сотен клиентов (всего 10000 пользователей). На мой взгляд, в зависимости от сценариев использования, либо все клиенты используют один и тот же дБ (и имеют дело с проблемами масштабирования соответственно), либо клиенты используют разные серверы (проще в развертывании, сложнее в обслуживании), так как вы можете многие версии вашего программного обеспечения, каждый немного отличается от другого).

Несколько баз данных на одном сервере представляют собой странную половину породы, которая объединяет недостатки обоих подходов.

7

Правильный путь для учета «что-то идет плохо» не несколько баз данных, это несколько серверов баз данных. Используйте единую базу данных и исследуйте кластеризацию.

0

Используйте единую базу данных вместо нескольких баз данных или нескольких таблиц. Ваша таблица должна иметь уникальный идентификатор для каждого клиента. «что-то плохое» угроза может быть решена путем репликации сервера db.

0

Более надежный подход заключается в использовании db для каждого клиента. Таким образом, проще сделать резервную копию и обновить и многое другое ERROR PRONE!

Смежные вопросы