Ответ на ваш первый вопрос: (отсюда.)
Двумя важными механизмами, позволяющими одновременно работать многим пользователям, являются веб-кэширование и балансировка нагрузки. Как описано в этих статьях Википедии:
http://en.wikipedia.org/wiki/Web_cache http://en.wikipedia.org/wiki/Load_balancing_(computing)
Приложение аварийно завершает работу только в том случае, если превышено количество потоков, доступных для обработки запросов, и на сервере чрезмерно используется память.
Ваш второй запрос — это очень простой вопрос, с которым мы, веб-разработчики, сталкиваемся изо дня в день, но я боюсь, что не существует единого шага, гарантирующего высокую доступность веб-приложений. Чтобы ответить на вопрос, я бы порекомендовал вам сначала понять концепцию масштабирования (приложений).
Вы можете найти больше информации о масштабируемости веб-приложений, взглянув на эту презентацию SlideShare. Он дает очень четкое представление о проблемах и возможных решениях.
Что касается вашего третьего запроса, распределенная база данных — это система, в которой большая часть данных хранится на отдельных дисках (либо разделенных на разные физические диски — фрагментация, либо скопированных для резервирования — репликация). Система управления базой данных заботится о доступе к нужному диску для любой конкретной информации.
В основном одни и те же данные помещаются на разные диски, чтобы большое количество запросов не приводило к узким местам.
Но, даже если это звучит просто, реальная реализация становится намного сложнее, когда размеры базы данных увеличиваются (например, БД Twitter или БД FB). Всякий раз, когда добавляется новая информация, система управления базами данных должна следить за тем, чтобы она обновлялась на всех других дисках. (Репликация).
Более простой (и более медленный) способ сделать это — время от времени копировать все диски (дублирование).
Распределенные системы управления базами данных делятся на два основных подкласса:
- Однородная СУБД
- Гетерогенные СУБД
Подробнее о распределенных базах данных читайте здесь.
person
Sunny R Gupta
schedule
14.03.2014