Системы удаленной обработки данных

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

По технологии обработки данных базы данных подразделяются на централизованные и распределенные.

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

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

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

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

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

Любой пользователь или любая прикладная программа оперирует с одной или несколькими базами данных. Когда прикладная программа запускается на локальном узле, а база данныхнаходится на удаленном, возникает проблема идентификации удаленного узла- необходимо указать имя удаленного узла и имя базы данных. Если использовать фиксированное имя узла, то прикладная программа становится зависимой от расположения БД. Например, обращение к БД "teacher.Prim", где первое слово указывает имя узла, будет зависимым от расположения.

Выход из этой ситуации заключается в использовании виртуальных имен узлов. Управление ими обеспечивается специальным программным компонентом СУБД — сервером имен (Name Server), который адресует запросы клиентов к серверам.

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

· Прозрачность сети;

· Автоматическое преобразование форматов данных;

· Автоматическая трансляция кодов;

· Межоперабельность;

Прозрачность сети - клиент и сервер взаимодействуют по сети с конкретной топологией; для поддержки взаимодействия всегда используется определенный протокол. Следовательно, оно должно быть организовано таким образом, чтобы обеспечивать независимость как от используемого сетевого аппаратного обеспечения, так и от протоколов сетевого обмена. Чтобы обеспечить прозрачный доступ пользователей и программ к удаленным данным в сети, объединяющей разнородные компьютеры, коммуникационный сервер должен поддерживать как можно более широкий диапазон сетевых протоколов (TCP/IP, DECnet, SNA, SPX/IPX, NetBIOS, AppleTalk, и др.).

Автоматическое преобразование форматов данных – при соединении нескольких компьютеров различных моделей под управлением различных операционных систем в сеть, возникает вопрос о согласовании форматов представления данных. В сети могут быть компьютеры, отличающиеся разрядностью (16-ти, 32-х и 64-х разрядные процессоры), порядком следования байт в слове, представлением чисел с плавающей точкой и т.д. Задача коммуникационного сервера состоит в том, чтобы на уровне обмена данными обеспечить согласование форматов между удаленным и локальным узлами с тем, чтобы данные, извлеченные сервером из базы на удаленном узле и переданные по сети, были правильно истолкованы прикладной программой на локальном узле.

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

По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.

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

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

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

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

Выделяются четыре подхода, реализованные в следующих моделях:

1. модель файлового сервера (File Server - FS);

2. модель доступа к удаленным данным (Remote Data Access - RDA);

3. модель сервера баз данных (Data Base Server - DBS);

4. модель сервера приложений (Application Server - AS).

Удаленный доступ к централизованной базе данных предполагают использование в основном двух архитектурподобных систем:

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

• клиент-сервер - помимо хранения централизованной базы данных сервер должен обеспечивать выполнение основного объема обработки данных. Запросна данные, выдаваемый клиентом (рабочей станцией), инициирует поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SOL.

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

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

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

Службы баз данных NetWare Btrieve и NetWare SQL фирмы Novell позволяют разработчикам создавать надежные прикладные программы баз данных без необходимости написания собственных программ управления записями, что обеспечивает удобный перенос прикладных программ в среду клиент-сервера.

В настоящее время разработаны десятки тысяч прикладных автономных и многозадачных программ, ориентированных на клиента версий NetWare Btrieve, NetWare SQL, которые могут быть использованы организациями, создающими или имеющими сеть ЭВМ. Более того, версии NetWare Btrieve и NetWare SQL фирмы Novell для клиентов имеют согласованные API, что упрощает перенос программ из среды одного клиента в среду другого.

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

Достоинствами распределенной обработки информации является:

- большое число взаимодействующих между собой пользователей;

- устранение пиковых нагрузок с централизованной базы данных за счет распределения обработки и хранения локальных баз данных на разных ЭВМ;

- возможность доступа пользователя к вычислительным ресурсам сети ЭВМ;

- обеспечение обмена данными между удаленными пользователями.

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

Создание распределенных баз данных (РБД) было вызвано двумя тенденциями обработки данных, с одной стороны - интеграцией, а с другой - децентрализацией.

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

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

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

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

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

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

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

"Прозрачность" распределенной обработки означает независимость пользователей и программ от типа локальной вычислительной сети и применяемого сетевого программного обеспечения. Обработка запроса пользователя может производиться на нескольких ЭВМ.

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

- автоматическое определение ЭВМ, хранящей требуемые в запросе данные;

- декомпозицию распределенных запросов на частные подзапросы к БД отдельных ЭВМ;

- планирование обработки запросов;

- передачу частных подзапросов и их исполнение на удаленных ЭВМ;

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

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

- управление параллельным доступом пользователей к РБД;

- обеспечение целостности РБД.