Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bd lections / распред_БД.ppt
Скачиваний:
34
Добавлен:
27.03.2016
Размер:
164.86 Кб
Скачать

Пути повышения эффективности и оперативности обслуживания большого числа клиентских запросов

снижение суммарного

распараллеливание

расхода памяти и

процесса обработки

вычислительных

запроса – использование

ресурсов за счет

разных процессоров для

буферизации

параллельной обработки

(кэширования) и

изолированных

совместного

подзапросов и/или для

использования

одновременного

наиболее часто

обращения к частям базы

запрашиваемых

данных, размещенным на

данных и процедур

отдельных физических

(разделяемые ресурсы)

носителях

Архитектура «один к одному»

Запрос 1 Серверный процесс 1

Процессор БД

Запрос N Серверный процесс N

Для обслуживания каждого запроса запускается свой серверный процесс: если от клиентов поступят совершенно одинаковые запросы, для их обработки каждого из них будет запущен отдельный процесс, каждый из которых будет

выполнять одинаковые действия и использовать одни и те же ресурсы

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

 

Сервер-процесс

 

 

 

 

Запрос 1

 

Поток 1

 

 

 

 

 

Процессор БД

Запрос N

Поток N

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

Мультисерверная архитектура

Запрос 1

Запрос 2

Запрос N

Серверный процесс Процессор

Диспетчер

Серверный Процессор процесс

БД

СУБД имеет мультисерверную многопотоковую архитектуру: серверный процесс реализуется как многопоточное приложение.

Характер распределения запросов зависит от того, поддерживает ли операционная система потоковую обработку, а также от возможностей средств управления приоритетами задач

Серверные архитектуры с параллельной обработкой запроса

Подзапрос1

Серверны й процесс

Подзапрос 2

Запрос

Подзапрос N

 

 

 

Серверны

 

 

 

й процесс

 

 

 

 

 

 

 

 

 

Процессор Сегмент БД

Процессор Сегмент БД

Сегментирование (размещение хранимых данных на нескольких физических носителях) - модель горизонтального параллелизма.

Разбиение запроса на взаимосвязанные по результатам подзапросы - модель вертикального параллелизма.

Доступ к базам данных в

двухзвенных моделях клиент-

Клиент

сервер

Сервер

 

Прикладная

 

 

программа

 

СУБД

Библиотечные

 

 

 

функции

 

 

Драйвер СУБД

 

 

Драйвер сети

 

Драйвер сети

 

 

 

Сеть

 

Открытый интерфейс доступа к базам данных (ODBC - Open Database Connectivity)

 

Прикладная

 

 

программа

 

ODBС-driver manager

 

локальный

ODBС-

ODBС-

ODBС-

драйвер

драйвер

драйвер

СУБД 2

СУБД 1

Файловая

Драйвер сети

система

 

 

Локальный

 

Сеть

 

 

диск

 

 

СУБД 1

 

СУБД 2

 

 

 

 

 

 

 

 

 

 

Драйвер

 

Драйвер

сети

 

сети

Взаимосвязь механизмов доступа к данным

 

 

 

Сервер БД

Клиентское приложение для работы с БД

 

ADO

 

BDE

База данных

 

 

OLE DB

ODBC Link

SQL Link

 

 

ODBC

 

 

Программное обеспечение клиента СУБД

СУБД

Механизм доступа к внешнему источнику данных

Соседние файлы в папке bd lections