У нас есть ряд клиентов, чьи системы имеют некоторые функциональные возможности, но также имеют достаточно разнородную структуру. Число клиентов растет - всегда здоровая вещь! - и разнообразие между их предприятиями также увеличивается.
В настоящее время существует один веб-сайт ASP.Net (веб-формы) (в отличие от веб-проекта), который имеет подпапки для каждого арендатора с нестандартными страницами этого арендатора. Существует отдельный модельный проект, который занимается доступом к базе данных и бизнес-логикой.
Что предпочтительнее - и, самое главное, почему - между (а) 1 базой данных на клиента, только с функциями, связанными с этим клиентом; или (b) единую базу данных, совместно используемую всеми клиентами, где только один набор таблиц используется любым одним клиентом.
Основные проблемы в бизнесе закончились:
- поддержка нескольких активов - резервное копирование, контроль версий и тому подобное
- содействие повторному использованию в максимально возможной степени
Как бы вы обеспечили решение этих проблем, какое решение является предпочтительным и почему? (Я также собираю ответы на похожие вопросы)