Файл: Управление данными (пособие).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 1618

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

15. 

Распределенные

 

системы

Архитектура

 

клиент

-

сервер

 

 

Из

 

материала

 

предыдущих

 

разделов

 

видно

что

 

работающее

 

с

 

базой

 

данных

 

программное

 

обеспечение

 

должно

 

выполнять

 

следующие

 

функции

 

управление

 

информационными

 

ресурсами

 

базы

 

данных

обеспечение

 

целостности

 

данных

 

обработка

 

и

 

интерпретация

 

данных

 

в

 

соответствие

 

с

 

алгоритмами

 

решения

 

конкретных

 

пользовательских

 

задач

  (

так

 

называемая

 

бизнес

-

логика

 

прикладных

 

задач

); 

 

функции

 

ввода

 

и

 

отображения

 

информации

 (

презентационная

 

логика

). 

Ранее

в

 «

досетевую

» 

эпоху

 

компьютерных

 

систем

сама

 

база

 

данных

 

и

 

все

 

работающее

 

с

 

ней

 

программное

 

обеспечение

 

размещалось

 

на

 

одном

 «

большом

» 

компьютере

 – 

мэйнфрейме

 (main frame) 

и

 

реализовывало

 

все

 

необходимые

 

функции

 

по

 

управлению

 

данными

выполнения

 

бизнес

-

логики

вводу

 

данных

 

и

 

их

 

отображению

 

на

 

соответствующих

 

терминальных

 

устройствах

  (

см

рис

15.1). 

Пользователи

 

таком

 

компьютере

 

базой

 

данных

 

с

 

или

 

других

 

периферийных

 

 

 

работали

 

с

 

общей

расположенной

 

на

помощью

 

видео

-

терминалов

  (

дисплеев

устройств

 

ввода

-

вывода

 

информации

 

Рис

. 15.1. 

ИС

 

с

 

базой

 

данных

 

на

 

компьютере

-

мэйнфрейме

 


background image

 

197

С

 

появлением

 

в

 

восьмидесятые

 

годы

 

персональных

 

ЭВМ

 

наступил

 

период

 

массового

 

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

 

локальных

 

персональных

 

информационных

 

систем

 

с

 

базами

 

данных

Каждая

 

такая

 

персональная

 

система

 

представляла

 

собой

по

 

сути

, «

маленький

 

мэйнфрейм

», 

реализующий

 

все

 

три

 

группы

 

функций

 

информационной

 

системы

 

с

 

собственной

 

базой

 

данных

используемой

 

персонально

 

одним

 

пользователем

По

 

сравнению

 

с

 

классическим

 

многопользовательским

 

мэйнфреймом

 

такие

 

информационные

 

системы

 

явились

  «

шагом

 

назад

» 

с

 

точки

 

зрения

 

соответствия

 

требованиям

 

к

 

информационным

 

системам

 

с

 

базами

 

данных

  (

см

Введение

), 

в

 

частности

их

 

принципиальным

 

недостатком

 

было

 

отсутствие

 

интеграции

 

данных

что

 

приводило

 

к

 

дублированию

 

данных

 

и

 

проблемам

 

с

 

обеспечением

 

их

 

актуальности

непротиворечивости

 

и

 

целостности

.   

Современные

 

информационные

 

системы

как

 

правило

представляют

 

собой

 

компьютеры

объединенные

 

в

 

сети

Возможность

 

оперативного

 

обмена

 

информацией

 

между

 

компьютерными

 

системами

 

в

 

сетевой

 

инфокоммуникационной

 

среде

 

позволяет

 

совершенно

 

по

-

новому

 

ставить

 

вопрос

 

о

 

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

 

функций

 

между

 

такими

 

системами

Причем

в

 

этом

 

случае

 

возможны

 

самые

 

различные

 

варианты

 

такого

 

распределения

 

и

 

построения

 

архитектуры

 

информационной

 

системы

.  

Исходя

 

из

 

общего

 

назначения

 

информационной

 

системы

 – 

предоставление

 

пользователям

 

определенных

 

информационных

 

услуг

 

или

 

сервисов

 – 

информационную

 

систему

 

с

 

базой

 

данных

 

можно

 

представить

 

как

 

систему

 

с

 

простой

 

структурой

состоящей

 

из

 

двух

 

частей

 – 

сервера

  (

стороны

предоставляющей

 

информационный

 

сервис

и

 

клиента

  (

стороны

получающей

 

этот

 

сервис

). 

В

 

сетевой

 

компьютерной

 

среде

 

функции

 

сервера

 

и

 

клиента

 

могут

 

быть

 

распределены

 

самым

 

различным

 

образом

одни

 

компьютеры

 

могут

 

выполнять

 

роль

 

сервера

 (

серверов

), 

другие

 

клиентов

причем

 

в

 

разное

 

время

 

это

 

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

 

ролей

 

может

 

меняться

более

 

того

в

 

зависимости

 

от

 

рассматриваемых

 

функций

клиент

 

и

 

сервер

 

могут

 

быть

 

локализованы

 

на

 

одном

 

и

 

том

 

же

 

компьютере

Упомянутая

 

выше

 

мэйнфреймовая

 

система

 

может

 

с

 

этой

 

точки

 

зрения

 

рассматриваться

 

как

 

такой

 

частный

 

случай

.  

 
 

Архитектура

 

с

  

файловым

 

сервером

 

Простейшей

 

сетевой

 

реализацией

 

системы

когда

 

база

 

данных

 

и

 

прикладное

 

программное

 

обеспечение

 

расположены

 

на

 

разных

 

компьютерах

является

 

сетевая

 

архитектура

 

с

 

файловым

 

сервером

В

 

этом

 

случае

 

файлы

 

базы

 

данных

 

хранятся

 

на

 

одном

 

компьютере

 – 

файловом

 

сервере

а

 

работающее

 

с

 

данными

 

прикладной

 

программное

 

обеспечение

 

информационной

 

системы

 

на

 

другом

 

или

 

других

 

компьютерах

 – 

рабочих

 

станциях

 (

см

рисунок

 15.2). 


background image

 

198

 

 

Рис

. 15.2. 

Архитектура

 

с

 

файловым

 

сервером

 

Все

 

функции

 

информационной

 

системы

кроме

 

функций

 

управления

 

файлами

 

данных

а

 

именно

 

функции

 

по

 

управлению

 

информационными

 

ресурсами

 

базы

 

данных

обеспечению

 

целостности

 

данных

 (

логика

 

базы

 

данных

);  

 

функции

 

по

 

обработке

 

и

 

интерпретации

 

данных

 

в

 

соответствии

 

с

 

решаемой

 

прикладной

 

задачей

 (

бизнес

-

логика

);  

 

функции

 

формирования

 

экранных

 

форм

 

для

 

ввода

 

и

 

отображения

 

данных

обработка

 

манипуляций

 

мыши

 

и

 

клавиатуры

 (

презентационная

 

логика

);  

 

а

 

также

 

мета

-

данные

 

базы

 

данных

  (

информация

 

о

 

ее

 

схеме

правилах

 

обеспечения

 

целостности

 

данных

 

и

 

т

.

д

., 

иными

 

словами

 – «

данные

 

о

 

данных

»); 

реализуются

 

в

 

данном

 

случае

 

соответствующим

 

программным

 

обеспечением

располагающимся

 

на

 

компьютере

 (

компьютерах

клиентской

 

стороны

.  

Достоинством

 

такой

 

системы

 

по

 

сравнению

 

с

 

мэйнфреймовой

 

является

 

возможность

 

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

 

общих

 

данных

расположенных

 

на

 

одном

 

общем

 

компьютере

-

сервере

различными

 

прикладными

 

программами

расположенными

 

на

 

разных

 

компьютерах

 – 

рабочих

 

станциях

В

 

этом

 

случае

 

также

 

снижается

 

нагрузка

 

на

 

компьютер

выполняющим

 

функции

 

сервера

так

 

как

 

он

 

освобождается

 

от

 

реализации

 

функций

 

логики

 

базы

 

данных

бизнес

-

логики

 

прикладных

 

задач

наконец

функций

 

по

 

вводу

 

и

 

отображению

 

данных

 

с

 

использованием

 

современных

 

средств

 

графического

 

интерфейса

и

следовательно

снижаются

 

требования

 

к

 

аппаратным

 

ресурсам

 

компьютера

-

сервера

.  

Представителями

 

такого

 

рода

 

файл

-

серверных

 

систем

 

баз

 

данных

 

являются

 

широко

 

распространенные

 

вплоть

 

до

 

настоящего

 

времени

 

программные

 

комплексы

: Dbase, FoxPro, Clipper, Clarion, Paradox 

и

 

др


background image

 

199

Выполнение

 

в

 

системе

 

файл

-

сервер

 

информационного

 

запроса

 

пользователя

например

запроса

 

на

 

поиск

 

и

 

выборку

 

записей

 

базы

 

данных

удовлетворяющих

 

определенному

 

условию

осуществляются

 

путем

 

обращения

 

клиентской

 

прикладной

 

программы

 

через

 

сеть

 

к

 

операционной

 

системе

 

файлового

 

сервера

  (

ее

 

подсистемы

 

управления

 

файлами

), 

последовательному

 

считыванию

 

и

 

передачу

 

по

 

сети

 

на

 

клиентскую

 

сторону

 

записей

 

соответствующего

 

файла

 

базы

 

данных

и

затем

обработки

 

и

 

интерпретации

 

этих

 

данных

 

на

 

клиентской

 

стороне

 

прикладной

 

программой

Таким

 

образом

для

 

того

чтобы

 

пользователь

 

смог

 

получить

 

из

 

базы

 

данных

 

несколько

 

записей

удовлетворяющих

 

заданному

 

им

 

условию

система

 

должна

 

будет

 

предать

 

по

 

сети

 

все

 

записи

 

соответствующего

 

файла

 

базы

 

данных

Таким

 

образом

очевидным

 

недостатком

 

систем

 

с

 

базами

 

данных

построенных

 

по

 

архитектуре

 

файлового

 

сервера

является

 

то

что

 

сетевой

 

трафик

 

в

 

этом

 

случае

 

оказывается

 

перегруженным

 

из

-

за

 

необходимости

 

передачи

 

большого

 

количества

 

информации

оказывающейся

 

в

 

конечном

 

итоге

 

пользователю

 

бесполезной

Не

 

случайно

что

 

при

 

увеличении

 

размеров

 

базы

 

данных

уже

 

при

 

небольшом

 

числе

 

рабочих

 

станций

-

клиентов

 

эффективность

 

такого

 

рода

 

файл

-

серверных

 

информационных

 

систем

 

становится

 

совершенно

 

не

 

удовлетворительной

.  

Другим

 

существенным

 

недостатком

 

файл

-

серверных

 

систем

 

с

 

базами

 

данных

 

является

 

низкий

 

уровень

 

возможности

 

обеспечения

 

в

 

них

 

безопасности

 

данных

 (

обеспечения

 

их

 

целостности

защищенности

 

от

 

несанкционированного

 

доступа

от

 

системных

 

сбоев

), 

так

 

как

 

для

 

решения

 

этих

 

проблем

 

могут

 

быть

 

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

 

только

 

низкоуровневые

 

средства

 

подсистемы

 

управления

 

файловыми

 

ресурсами

 

операционной

 

системы

 

файлового

 

сервера

Обеспечить

 

запрет

 

операций

 

нарушающих

 

целостность

 

данных

 

на

 

уровне

 

концептуальной

 

схемы

 

базы

 

данных

 (

целостность

 

первичных

 

ключей

ссылочную

 

целостность

 

и

 

т

.

д

.) 

файловый

 

сервер

 

в

 

принципе

 

не

 

может

.  

Средства

 

манипуляции

 

данными

 

на

 

самом

 

файловом

 

сервере

 

в

 

таких

 

системах

 

ограничиваются

 

узким

 

спектром

 

файловых

 

команд

 

операционной

 

системы


background image

 

200

Сервер

 

базы

 

данных

 

Современная

 

архитектура

 

клиент

-

сервер

позволяет

 

строить

однако

гораздо

 

более

 

эффективные

 

схемы

 

взаимодействия

 

в

 

сети

 

серверной

 

и

 

клиентской

 

компонент

 

информационной

 

системы

 

с

 

базами

 

данных

В

 

системах

основанных

 

на

 

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

 

так

 

называемого

 

сервера

 

базы

 

данных

 

функции

 

управления

 

информационными

 

ресурсами

 

базы

 

данных

включая

 

исполнение

 

информационных

 

запросов

функции

 

обеспечения

 

целостности

 

данных

разграничение

 

доступа

 

к

 

данным

 

и

 

их

 

защиту

возложены

 

на

 

специальные

 

программные

 

средства

Эту

 

роль

 

выполняет

 

программный

 

комплекс

 – 

система

 

управления

 

базой

 

данных

  (

СУБД

), 

которая

 

располагается

 

на

 

том

 

же

 

компьютере

что

 

и

 

файлы

 

базы

 

данных

В

 

такой

 

системе

 

любой

 

доступ

 

к

 

данным

  (

поиск

выборка

ввод

модификация

удаление

 

данных

возможен

 

только

 

через

 

запросы

 

к

 

серверу

 

базы

 

данных

  (

к

 

СУБД

), 

который

 

уже

 

сам

 

взаимодействует

 

с

 

операционной

 

системой

 

сервера

 

для

 

получения

 

доступа

 

к

 

файлам

 

данных

Непосредственный

 

доступ

 

к

 

файлам

 

данных

 

средствами

 

операционной

 

системы

минуя

 

СУБД

блокируется

На

 

программное

 

обеспечение

 

клиентской

 

стороны

  (

рабочих

 

станций

возлагаются

 

в

 

этом

 

случае

 

функции

 

по

 

реализации

 

обработки

 

и

 

интерпретации

 

данных

 

в

 

соответствии

 

с

 

алгоритмами

 

бизнес

-

логики

 

решения

 

конкретных

 

пользовательских

 

задач

 

и

 

все

 

интерфейсные

 

функции

 

ввода

 

и

 

отображения

 

информации

 (

презентационная

 

логика

). 

Взаимодействие

 

клиентской

 

и

 

серверной

 

сторон

 

осуществляется

 

в

 

этом

 

случае

 

путем

 

формирования

 

клиентом

 

и

 

передачи

 

по

 

сети

 

серверу

 

базы

 

данных

 

соответствующих

 

информационных

 

запросов

  (

в

 

современных

 

системах

 

на

 

языке

 SQL). 

Эти

 

запросы

 

интерпретируются

 

и

 

выполняются

 

программным

 

обеспечением

 

сервера

 

базы

 

данных

  (

СУБД

), 

который

 

затем

если

 

это

 

необходимо

возвращает

 

клиенту

 

по

 

сети

 

результат

 

исполнения

 

запроса

то

 

есть

 

только

 

полезную

затребованную

 

информацию

Схема

 

взаимодействия

 

клиента

 

и

 

сервера

 

в

 

рассматриваемом

 

случае

 

представлена

 

на

 

рисунке

 15.3. 

 

Рис

. 15.3. 

Архитектура

 

клиент

-

сервер

 

с

 

использованием

 

сервера

 

БД