Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РУБД - Распределенные базы данных(метод).doc
Скачиваний:
5
Добавлен:
27.08.2019
Размер:
584.7 Кб
Скачать

1. Введение в технологию клиент-сервер Логическая модель рбд

Логическая модель РБД строится на 3-х уровнях (слоях) абстракции данных: представления информации, обработки (бизнес-логики) и хранения. Слои образуют строгую иерархию: слой бизнес -- логики взаимодействует со слоями хранения и представления. Физически, слои могут входить в состав одного программного модуля, или же распределяться на нескольких параллельных процессах в одном или нескольких узлах сети. Каждый слой обрабатывается соответственно функциями стандартного интерактивного приложения. На верхнем уровне абстрагирования взаимодействия клиента и сервера достаточно четко можно выделить следующие компоненты:

  • слой представления информации; функции ввода и отображения данных или презентационная логика (Presentation Layer- PL); -- Обеспечивает интерфейс с пользователем. Как правило, получение информации от пользователя происходит посредством различных форм. А выдача результатов запросов - посредством отчетов.

  • слой бизнес-логики; прикладные функции, характерные для данной предметной области или бизнес-логика (Business Layer- BL); -- Связующий, именно он определяет функциональность и работоспособность системы в целом. Блоки программного кода распределены по сети и могут использоваться многократно (CORBA, DCOM) для создания сложных распределенных приложений.

  • слой хранения данных; фундаментальные функции хранения и управления информационными ресурсами (базами данных, файловыми системами и т.д.) или логика доступа к ресурсам (Accesss LayerAL) -- Обеспечивает физическое хранение, добавление, модификацию и выборку данных. На данный слой также возлагается проверка целостности и непротиворечивости данных, а также реализацию разделенных транзакций.

  • служебные функции, играющие роль связок между функциями первых трех групп.

В соответствии с этим в любом приложении выделяются следующие логические компоненты:

  • компонент представления, реализующий функции первой группы;

  • прикладной компонент, поддерживающий функции второй группы;

  • компонент доступа к информационным ресурсам, поддерживающий функции третьей группы;

  • протокол взаимодействия.

Различия в реализациях технологии определяются четырьмя факторами.

  • в какие виды программного обеспечения интегрирован каждый из этих компонентов.

  • тем, какие механизмы программного обеспечения используются для реализации функций всех четырех групп.

  • как логические компоненты распределяются между компьютерами в сети.

  • какие механизмы используются для связи компонентов между собой.

Слои распределенной системы могут быть по-разному реализованы и исполняться в разных узлах сети. Обычно рассматриваются следующие архитектуры

Слой \ Тип архитектуры

Файл-сервер

Клиент-сервер (Бизнес-логика на клиенте)

Клиент-сервер (бизнес-логика на сервере)

N-уровневая архитектура

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

Клиент

Клиент

Клиент

Клиент

Бизнес- логики

Клиент

Клиент

Сервер БД

Сервер приложений (комп. кластер)

Хранения

Файл-сервер (или клиент)

Все три слоя образуют единый программный модуль

Сервер БД

Пользоват. Интерфейс и бизнес-логика образуют единый модуль. Данные хранятся на сервере БД

Сервер БД

Вся бизнес логика реализована в виде хранимых процедур, исполняемых на сервере БД

Сервер БД

Все слои исполняются на разных машинах.

Таким образом, можно придти к нескольким моделям клиент-серверного взаимодействия:

Классификация архитектур информационных систем не является абсолютно жесткой, наиболее типичная классификация:

1. Система совместного использования файлов – FS-модель Архитектура системы БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут также создавать на рабочих станциях локальные БД, которые используются ими монопольно.

В соответствии с этой моделью один из компьютеров в сети считается файловым сервером и предоставляет услуги по обработке файлов другим компьютерам и играет роль компонента доступа к информационным ресурсам (то есть к файлам). Файл-сервер представляет собой разделяемое всеми PC комплекса расширение дисковой памяти. На других компьютерах в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент. Протокол обмена представляет собой набор низкоуровневых вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере. В системах, построенных по архитектуре файл-сервера все слои системы представляют единое и неделимое целое. БД хранится в виде файла или набора файлов на файл-сервере. Вся логика выборки, хранения и обеспечения непротиворечивости данных возлагается на клиентскую часть. Файл-серверные системы ориентированы на работу с отдельными записями в таблице.

Достоинства

  1. Простота логики.

  2. Низкие требования к аппаратному обеспечению и малый объем требуемой памяти.

  3. Не требуют надежных многозадачных и многопользовательских ОС.

  4. Невысокая цена СУБД.

Недостатки

  1. Ограниченность языка и негибкость среды разработки приложений

  2. Слабая масштабируемость

  3. Не обеспечивают многопользовательский режим работы

  4. Трудно поддерживать целостность и непротиворечивость данных

  5. Необходимость ручной блокировки записей или таблиц целиком.

  6. Низкий уровень защищенности как внешней (от взлома), так и внутренней (от ошибок приложений) Например индексы отдельно от таблиц.

  7. Не имеют средств шифрации сетевого трафика

  8. Создают высокую нагрузку на сеть

Выводы

Файл-серверная архитектура является достаточно привлекательной альтернативой для создания однопользовательских ИС со слабыми требованиями к защите данных. В целом, в файл-серверной архитектуре имеем "толстого" клиента и очень "тонкий" сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.

Рис.1.3. Модель файлового сервера.

Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL (Structured Query Language

2. Система удаленной обработки или распределенное представление – предполагает мощный компьютер-сервер, а клиентская часть практически вырождена. Функцией клиентской части является просто отображение информации на экране. Модель данного типа имели СУБД ранних поколений, которые работали на малых, средних и больших ЭВМ, использовался я один компьютер с одним процессором.

3. Удаленный доступ к данным (Remote Data Access -- RDA) отличается от FS-модели характером компонента доступа к информационным ресурсам. Это, как правило, SQL-сервер.

В RDA-модели программы реализующие функции представления информации (коды компонента представления) и логику прикладной обработки(прикладная компонента), совмещены и выполняются на компьютере-клиенте. Последний поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Обращение за сервисом управления данными происходит через среду передачи с помощью операторов языка SQL или вызовов функций специальной библиотекой API (Application Programming Interfase- интерфейса прикладного программирования). Наиболее часто встречающийся вариант реализации архитектуры клиент-сервер в уже внедренных и активно используемых системах. Такая модель обеспечивает полную децентрализацию управления бизнес-логикой. Однако в случае необходимости выполнения каких-либо изменений в клиентском приложении придется менять исходный код. Серверная часть, при описанном подходе, представляет собой сервер баз данных, реализующий AL.

В данных системах хранение, выборка и поддержание непротиворечивости данных возлагается на сервер БД, а вся бизнес-логика и логика представления исполняются на клиентских машинах. Так как все операции по манипулированию данными осуществляются только через сервер, производительность и сохранность данных зависит только от сервера БД. Серверы БД изначально рассчитаны на многопользовательский режим работы, имеют эффективные алгоритмы кеширования данных. Современные серверы имеют хорошую масштабируемость.

Клиентская часть обменивается данными с сервером посредством SQL запросов. Обработка информации в клинт-серверных системах ведется на уровне множества кортежей.

Процесс разработки разделяется на создание БД и написание клиентской части с бизнес-логикой.

Рис 1.4. Модель доступа к удаленным данным.

Достоинства:

  1. большое обилие готовых СУБД, имеющих SQL-интерфейсы;

  2. унификация интерфейса "клиент-сервер" в виде языка SQL

  3. Высокая производительность, стабильность и надежность при многопользовательской работе.

  4. Легко организуется защита данных (шифрование сетевого трафика SSH, SSL)

  5. Универсальность языка определения и манипулирования данными

Недостатки

  1. Более высокая цена СУБД. (сервер БД продается отдельно).

  2. Достаточно высокие требования к квалификации разработчиков

  3. Навыки администрирования сервера БД

  4. Повышенные требования к пропускной способности сети

  5. Повышенные требования к клиентским местам (на них выполняется высокая загрузка систем передачи данных;

  6. Неудобны с точки зрения разработки, модификации и сопровождения.

Выводы

При количестве пользователей от 2 до ~50 она является хорошим вариантом. С ростом числа пользователей начинает сказываться недостаточная пропускная способность сети.