Наличие всего в одной базе данных, если вы отвечаете за обслуживание, - это самый простой путь для обновления, обслуживания и резервного копирования.
Разделение каждой базы данных повышает безопасность и конфиденциальность (поскольку каждый пользователь базы данных клиентов будет иметь доступ ко всем другим данным клиента, благодаря возможности чтения / записи cms_pages) по цене (немного) более высокой стоимости обслуживания , Разделение баз данных также облегчает масштабирование производительности, благодаря чему вы можете быстрее переместить клиента, который превзошел ожидания на своем собственном сервере. Помните, что обновления и резервные копии могут быть автоматизированы, так что это не так уж сложно.
С точки зрения производительности, клиенты с большим количеством данных будут влиять на производительность клиентов с меньшим количеством данных (поскольку время сканирования индекса будет расти пропорционально общему количеству страниц, даже если оно может быть уменьшено за счет использования многостолбечных индексов .)
Так что имеет смысл иметь отдельную базу данных для каждого клиента и платить цену, если вы не уверены, что это будут небольшие сайты с не слишком большим трафиком, что они все друзья или никогда не узнают свое имя пользователя базы данных: -.)