Я разговаривал с архитектором базы данных с wordpress.com, хостингом для WordPress. Он сказал, что они начали с одной базы данных, где все клиенты были вместе. В конце концов, содержание отдельного блога на самом деле не так уж много. Само собой разумеется, что одна база данных более управляема.
Это работало хорошо для них, пока они не получили сотни и тысячи клиентов, они поняли, что им нужно масштабировать , запустить несколько физических серверов и разместить подмножество своих клиентов на каждом сервере. Когда они добавляют сервер, было бы легко перенести отдельных клиентов на новый сервер, но сложнее отделить данные в одной базе данных, которая принадлежит блогу отдельного клиента.
По мере того, как клиенты приходят и уходят, а блоги некоторых клиентов занимаются большими объемами, в то время как другие устаревают, перебалансировка на нескольких серверах становится еще более сложной задачей обслуживания. Отслеживать размер и активность для отдельной базы данных также проще.
Аналогично создание базы данных резервное копирование или восстановление одной базы данных, содержащей террабайты данных, в сравнении с отдельными резервными копиями базы данных и восстановлением по несколько мегабайт каждая, является важным фактором. Подумайте: клиент звонит и говорит, что его данные получили SNAFU из-за неправильного ввода данных, и не могли бы вы восстановить данные из вчерашней резервной копии? Как бы вы восстановили данные одного клиента, если бы все ваши клиенты имели общую базу данных?
В конце концов они решили, что разделение на отдельной базы данных для каждого клиента , хотя и сложное в управлении, предложило им большую гибкость, и они реструктурировали свой хостинг для этой модели.
Итак, хотя с точки зрения моделирования данных кажется правильным сделать хранение всего в одной базе данных, некоторые задачи администрирования базы данных 1022 * становятся проще по мере прохождения определенной базы данных. точка останова объема данных.