Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двухуровневые модели.






Эти модели фактически являются распределением пяти указанных функций между двумя процессами, которые выполняются на двух платформах - клиенте и сервере.

Модель файлового сервера “файл-сервер”(File Server, FS)

В этой модели BL и PL располагаются на клиенте. На сервере располагаются файлы с данными и доступ к ним. Функции управления информационными ресурсами в этой модели находятся на клиенте.

Модель файл-сервера.

В этой модели файлы БД хранятся на сервере, клиент обращается к серверу с файловыми командами, а механизм управления всеми информационными ресурсами (база метаданных (БМД)) находится на клиенте.

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

· разделение монопольного приложения на два взаимодействующих процесса.

· сервер может обслуживать множество клиентов, которые обращаются к нему с запросами.

Алгоритм выполнения запроса клиента.

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

Модель «клиент-сервер» с бизнес-логикой на клиенте

В модели удаленного доступа (RDA) база данных хранится на сервере. На нем же находится и ядро СУБД. На клиенте располагаются PL и BL приложения. Клиент обращается к серверу с запросами на языке SQL.

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

· перенос компонента представления и прикладного компонента на клиентский ПК существенно разгружает сервер БД, сводя к минимуму общее число процессов в ОС.

· процессор сервера целиком загружается операциями обработки данных, запросов и транзакций.

· резко уменьшается загрузка сети, запросы на ввод-вывод и на SQL уменьшаются в объеме, т.е. в ответ на запросы клиент получает только данные, удовлетворяющие данному запросу.

· унификация интерфейса клиент-сервер.

· стандартным при обращении приложения клиента и сервера становится язык SQL.

Недостатки:

· запросы на SQL при интерактивной работе клиента могут существенно загрузить сеть.

· на клиенте располагаются PL и BL, и если при повторении аналогичных функций в различных приложениях (других клиентов) их код должен быть повторен для каждого клиентского приложения, следовательно, дублирование кода приложения.

· сервер в этой модели играет пассивную роль, поэтому функции управления информационными ресурсами должны выполняться на клиенте => это усложняет клиентское приложение.

Модель «клиент-сервера» с бизнес-логикой на сервере

Для того, чтобы избавиться от недостатков модели удаленного доступа должны быть соблюдены следующие условия:

1 Данные, которые хранятся в БД в каждый момент времени должны быть непротиворечивы.

2 БД должна отображать некоторые правила ПО, законы ПО.

3 Необходим постоянный контроль за состоянием БД, отслеживание всех изменений и адекватная реакция на них.

4 Возникновение некоторой ситуации в БД четко и оперативно должно влиять на ход выполнения прикладной задачи.

5 Одной из важных проблем СУБД является контроль типов данных через язык описания данных (ЯОД).

Модель активного сервера.

Данную модель поддерживают большинство современных СУБД: Informix, Ingres, Sybase, Oracle, MS SQL Server.

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

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

Трафик обмена информацией между клиентом и сервером резко уменьшается.

Централизованный контроль в данной модели выполняется с использованием механизма триггеров, которые являются частью БД.

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

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

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

· Хранимые процедуры и триггеры хранятся в словаре БД и могут быть использованы несколькими клиентами => уменьшается дублирование алгоритмов обработки данных в разных клиентских приложениях.

Недостатки:

· Очень большая загрузка сервера.

Функции сервера:

1 Осуществляет мониторинг событий, связанных с описанными триггерами;

2 Обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ними событий;

3 Обеспечивает исполнение внутренней программы каждого триггера;

4 Запускает хранимые процедуры по запросам пользователей;

5 Запускает хранимые процедуры из триггеров;

6 Возвращает требуемые данные клиенту;

7 Обеспечивает все функции СУБД: доступ к данным, контроль и поддержка целостности данных в БД, контроль доступа, обеспечение корректной работы всех пользователей с единой БД.

Многоуровневые модели. Модель сервера приложений

Для разгрузки сервера была предложена 3-уровневая модель сервера:

Эта модель является расширением двухуровневой модели, т.е. вводится дополнительный промежуточный уровень между клиентом и сервером. В этой модели компоненты приложения делятся между тремя исполнителями:

1 Клиент - обеспечивает логику представления, включая графический пользовательский интерфейс, локальные редакторы.

2 Серверы приложений - составляют новый, промежуточный уровень архитектуры.

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

4 Серверы этой модели занимаются исключительно функциями СУБД, функции создания резервных копий БД и восстановления БД после сбоев, управление выполнением транзакций и поддержки устаревших (унаследованных) приложений.

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

· Обладает большей гибкостью, чем двухуровневая модель. 1.5. Модели серверов баз данных.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.