Тема 5. Распределённые технологии обработки и хранения данных.

1. Основные понятия распределённой обработки данных.

2. Способы реализации распределенной обработки данных.

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

4. Вопросы к теме.

 

 

1. Основные понятия распределённой обработки данных.

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

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

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

Впервые задача об исследовании основ и принципов со­здания и функционирования распределенных информационных систем была поставлена известным специалистом в области баз данных К. Дейтом

В основе распределенной обработки лежат две ос­новные идеи:

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

¾   объединение распределенных данных на логическом и физическом уровнях в общей БД.

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

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

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

Перечислим основные принципы со­здания и функционирования распределенных баз данных:

o прозрачность расположения данных для пользовате­ля (иначе говоря, для пользователя распределенная база дан­ных должна представляться и выглядеть точно так же, как и нераспределенная);

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

o синхронизация и согласованность (непротиворечи­вость) состояния данных в любой момент времени.

Из основных вытекает ряд дополнительных принципов:

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

2.     отсутствие центральной установки (следствие преды­дущего пункта);

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

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

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

6.     независимость от аппаратуры (желательно, чтобы сис­тема могла функционировать на установках, включающих ком­пьютеры разных типов);

7.     независимость от типа операционной системы (система должна функционировать вне зависимости от возможного различия ОС на различных вычислительных установках);

8.     независимость от коммуникационной сети (возможность функционирования в разных коммуникационных средах);

9.     независимость от СУБД (на разных установках могут
функционировать СУБД различного типа, на практике ограни­чиваемые кругом СУБД, поддерживающих
SQL) и др.

2. Способы реализации распределенной обработки данных.

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

¾   многомашинные вычислительные комплексы (МВК);

¾   компьютерные (вычислительные) сети.

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

МВК могут быть:

¾   локальными, при условии установки компьютеров в одном помещении, не требующих для взаимосвязи специального оборудования и каналов связи;

¾   дистанционными, если некоторые компьютеры комплекса установлены на значительном расстоянии от центральной ЭВМ и для передачи данных используются телефонные каналы связи.

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

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

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

Терминал - устройство, предназначенное для взаимодействия пользователя с вычислительной системой или сетью ЭВМ. Состоит из устройства ввода (чаще всего это клавиатура) и одного или нескольких устройств вывода (дисплей, принтер и т.д.).

Компьютерные сети классифицируются по различным признакам. В частности по характеру реализуемых функций сети подразделяются на:

¾   вычислительные, предназначенные для решения задач управления на основе вычислительной обработки исходной информации;

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

¾   смешанные, в которых реализуются вычислительные и информационные функции.

Выделим основные отличия КВС от МВК.

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

2. Распределение функций между ЭВМ. Если в МВК функции обработки и передачи данных, управления системой могут быть реализованы в одной ЭВМ, то в вычислительных сетях эти функции распределены между различными ЭВМ.

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

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

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

¾   технология «клиент-сервер»;

¾   технологии объектного связывания;

¾   тех­нологии реплицирования.

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

Технология "Клиент-сервер"

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

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

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

Согласно этой классификации в любом техпроцессе можно выделить программы трёх видов:

1.     программы представления, реализующие операции первой группы;

2.     прикладные программы, поддерживающие операции второй группы;

3.     программы доступа к информационным ресурсам, реализующие операции третьей группы.

В соответствии с этим выделяют следующие модели реализации технологии «клиент-сервер»:

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

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

3.     модель сервера базы данных (DataBase ServerDBS);

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

Модель файлового сервера (FS)

Модель файлового сервера является наиболее простой.

Суть FS- модели иллюстрируется схемой, приведенной на рис. 2.2.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.2.1 Модель файлового сервера

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

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

Каков алгоритм выполнения запроса клиента?

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

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

Недостатки:

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

¾   узкий спектр операций манипулирования с данными, который определяется только файловыми командами;

¾   отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы).

Модель удаленного доступа к данным (RDA)

На рис. 2.2.2 представлена модель удалённого доступа.

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.2.2  Модель удаленного доступа (RDA)

 

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

Преимущества данной модели;

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

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

Основное достоинство RDA-модели — унификация интерфейса «клиент-сервер», стандартом при общении приложения-клиента и сервера становится язык SQL.

Недостатки:

¾   запросы на языке SQL при интенсивной работе клиентских приложений могут существенно загрузить сеть;

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

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

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

Модель сервера базы данных (DBS)

На рис. 2.2.3 представлена модель сервера базы данных.

 

 

 

 

 

 

 

 

 

 

 


  

 

 

 

 

Рис. 2.2.3  Модель сервера БД (DBS)

 

Данную модель поддерживают большинство современных СУБД: Informix, Ingres, Sybase, Oracle, MS SQL Server.

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

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

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

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

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

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

¾   осуществляет мониторинг событий, связанных с триггерами;

¾   обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ними событий;

¾   обеспечивает исполнение внутренней программы каждого триггера;

¾   запускает хранимые процедуры по запросам пользователей;

¾   запускает хранимые процедуры из триггеров;

¾   возвращает требуемые данные клиенту;

¾   обеспечивает все функции СУБД: доступ к данным, контроль и поддержку целостности данных в БД, контроль доступа, обеспечение корректной параллельной работы всех пользователей с единой БД.

Если мы переложили на сервер большую часть приложений, то требования к клиентам в этой модели резко уменьшаются. Иногда такую модель называют моделью с «тонким клиентом», в отличие от предыдущих моделей, где на клиента возлагались гораздо более серьезные задачи. Эти модели называются моделями с «толстым клиентом».

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

Модель сервера приложений (AS)

Архитектура трехуровневой модели приведена на рис. 2.2.4.

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.2.4  Модель сервера приложений (АS)

 

Эта модель является расширением двухуровневой модели и в ней вводится дополнительный промежуточный уровень между клиентом и сервером. Этот промежуточный уровень содержит один или несколько серверов приложений.

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

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

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

AS-модель, сохраняя сильные стороны DBS-модели, позволяет оптимально построить вычислительную схему информационной системы, однако, как и в случае RDA-модели, повышает трафик сети. Эта модель обладает большей гибкостью, чем двухуровневые модели. Наиболее заметны преимущества модели сервера приложений в тех случаях, когда клиенты выполняют сложные аналитические расчеты над базой данных, которые относятся к области OLAP-приложений. (On-line analytical processing).

Технологии объектного связывания

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

Решение этой задачи основывается на поддержке современ­ными «настольными» СУБД (MS Access, MS FoxPro, dBase и др.) технологии «объектов доступа к данным» DAO (Data Access Objects). Под объектом понимается интегра­ция данных и методов их обработки в одно целое (объект), на чем, как известно, основываются технологии объектно-ориентированного программирования. Другими словами, СУБД, поддерживаю­щие DAO, получают возможность внедрять и оперировать в локальных базах объектами доступа к данным, физически на­ходящимся в других файлах, возможно на других вычислитель­ных установках и под управлением других СУБД. Связанные объекты для пользователя ничем не отличаются от внутренних объектов. Пользователь может также открывать связанные во внешних базах таблицы данных, осуществлять по­иск, изменение, удаление и добавление данных, строить запро­сы по таким таблицам и т. д. Связанные объекты можно интег­рировать в схему внутренней базы данных, т. с. устанавливать связи между внутренними и связанными таблицами.

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

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

Т.о., определенной проблемой технологий объектного связыва­ния является появление «брешей» в системах защиты данных и разграничения доступа.

Тех­нологии реплицирования

Во многих случаях узким местом распределённых систем, построенных на основе технологий «Клиент – сервер» или объектного связывания данных, является недостаточно высокая производительность из-за необходимости передачи по сети большого количества данных. Определённую альтернативу построения быстродействующих распределённых систем предоставляют технологии реплицирования данных.

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

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

Программное обеспечение СУБД для реализации такого подхода соответственно  дополняется функциями тиражирования (реплицирования) баз данных.

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

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

На практике для совместной коллективной обработки данных применяются смешанные технологии, включающие элементы объектного связывания данных, репликаций и клиент-серверных решений. Развитие и все более широкое распространение распределенных информационных систем является основной перспективой развития автоматизированных информационных систем.

Вопросы к теме.

1.  В связи с чем возникает потребность в организации распределённой обработки данных? Дайте понятие распределённой обработки данных.

2.  Назовите две основные идеи, лежащие в основе распределённых АИС.

3.  Перечислите основные принципы создания и функционирования распределённых баз данных.

4.  Назовите дополнительные принципы создания и функционирования распределённых баз данных.

5.  Способы реализации распределённой обработки данных – краткая характеристика.

6.  Назовите основные отличия КВС от МВК.

7.  От какого принципа создания распределённых систем отступают при реализации технологии «клиент-сервер»?

8.  Назовите модели реализации технологии «клиент-сервер».

9.  Краткая характеристика модели файлового сервера. Достоинства и недостатки.

10.  Краткая характеристика модели доступа к удалённым данным. Достоинства и недостатки.

11.  Краткая характеристика модели сервера базы данных. Достоинства и недостатки.

12.  Краткая характеристика модели сервера приложений. Достоинства и недостатки.

13.  Краткая характеристика технологии объектного связывания данных.

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

15.  Дайте понятие реплики. В чём заключается основная идея реплицирования?

16 Какие проблемы возникают при использовании технологии реплицирования?