Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
1.37 Mб
Скачать

Эволюция серверов баз данных

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

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

-сервер - клиент

1. Централизованная архитектура 2. Архитектура "один-к-одному"

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

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

сеть

3. Размещение клиента и сервера 4. Многопотоковая архитектура

на различных машинах

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

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

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

5. Архитектура с виртуальным 6. Многопотоковая, многосерверная

сервером архитектура

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]