Является ли предоставление каждому из моих клиентов выделенной базы данных и пула приложений масштабируемым? [закрытый]


В настоящее время наша команда проводит мозговой штурм идеи продукта, которая уже пару лет вертится у нас на языке.

Скорее всего, это будет ASP.NET веб-приложение MVC, размещенное в стеке WISC (Windows, IIS, SQL Server, C#)...

В идеале мы хотели бы следовать по тому же пути, что и ребята из fog-creek, когда fogbugz предлагал решения в стиле хостинга и" запуска на вашем сервере".

Естественно, мы хотим сохранить код и схему базы данных практически идентичными. (для целей технического обслуживания), так что мы можем компилировать для обоих в один присест.

Таким образом, имея "одну большую базу данных для всех пользователей", кажется, что это добавило бы накладные расходы разработчика, поддерживая разницу в схеме и т. д..

Я помню, как слушал подкаст Stack overflow еще в 2008 году, где Джоэл сполски упоминал, что его экземпляр SQL Server имеет тысячи баз данных, поскольку они предоставляют каждому пользователю выделенную базу данных, но у него были проблемы с масштабированием с SQL server 2000, управляющим таким количеством база данных.

Итак, мой вопрос:

    Является ли это решение легко управляемым?
  1. лучше ли SS2008 управляет тысячами баз данных?
  2. может ли IIS обрабатывать такое количество приложений и пулов?
  3. Есть ли еще истории успеха в работе такого рода установки?
  4. возможно ли это на инфраструктуре vanilla WISC?
1 7

1 ответ:

Я думаю, что SQL Server 2008 не будет иметь никаких особых проблем с этим подходом.

В любом случае, если вы ищете решение с высокой доступностью, надежностью и масштабируемостью, вам следует рассмотреть возможность наличия нескольких веб-серверов и нескольких серверов баз данных. Просто чтобы убедиться, что в случае сбоя одной машины, не все для вашей тысячи пользователей/клиентов становится недоступным сразу.