Распределенная обработка данных - Банки и базы данных. Системы управления базами данных

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

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

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

Среди глобальных сетей различаются следующие типы: городские, региональные, национальные и транснациональные. Глобальные сети могут объединять в себе локальные сети и включать в качестве составных элементов другие глобальные сети.

Программное обеспечение любого сетевого компьютера делится на две составляющие: первая отвечает за управление ресурсами самого компьютера (прежде всего, это операционная система), а вторая - за обмен информации с другими компьютерами.

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

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

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

Рассмотрим основные особенности функционирования БД в распределенных системах.

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

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

В дальнейшем обе эти системы будем называть распределенными системами.

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

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

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

В зависимости от количества узлов сети выделяют двухзвенную и трехзвенную архитектуру модели клиент-сервер.

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

    1. Модель удаленного доступа к данным. В этой модели на клиенте сосредоточены как функции представления данных, так и функции обработки этих данных. Прикладные программы, предназначенные для манипулирования данными, расположенными именно на клиенте. Это является одним из основных недостатков данной модели, поскольку при таком подходе по сетям передается большое количество данных от сервера к клиенту, что приводит к их перегрузке и, как следствие, к потере в быстродействии всей системы в целом. 2. Модель сервера БД. В этом случае функции представления данных остаются за клиентом, в то время функции манипулирования данными передаются серверу, что приводит с существенному уменьшению нагрузки на сети. 3. Модель распределенного представления. В данной модели сервер становится еще более мощным и на нем сосредоточиваются практически все функции управления данными, а роль клиента заключается только в визуальном отображении результатов работы. 4. Модель распределенной функции. Здесь большая часть прикладных программ работы с данными реализуется на сервере. На клиенте реализуются некоторые специфичные функции обработки информации. 5. Модель распределенной БД. В этой модели на мощном клиенте располагаются не только прикладные программы, но и часть самих данных.

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

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

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

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

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

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

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

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

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

Похожие статьи




Распределенная обработка данных - Банки и базы данных. Системы управления базами данных

Предыдущая | Следующая