logo search
ИТУ-МГУДТ

7.6. Компьютерные технологии распределенной обработки данных

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

- системы с сетевым (распределенным) доступом;

- системы, предоставляющие распределенную обработку данных;

- распределенные базы данных.

1. Первый класс систем позволяют осуществить распределенный (сете­вой) доступ к централизованной базе данных. Они построены с помощью сетевых версий программ на основе оборудования и программного обеспечения различ­ных локальных вычислительных сетей. Архитектура систем с сетевым доступом предполагает выделение одного из компьютеров сети в качестве центрального. Этот компьютер обеспечивает функционирование той части сетевой версии СУБД, которая осуществляет управление данными, и называется сервером файлов (File Server). Основное требование к нему - наличие жесткого диска большой емко­сти, достаточной для хранения совместно используемой централизованной базы данных. Все другие машины сети выполняют функции рабочей станции (Workstation). Ими поддерживается доступ пользователей системы к централизованной базе данных на сервере. В соответ­ствии с запросом пользователя необходимые ему файлы базы данных на сервере копируются и передают­ся на рабочую станцию, которая затем производит его обработку. Таким образом, вся обработка данных ведется на рабочей станции. Указанная архитектура системы баз данных характеризуется боль­шим сетевым трафиком, что отрицательно сказывается на ее произво­дительности и надежности. Другой недостаток таких систем заключается в том, что каждая рабочая станция должна быть достаточно мощной (а значит и дорогой) - иметь значительные собственные ресурсы для обработки приложений и обеспечения приемлемого уровня реактивности при обработке запросов пользователя.

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

- синхронизацию трансакций, основанную на технике блокирования ресурсов (иногда с точностью до поля) и позволяющие производить обновление дан­ных при параллельной работе различных пользователей;

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

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

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

Прикладная про­грамма (приложение), реализованная в рамках архитектуры «клиент - сервер» имеет распределенный характер: часть ее функций реали­зуется в программе-клиенте, другая часть - в программе-сервере. Технология «клиент - сервер» базируется на разделе­нии функций стандартного интерактивного приложения на четыре группы: функции ввода и отображения данных; прикладные функции, характерные для предметной области; функции хранения и управлении ресурсами (базами данных); служебные функции.

Как следствие, любое приложение состоит из следующих компонентов: компонент представления (функции 1-й группы); прикладной компонент (функции 2-й группы); компонент доступа к информационным ресурсам (функции 3-й груп­пы и протокол их взаимодействия).

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

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

- более высокая степень параллельности обработки вследствие распределения нагрузки;

- улучшенное использование данных на местах при выполнении удаленных (дистанционных) запросов; простота управления.

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

Распределенная база данных предполагает хранение и выполнение функций управления данными в нескольких узлах и передачу данных между этими узлами в процессе выполнения запросов. Такая база данных состоит из не­скольких локальных баз данных, однако у пользователя сохраняется иллюзия работы с централизованной базой данных. Его не интересует, каким образом распределены данные между компьютерами. В основе этого эффекта лежит использование некоторого общего представления о данных - глобальной концептуальной схемы. Определение данных в такой концептуальной схеме аналогичным определению в централизованной базе данных. Принято выделять следующие основные свойства идеальной распределен­ной базы данных, реализуемые внутрисистемными средствами.

Локальная автономия - означает, что управление дан­ными на каждом из узлов распределенной системы выполняется ло­кально. Будучи фрагмен­том распределенной системы, она в то же время функционирует как полноценная локальная база данных; управление ею выполняется локально и независимо от других узлов системы. Независимость от центрального узла - все узлы равноправны и независимы, а расположенные на них базы являются равноправными поставщиками данных в общее пространство данных. База данных на каждом из узлов самодостаточна - она включает пол­ный собственный словарь данных и полностью защищена от несанк­ционированного доступа. Непрерывные операции - воз­можность непрерывного доступа к данным независимо от их распо­ложения и от операций, выполняемых на локаль­ных узлах. Прозрачность расположения данных - пользователь ничего не знает о реальном, физическом размещении данных в узлах компьютерной системы и выполняет операции над данны­ми без учета их местонахождения. Прозрачность фрагментации данных - возмож­ность распределенного - на различных узлах - размещения дан­ных, логически представляющих собой единое целое. Прозрачность тиражирования данных - это асин­хронный процесс переноса изменений объектов исходной базы данных в базы, расположенные на других узлах рас­пределенной системы. Обработка распределенных запросов - возможность выполнения операций выборки над распределен­ной базой данных, сформулированных в рамках обычного запроса на языке SOL. Обработка распределенных трансакций - возможность выполнения операций обновления рас­пределенной базы данных не разруша­я целостность и согласованность данных. Независимость от оборудования - каче­стве узлов распределенной системы могут выступать компьютеры лю­бых моделей и производителей. Независимость от операционных систем - означает многообразие операционных систем, управ­ляющих узлами распределенной системы. Прозрачность сети - в распределенной системе возможны любые сетевые прото­колы. Независимость от баз данных – в сети возможны операции поиска и обновления в базах данных различных моделей и форматов, различных производителей.