Технологии распределенной обработки информации

Выделились несколько самостоятельных технологий распределенной обработки данных [14]:

• клиент-сервер;

• реплицирования;

• объектного связывания.

Реальные распределенные информационные системы, как правило, построены на основе сочетания этих технологий.

Системы на основе технологии клиент-сервер развились из первых централизованных многопользовательских информационных систем на основе мэйнфреймов и получили наиболее широкое распространение в корпоративных информационных системах.

При реализации данной технологии отступают от одного из основных принципов создания распределенных систем — отсутствия центрального узла [14].

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

Можно выделить следующие идеи, лежащие в основе технологии клиент-сервер [14]:

• общие для всех пользователей данные, расположенные на одном или нескольких серверах;

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

Важное значение в технологии клиент-сервер имеют понятия сервера и клиента.

Под сервером в широком смысле понимается любая система, процесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем процессора, файлами и т. д.). Клиентом называется любая система, процесс, компьютер, пользователь, делающие запрос к серверу на использование ресурса [14].

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

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

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

Во многих случаях узким местом клиент-серверных ИС является недостаточно высокая производительность из-за необходимости передачи по сети все-таки большого количества данных.

Построение быстродействующих информационных систем обеспечивают технологии репликации данных.

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

При этом, однако, возникают две проблемы реализации одного из принципов функционирования распределенных систем — принципа непрерывности согласованного состояния данных [14]:

• обеспечение согласованного состояния данных во всех репликах БД;

• обеспечение согласованного состояния структуры данных во всех репликах БД.

Обеспечение согласованного состояния данных, в свою очередь, основывается на реализации одного из двух принципов [14]:

• принципа непрерывного размножения обновлений;

• принципа отложенных обновлений (обновления реплик могут быть отложены до специальной команды или ситуации).

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

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

Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для клиент-серверных систем, позволила выработать аналогичные решения и по интегрированию разрозненных локальных баз данных под управлением настольных СУБД. Такая технология получила название объектного связывания данных [14].

Технология объектного связывания данных решает задачу обеспечения доступа из одной локальной БД, открытой одним пользователем, к данным другой локальной БД, возможно, находящейся на другом компьютере, открытой другим пользователем. Решение этой задачи основывается на поддержке современными настольными СУБД технологии объектов доступа к данным — DAO (Data Access Objects). Под объектом понимается интеграция данных и методов их обработки в одно целое, на чем, как известно, основываются технологии объектно-ориентированного программирования [14].

Технология объектного связывания данных основана на протоколе ODBC (Open Database Connectivity), который является стандартом доступа к данным БД клиент-серверных систем (посредством SQL-запросов), а также к любым данным, находящимся под управлением реляционных СУБД.

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

Контрольные вопросы

1. Дайте понятие распределенной БД.

2. Охарактеризуйте принципы распределенной БД, сформулированные К. Дейтом.

3. В чем состоит сущность технологии клиент-сервер?

4. Назовите преимущества технологии клиент-сервер по сравнению с технологией файл-сервер.

5. Охарактеризуйте технологию репликации данных.

6. Охарактеризуйте технологию объектного связывания данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: