Является ли предоставление каждому из моих клиентов выделенной базы данных и пула приложений масштабируемым? [закрытый]
В настоящее время наша команда проводит мозговой штурм идеи продукта, которая уже пару лет вертится у нас на языке.
Скорее всего, это будет ASP.NET веб-приложение MVC, размещенное в стеке WISC (Windows, IIS, SQL Server, C#)...
В идеале мы хотели бы следовать по тому же пути, что и ребята из fog-creek, когда fogbugz предлагал решения в стиле хостинга и" запуска на вашем сервере".
Естественно, мы хотим сохранить код и схему базы данных практически идентичными. (для целей технического обслуживания), так что мы можем компилировать для обоих в один присест.
Таким образом, имея "одну большую базу данных для всех пользователей", кажется, что это добавило бы накладные расходы разработчика, поддерживая разницу в схеме и т. д..
Я помню, как слушал подкаст Stack overflow еще в 2008 году, где Джоэл сполски упоминал, что его экземпляр SQL Server имеет тысячи баз данных, поскольку они предоставляют каждому пользователю выделенную базу данных, но у него были проблемы с масштабированием с SQL server 2000, управляющим таким количеством база данных.
Итак, мой вопрос:
-
Является ли это решение легко управляемым?
- лучше ли SS2008 управляет тысячами баз данных?
- может ли IIS обрабатывать такое количество приложений и пулов?
- Есть ли еще истории успеха в работе такого рода установки?
- возможно ли это на инфраструктуре vanilla WISC?
1 ответ:
Я думаю, что SQL Server 2008 не будет иметь никаких особых проблем с этим подходом.
В любом случае, если вы ищете решение с высокой доступностью, надежностью и масштабируемостью, вам следует рассмотреть возможность наличия нескольких веб-серверов и нескольких серверов баз данных. Просто чтобы убедиться, что в случае сбоя одной машины, не все для вашей тысячи пользователей/клиентов становится недоступным сразу.