- •Распределенная обработка данных
- •Свойства «идеальной» системы управления распределенными базами данных
- •Признаки классификации режимов работы с БД
- •Технологии обработки данных
- •Группы (уровни) функций «типового» приложения обработки данных
- •Архитектура «файл-сервер»
- •Архитектура «выделенный сервер
- •Архитектура «активный сервер БД»
- •Архитектура «сервер приложений»
- •Пути повышения эффективности и оперативности обслуживания большого числа клиентских запросов
- •Архитектура «один к одному»
- •Многопотоковая односерверная архитектура
- •Мультисерверная архитектура
- •Серверные архитектуры с параллельной обработкой запроса
- •Доступ к базам данных в
- •Открытый интерфейс доступа к базам данных (ODBC - Open Database Connectivity)
- •Взаимосвязь механизмов доступа к данным
- •Механизм доступа к внешнему источнику данных
Пути повышения эффективности и оперативности обслуживания большого числа клиентских запросов
снижение суммарного |
распараллеливание |
расхода памяти и |
процесса обработки |
вычислительных |
запроса – использование |
ресурсов за счет |
разных процессоров для |
буферизации |
параллельной обработки |
(кэширования) и |
изолированных |
совместного |
подзапросов и/или для |
использования |
одновременного |
наиболее часто |
обращения к частям базы |
запрашиваемых |
данных, размещенным на |
данных и процедур |
отдельных физических |
(разделяемые ресурсы) |
носителях |
Архитектура «один к одному»
Запрос 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 |
|
|
Программное обеспечение клиента СУБД |
СУБД |