Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03_Пособие.doc
Скачиваний:
21
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

7Базы данных в сетях

7.1Организация базы данных в локальной сети

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

Существует два варианта организации базы данных в локальной сети.

Первый вариант – системы распределенной обработки данных. БД расположена на одной машине (сервере). К ней осуществляется параллельный доступ нескольких пользователей.

Второй вариант – системы распределенных баз данных. БД распределена на нескольких компьютерах, объединенных в сеть. К БД возможен параллельный доступ нескольких пользователей. Это режим параллельного доступа к распределенной БД.

В общем случае режимы использования БД можно представить в следующем виде (рис. 7.1).

Рис. 7.1 Режимы работы с базой данных

7.2Модели архитектуры клиент-сервер

При построении распределенных ИС, работающих с БД, широко используется архитектура клиент-сервер. Ее основу составляют принципы организации взаимодействия клиента и сервера при управлении БД.

Согласно Эталонной модели Архитектуры открытых систем OSI функция управления БД относится к прикладному уровню.

СУБД как программа, поддерживающая интерфейс с пользователем, реализует следующие основные функции:

  • управление данными, находящимися в базе;

  • обработка информации с помощью прикладных программ;

  • представление информации в удобном для пользователя виде.

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

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

Наиболее типичными вариантами разделения функций между компьютером-сервером и компьютером-клиентом являются следующие.

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

  • компьтер-сервер – управление данными, обработка, представление;

  • компьютер-клиент – представление.

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

  • компьютер-сервер – управление данными, обработка;

  • компьютер-клиент – представление.

  • Распределенная функция:

  • компьютер-сервер – управление данными, обработка;

  • компьютер-клиент – обработка, представление.

  • Удаленный доступ к данным

  • компьютер-сервер – управление данными;

  • компьютер-клиент – обработка, представление.

Распределенная БД

  • компьютер-сервер – управление данными;

  • компьютер-клиент – управление данными, обработка, представление.

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

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

Данная модель имеет название – модель сервера приложений, или AS-модель (Application Server) и показана на рис. 7.2.

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

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

Рис. 7.2 Трехзвенная модель сервера приложений

Центральным звеном AS-модели является сервер приложений. На сервере приложений реализуется несколько прикладных функций, каждая из которых оформлена как служба предоставления услуг всем требующим этого программам. Серверов приложений может быть несколько, причем каждый из них предоставляет свой вид сервиса. Любая программа, запрашивающая услугу у сервера приложений, является для него клиентом. Поступающие от клиентов к серверам запросы помещаются в очередь, из которой выбираются в соответствии с некоторыми правилами, например, по приоритетам.

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

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

Модель монитора транзакций. AS-модель описывает взаимодействие трех основных элементов: клиента, сервера приложений и сервера БД, но не затрагивает вопросы организации функционирования программного обеспечения при обработке информации, в частности при выполнения транзакций. Для преодоления этого недостатка предложена модель монитора транзакций.

Мониторы обработки транзакций (Transaction Processing Monitor – TPM), или мониторы транзакций, представляют собой программные системы категории промежуточного слоя (Middleware), обеспечивающие эффективное управление информационно-вычислительными ресурсами в распределенной вычислительной системе. Основное их назначение – организация гибкой, открытой среды для разработки и управления мобильными приложениями, оперативно обрабатывающими распределенные транзакции. Применение монитора транзакций наиболее эффективно в гетерогенных вычислительных системах.

Принципы организации обработки информации с помощью монитора транзакций описываются моделью монитора транзакций X / Open DTP (Distributed Transaction Processing – обработка распределенных транзакций). Эта модель включает в себя три объекта: прикладную программу, менеджер ресурсов (Resource Manager – RM) и монитор, или менеджер транзакций (Transaction Manager – TM).

В качестве прикладной программы может выступать произвольная программа-клиент.

Менеджер ресурсов RM выполняет функции сервера ресурса некоторого вида. Прикладная программа взаимодействует с RM с помощью набора специальных функций либо посредством операторов SQL (когда сервером является сервер БД). Функции менеджера ресурсов обычно выполняют серверы БД.

В задачах организации управления обработкой распределенных транзакций (транзакций, затрагивающих программные объекты вычислительной сети) ТМ взаимодействует с RM, который должен поддерживать протокол двухфазной фиксации транзакций и удовлетворять стандарту X / Open XA. Примерами СУБД, поддерживающих протокол двухфазной фиксации транзакций, являются Oracle 7.0, Open INGRES, Informix-Online 5.0.

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

Для разработчиков приложений мониторы обработки транзакций ТРМ предоставляют удобства, связанные с возможностью декомпозиции приложений по нескольким функциональным уровням со стандартными интерфейсами, что позволяет создавать легко модифицируемые ИС со стройной архитектурой.

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

Администраторы распределенных систем, имея ТРМ, получают возможность легкого масштабирования ИС и увеличения производительности обработки информации. Без остановки серверов приложений в любое время может быть добавлен, например, компьютер или менеджер ресурсов.