2015-02-04 1 views
0

Я разрабатываю веб-приложение ASP.NET MVC 4, размещенное в IIS, которое будет использовать несколько баз данных на одном экземпляре SQL Server 2014 (каждая база данных для другой компании). Веб-приложение будет использоваться для анализа и суммирования больших объемов бизнес-данных.Одно веб-приложение или несколько веб-приложений при использовании нескольких баз данных?

Какова наилучшая практика в подобной ситуации? Будут ли проблемы с производительностью, если для нескольких баз данных используется только одно веб-приложение и пул? Одна база данных может иметь 1-20 пользователей.

Какой из них был бы лучшим выбором, A или B?

A) 1 веб-приложений и 10 баз данных

B) 10 веб-приложений и баз данных 10

+1

Не имеет никакого отношения к другому. Функционально, не имеет значения, подключается ли ваше приложение к одной базе данных или 1000. Производительность ограничена только индивидуальной производительностью каждой базы данных, а не количеством баз данных. –

ответ

1

Ваш вопрос не относится к MVC вообще.

Если у вас большой объем данных и вы беспокоитесь о производительности, вам следует подумать о том, как хранить и запрашивать данные на уровне базы данных. И вас могут заинтересовать такие вопросы:

  1. Какой поставщик использует для запроса данные? (чистый ADO.NET или ORM, как Linq-to-SQL или EF)
  2. Должен ли я иметь все базы данных в одном экземпляре SQL Server, или я могу использовать связанные серверы или даже данные объединения на стороне веб-сервера?
  3. Должен ли я иметь файлы баз данных на разных жестких дисках?

Ответы на эти вопросы:

  1. ADO.NET всегда быстрее, чем ORMs только потому, что все они используют ADO.NET на их основе. Но в будущем будет сложнее поддерживать запросы ADO.NET.
  2. Связанные серверы медленнее, особенно если у вас есть база данных на разных компьютерах (вы будете передавать свои данные по сети и не быстро, если это большой объем данных)
  3. в пути производительности это лучше, когда ваши файлы базы данных хранятся на разных жестких дисках

Ответ на ваш вопрос будет теперь очевидно, я думаю :)

Создание одного веб-приложения.

+0

Спасибо за ответы. Я использую ADO.NET, один экземпляр SQL Server и конфигурацию RAID 1 на сервере. Меня просто интересовало, может ли веб-приложение перегружаться, если сотни пользователей используют только одно веб-приложение/пул с несколькими базами данных. – user405723

+0

проблем нет, поэтому я упоминаю. –

+0

Кроме того, если вы говорите о своей проблеме дальше, не хотите ли вы создать хранилище данных? Я думаю, что услуги Analisys в MS SQL могут помочь вам в этом. Также может быть, что с этим инструментом будет проще создавать отчеты об ошибках и статистических данных. –

Смежные вопросы