Слайд 1Распределенная обработка данных
Слайд 3Терминология
Системы распределенной обработки данных.
Системы распределенных баз данных.
Пользователь БД — программа
или человек, обращающийся к БД на ЯМД.
Запрос — процесс обращения
пользователя к БД с целью ввода, получения или изменения информации в БД.
Транзакция — последовательность операций модификации данных в БД, переводящая БД из одного непротиворечивого состояния в другое непротиворечивое состояние.
Слайд 4Терминология
Логическая структура БД — определение БД на физически независимом уровне,
ближе всего соответствует концептуальной модели БД.
Топология БД = Структура распределенной
БД - схема распределения физической БД по сети.
Удаленный запрос — запрос, который выполняется с использованием удаленной связи.
Возможность реализации удаленной транзакции обработка одной транзакции, состоящей из множества SQL-запросов на одном удаленном узле.
Слайд 5Терминология
Поддержка распределенной транзакции допускает обработку транзакции, состоящей из нескольких запросов
SQL, которые выполняются на нескольких узлах сети (удаленных или локальных),
но каждый запрос в этом случае обрабатывается только на одном узле, то есть запросы не являются распределенными. При обработке одной распределенной транзакции разные локальные запросы могут обрабатываться в разных узлах сети.
Распределенный запрос — запрос, при обработке которого используются данные из БД, расположенные в разных узлах сети.
Слайд 6Тенденции развития СУБД
DownSizing
UpSizing
RightSizing
Слайд 7Клиент-серверная обработка
функции ввода и отображения данных (Presentation Logic);
прикладные функции,
определяющие основные алгоритмы решения задач приложения (Business Logic);
функции обработки
данных внутри приложения (Database Logic);
функции управления информационными ресурсами (Database Manager System);
служебные функции, играющие роль связок между функциями первых четырех групп.
Слайд 9Presentation Logic
формирование экранных изображений;
чтение и запись в экранные формы
информации;
управление экраном;
обработка движений мыши и нажатие клавиш клавиатуры.
Модели: знако-ориентированный пользовательский интерфейс CICS (Customer Control Information System ), TSO (Time Sharing Option) для централизованной main-фреймовой архитектуры, GUI (графического пользовательского интерфейса).
Слайд 10Business processing Logic
Бизнес-логика, или логика собственно приложений (Business processing Logic),
— это часть кода приложения, которая определяет собственно алгоритмы решения
конкретных задач приложения.
Слайд 11Data manipulation Logic
Логика обработки данных (Data manipulation Logic) — это
часть кода приложения, которая связана с обработкой данных внутри приложения.
Данными управляет собственно СУБД. Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL.
Слайд 12Database Manager System Processing
Процессор управления данными (Database Manager System Processing)
— это собственно СУБД, которая обеспечивает хранение и управление базами
данных.
Слайд 13Архитектуры систем
В централизованной архитектуре (Host-based processing) эти части приложения располагаются
в единой среде и комбинируются внутри одной исполняемой программы.
В децентрализованной
архитектуре эти задачи могут быть по-разному распределены между серверным и клиентским процессами.
Слайд 14Распределенная архитектура
распределенная презентация (Distribution presentation, DP);
удаленная презентация (Remote Presentation,
RP);
распределенная бизнес-логика (Remote business logic, RBL);
распределенное управление данными
(Distributed data management, DDM);
удаленное управление данными (Remote data management, RDA).
Слайд 15Распределение функций приложения в моделях "клиент—сервер"
Слайд 16Модель файлового сервера (File Server, FS)
Слайд 17Достоинство модели файлового сервера
Достоинства этой модели в том, что
мы уже имеем разделение монопольного приложения на два взаимодействующих процесса.
Слайд 18Недостатки модели файлового сервера
высокий сетевой трафик, который связан с
передачей по сети множества блоков и файлов, необходимых приложению;
узкий
спектр операций манипулирования с данными, который определяется только файловыми командами;
отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы).
Слайд 19Модель удаленного доступа к данным (Remote Data Access, RDA)
Слайд 20Достоинства RDA
перенос компонента представления и прикладного компонента на клиентский компьютер
существенно разгрузил сервер БД, сводя к минимуму общее число процессов
в операционной системе;
сервер БД освобождается от несвойственных ему функций; процессор или процессоры сервера целиком загружаются операциями обработки данных, запросов и транзакций.
резко уменьшается загрузка сети.
Слайд 21Недостатки RDA
Запросы на языке SQL при интенсивной работе клиентских приложений
могут существенно загрузить сеть;
Излишнее дублирование кода приложений;
сервер в
этой модели играет пассивную роль, поэтому функции управления информационными ресурсами должны выполняться на клиенте.
Слайд 23Модель сервера баз данных
Данную модель поддерживают большинство современных СУБД: Informix,
Ingres, Sybase, Oracle, MS SQL Server.
Основу данной модели составляет
механизм хранимых процедур как средство программирования SQL-сервера, механизм триггеров как механизм отслеживания текущего состояния информационного хранилища и механизм ограничений на пользовательские типы данных, который иногда называется механизмом поддержки доменной структуры.
Недостатком данной модели является очень большая загрузка сервера.
Слайд 25Модель сервера приложений
Эта модель обладает большей гибкостью, чем двухуровневые модели.
Наиболее заметны преимущества модели сервера приложений в тех случаях, когда
клиенты выполняют сложные аналитические расчеты над базой данных, которые относятся к области OLAP-приложений. (On-line analytical processing.)
Функции промежуточных серверов могут быть в этой модели распределены в рамках глобальных транзакций путем поддержки XA-протокола (X/Open transaction interface protocol), который поддерживается большинством поставщиков СУБД.
Слайд 26Модели серверов баз данных
Нулевая (модель, когда управление данными (функция сервера)
и взаимодействие с пользователем были совмещены в одной программе)
«Один-к-одному», то
есть сервер обслуживает запросы только одного пользователя (клиента), и для обслуживания нескольких клиентов запускается эквивалентное число серверов.
Многопотоковой односерверной ("multi-threaded") , где каждый клиент связан с сервером отдельной нитью ("thread"), или потоком, по которому пересылаются запросы.
Слайд 27Модели серверов баз данных
Архитектура виртуального сервера ("virtual server"), где клиенты
подключаются не к реальному серверу, а к промежуточному звену, называемому
диспетчером, который выполняет только функции диспетчеризации запросов к актуальным серверам.
Многопотоковая архитектура, которая заключается в возможности запуска нескольких серверов базы данных, в том числе и на различных процессорах.
Слайд 28Модели серверов баз данных
Один-ко-одному
Multi-threaded
Слайд 29Модели серверов баз данных
Архитектура с виртуальным сервером
Многопотоковая архитектура