Назад | Перейти на главную страницу

Высокодоступные и масштабируемые SQL-серверы с базами данных только для чтения?

Я думал о создании веб-сайта, который потенциально мог бы получить много трафика. Это был бы своего рода исследовательский сайт с возможностями вики. Так пользователи смогут редактировать информацию на сайте. Однако 99% пользователей, вероятно, никогда ничего не будут редактировать, а просто будут искать / просматривать сайт. Таким образом, они теоретически могли делать большинство вещей из копии базы данных, доступной только для чтения.

Имея это в виду, я подумал, что собрать что-то подобное будет хорошо ...

Таким образом, в одном центре обработки данных будет 3 физических сервера:

Мне нравится, что эта модель одновременно улучшает и масштабируемость, и надежность. Если какой-либо веб-сервер выйдет из строя, обслуживание не прервется. Если основной сервер SQL выйдет из строя, некоторые функции сайта будут отключены, но сайт все равно останется, так сказать, в состоянии «только для чтения». Затем, в последнюю очередь, балансировщик нагрузки распределяет нагрузку между двумя веб-серверами, что хорошо.

Но у меня есть пара вопросов по этому поводу:

  1. Подходит ли для этого доставка журналов?
  2. Какая минимальная версия SQL Server требуется для этого? Например, можно ли запускать веб-версию SQL Server на основном сервере SQL, а SQL Express - на веб-серверах?

Спасибо за вашу помощь.

То, что вы описали, подойдет.

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

Все пользовательские запросы будут попадать в кеш в памяти (очень быстро). Любые обновления могут затем заставить кеш вернуться в БД и получить последнюю копию для будущих запросов.

Взгляните на систему Windows Server App Fabric. Если вам нужна настоящая высокая доступность, тот же набор функций доступен в Windows Azure, что сделает работу еще более избыточной.