Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файлсервер». Двух и трехуровневая архитектура «клиент-сервер». Модель сервера приложений Свойства «идеальной» системы управления распределенными базами данных Прозрачность относительно расположения данных Прозрачность относительно сети Гетерогенность системы Поддержка распределенных запросов Поддержка распределенных изменений Поддержка распределенных транзакций Безопасность Универсальность доступа Признаки классификации режимов работы с БД многозадачность однопользовательский / многопользовательский правило обслуживания запросов последовательное / параллельное схема размещение данных централизованная / распределенная БД Группы (уровни) функций «типового» приложения обработки данных Ввод и отображение данных Функциональная обработка, реализующая алгоритм решения задач пользователя Манипулирование данными БД в рамках приложения Управление ресурсами БД Управление процессами обработки Модель «клиент-сервер» Клиент Целевая обработка данных и организация взаимодействия с пользователем Сервер Хранение данных, обработка запросов и отсылка результатов клиенту для специальной обработки Архитектура «файл-сервер» Клиент Сервер Представление данных Функциональная обработка Управление данными СУБД Файловая система БД Архитектура «файл-сервер» Достоинство - возможность обслуживания запросов нескольких клиентов Недостатки: высокая загрузка сети и машин-клиентов низкий уровень защиты данных низкий уровень управления целостностью и непротиворечивостью информации Архитектура «выделенный сервер БД» Клиент Представление данных Функциональная обработка Сервер Управление данными СУБД БД Архитектура «выделенный сервер БД» Достоинства: возможность обслуживания запросов нескольких клиентов снижение нагрузки на сеть и машины сервера и клиентов защита данных осуществляется средствами СУБД сервер реализует управление транзакциями Недостатки: повторение части кода программ и запросов низкий уровень управления непротиворечивостью информации Архитектура «активный сервер БД» Клиент Представление данных Функциональная обработка Сервер Управление данными Функциональная обработка (триггеры, хранимые проц.) СУБД БД Архитектура «активный сервер БД» Достоинства: снижается дублирование программных кодов отпадает необходимость компиляции каждого запроса Недостатки: существенно возрастает загрузка сервера за счет необходимости отслеживания событий и выполнения части бизнес-правил Архитектура «сервер приложений» Клиент Представление данных Функциональная обработка Сервер приложений Сервер БД Управление данными СУБД БД Бизнес-логика Достоинства: централизованное ведение бизнес-логики отсутствие необходимости установки на клиентских машинах компонент программного обеспечения управления доступом к данным возможность отложенного обновления БД в случае изменения данных Распределение функций обработки логики запроса