Презентация, доклад Программное обеспечение ИС на тему Архитектура клиент-сервер

Немного историиВ период создания первых СУБД технология «клиент-сервер» только зарождалась. Поэтому изначально в архитектуре систем не было адекватного механизма организации взаимодействия процессов типа «клиент» и процессов типа «сервер». В современных же СУБД он является фактически основополагающим и от эффективности его реализации зависит эффективность работы

Слайд 1Архитектура клиент-сервер
С активным сервером баз данных

Архитектура клиент-серверС активным сервером баз данных

Слайд 2Немного истории
В период создания первых СУБД технология «клиент-сервер» только зарождалась. Поэтому

изначально в архитектуре систем не было адекватного механизма организации взаимодействия процессов типа «клиент» и процессов типа «сервер».

В современных же СУБД он является фактически основополагающим и от эффективности его реализации зависит эффективность работы системы в целом.

Немного историиВ период создания первых СУБД технология «клиент-сервер» только зарождалась. Поэтому изначально в архитектуре систем не было адекватного механизма

Слайд 3Первоначально существовала модель, когда управление данными (функция сервера) и взаимодействие с пользователем были

совмещены в одной программе. Это можно назвать нулевым этапом развития серверов БД (рис. а).

Затем функции серверам вывели в самостоятельную группу — сервер, однако модель взаимодействия пользователя с сервером соответствовала «один к одному» (рис. б), т. е. сервер обслуживал запросы только одного пользователя (клиента), и для обслуживания нескольких клиентов нужно было запустить эквивалентное число серверных процессов.

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

Слайд 4Выделение сервера в отдельную программу было революционным шагом, который позволил, поместить сервер

на одну машину, а программный интерфейс с пользователем  — на другую, осуществляя взаимодействие между ними по сети.
Однако необходимость запуска большого числа серверов множества пользователей сильно ограничивала возможности такой системы.
Для обслуживания большого числа клиентов должно быть запущено большое количество одновременно работающих серверных процессов, а это повышало требования к ресурсам ЭВМ, на которой запускались все

серверные процессы.

Выделение сервера в отдельную программу было революционным шагом, который позволил, поместить сервер на одну машину, а программный интерфейс с пользователем  —

Слайд 5Проблемы, возникающие в модели «один к одному», решаются в архитектуре систем с выделенным сервером, который

способен обрабатывать запросы от многих клиентов.
Сервер единственный обладает монополией на управление данными и взаимодействует одновременно со многими клиентами
Проблемы, возникающие в модели «один к одному», решаются в архитектуре систем с выделенным сервером, который способен обрабатывать запросы от многих клиентов. Сервер

Слайд 6Каждый клиент связан с сервером отдельной нитью, или потоком, по которому пересылаются запросы.

Такая архитектура называется многопотоковой односерверной (multi-threaded). Она позволяет уменьшить нагрузку на ОС, при работе большого числа пользователей.

Однако такое решение имеет недостатки. Так как сервер может выполняться только на одном процессоре, возникает ограничение для мультипроцессорных платформ. Если компьютер имеет, например, четыре процессора, то СУБД с одним сервером используют только один. Эта проблема решается вводом промежуточного диспетчера. Подобная архитектура называется архитектурой виртуального сервера

(virtual server)

Каждый клиент связан с сервером отдельной нитью, или потоком, по которому пересылаются запросы. Такая архитектура называется многопотоковой односерверной (multi-threaded).

Слайд 7Архитектура виртуального сервера (virtual server)
В этой архитектуре клиенты подключаются к промежуточному звену, называемому

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

Однако и эта архитектура не лишена недостатков, в систему добавляется новый слой, который размещается между клиентом и сервером, что увеличивает трату ресурсов на поддержку баланса загрузки актуальных серверов и ограничивает возможности управления взаимодействием «клиент–сервер».
Во-первых, становится невозможным направить запрос от конкретного клиента конкретному серверу;
Во-вторых, серверы становятся равноправными — нет возможности устанавливать приоритеты для обслуживания запросов.
Архитектура виртуального сервера (virtual server)В этой архитектуре клиенты подключаются к промежуточному звену, называемому диспетчером, который выполняет только функции диспетчеризации

Слайд 8Современное решение проблемы СУБД для мультипроцессорных платформ заключается в возможности запуска нескольких

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

Многопотоковая мультисерверная архитектура

Современное решение проблемы СУБД для мультипроцессорных платформ заключается в возможности запуска нескольких серверов базы данных, в том числе и на различных

Слайд 9В данном случае серверные процессы не являются независимыми процессами. Эти серверные процессы принято

называть нитями (treads), и управление нитями множества запросов пользователей требует дополнительных расходов от СУБД, однако при оперативной обработке информации в хранилищах данных такой подход наиболее перспективен.

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

В данном случае серверные процессы не являются независимыми процессами. Эти серверные процессы принято называть нитями (treads), и управление нитями множества

Слайд 10Фсё, спасибо за внимание

Фсё, спасибо за внимание

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть