Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Управление распределенными транзакциями



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

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

 

Независимость от аппаратного обеспечения

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

 

Независимость от операционной системы

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

 

Независимость от сети

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

 

Независимость от СУБД

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

Лекция 4

КЛАССИФИКАЦИЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ.

Централизация и децентрализация.

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

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

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

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

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

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

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

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

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

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

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

поиск производится во всей совокупности данных;

над данными осуществляются операции со вторичными ключами.

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

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 917; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь