В чем минусы при построении SaaS сервисов в подходе «на каждый аккаунт — отдельный экземпляр схемы БД»?
Если рассматривать такие системы, как, например, облачные CRM - почему бы не создавать для каждого аккаунта отдельную базу (интересует mysql)? Плюсы на первый взгляд очевидны:
-дополнительный уровень защиты данных (нет вероятности, что при ошибке в программной части пользователь увидит "чужие" данные)
-проще масштабироваться шардингом - разносить далее БД разных аккаунтов по серверам
-упрощается программная часть - не надо в каждый запрос дописывать id_проекта
-проще управление индексами - при размещении индексов на диске будет сразу такой же эффект как при создании partitions индексов на каждый аккаунт (если не прав, просьба объяснить)
Понятно, что понадобится и отдельная схема для общих данных - учетные записи, биллинг и т.д.
Какие, все-таки, минусы такого подхода?