Базы данных

Автор работы: Пользователь скрыл имя, 22 Октября 2011 в 14:40, курсовая работа

Описание

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

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

Содержание

Введение….………………………………………………………………………………..3
Основная часть…………………………………………………………………………….5
1 Основы обработки транзакций …………….…………………………………..……....5
1.1 Структура транзакций ………….…………….……………..…………..……………5
1.2 Параллельное выполнение транзакций ..………….…….………………..……..….7
1.3 Транзакции и восстановление данных ..………….……………………..………..…8
2 Принципы и модели обработки транзакций ………..….…………..............................9
2.1 Плоские транзакции ……….……………..…………………………………......……9
2.2 Контрольные точки ……….………………..…….....................................................11
2.3 Многозвенные транзакции …………………..…………………………………......13
2.4 Вложенные транзакции ..……………………………..….………………….…..…..14
3 Классификация систем обработки транзакций.…………………...……………..…..17
3.1 Encino и DCE Список использованных источников…………..………………..…17
3.2 Языки транзакций ….…………………….………………………………….…..… 19
3.3 Мониторы обработки транзакций третьего поколения….………......………..…..20
3.4 X/Open DTP….…...…..…………..…………….…………………….………………22
Заключение…………………...………………………………………………….….……24
Глоссарий………………………………………...………….…….………...……….…..26
Список использованных источников……….......…….……………...……….…….…..29
Приложения……………...…...……………...……………..……………………….

Работа состоит из  1 файл

Базы_Данных.doc

— 198.00 Кб (Скачать документ)

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

     Одна  из задач, решаемых монитором Encina, - это  поддержка свойств ACID в среде баз данных клиент-сервер при условии, что клиенты и серверы независимо хранят записи о состоянии транзакций.

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

Encina включает  язык разработки приложений Transactional C, содержащий набор макросов и  библиотек для определения транзакций  и управления ими. Ключевое слово TRANSACTION служит для определения транзакций верхнего уровня или вложенных. Функции, задаваемые при помощи ключевых слов ONABORT и ONCOMMIT, описывают действия, выполняемые при откате или, соответственно, фиксации транзакции любого уровня.

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

     3.2 Языки транзакций 

     В разделе 3.1. была рассмотрена Encina - монитор  транзакций корпорации Transarc - который включает множество библиотек и макросов, составляющих среду разработки Transactional C. Альтернативный способ задания директив обработки транзакций состоит в применении специального языка11. В качестве примера рассмотрим язык InterBase Parallel Language (IPL), входящий в состав неоднородной распределенной cреды баз данных InterBase. IPL разработан с учетом поддержки высокой степени параллелизма и взаимодействия между субтранзакциями, принадлежащими общей глобальной транзакции. IPL предназначался для поддержки транзакций разных типов (т. е. смешанных транзакций), а также как системно-независимый декларативный язык, обеспечивающий прозрачность управления транзакциями.

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

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

     . Классические процедуры  интеграции 1970-х годов  ориентировались на отображение диаграмм потоков данных (DFD - Data Flow Diagram), на сущности и атрибуты диаграмм сущность-связь (ERD - Entity-Relation Diagram). Объектно-ориентированное моделирование обеспечивает определение объектов вместе с присущими им операциями, но ни тот ни другой вид моделирования не содержит средств для описания семантики транзакций. Выработка языков описания транзакций по отношению к некоторой модели данных с последующим переносом языковых средств в среду, обеспечивающую графическое представление вложенных, многозвенных и других развитых моделей транзакций, даст в будущем значительное увеличение продуктивности и надежности проектирования систем обработки транзакций.12 

     3.3 Мониторы обработки  транзакций третьего  поколения 

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

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

     Моделирование бизнес-процессов и управление ими. В предыдущем разделе мы рассмотрели основные направления развития языков описания транзакций. Философия обработки транзакций в настоящее время, даже для окружений, совместимых с OSI-TP и X/Open DTP, ориентирована на встраивание спецификаций транзакций и логики управления непосредственно в приложения. Крайне желательны были бы независимые декларативные средства для описания семантики транзакций в терминах бизнес-операций, точнее, их моделирование вместе с логикой бизнес-операций, для поддержки которых они предназначены.

Интеграция с  дисциплиной потоков работ. Независимые средства моделирования и спецификации транзакций, отмеченные в предыдущем пункте, необходимо соединить с формирующейся в настоящее время дисциплиной потоков работ. Для описания потоков информации, которой обмениваются между собой пользователи, процессы, приложения, может применяться некоторый высокоуровневый язык или графическая система. При этом семантику транзакций можно было бы описывать непосредственно над спецификациями потоков работ, подобно тому как ее можно было бы задавать относительно некоторой семантической модели данных. Имея среду разработки, снабженную инструментами генерации систем, можно было бы генерировать окружения управления транзакциями (совместимые, по всей вероятности, с X/Open DTP) вместе с процедурами и представлениями данных, необходимыми для реализации комбинированной модели "потоки работ - транзакции - данные".

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

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

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

Масштабируемость. Архитектура обработки транзакций, оптимальная для 100 узлов, может оказаться неэффективной для среды из 1000 или 10 000 узлов. Мониторы TP следующего поколения должны обладать свойством масштабируемости с учетом переменного числа и объема различных ресурсов (возможно, за счет упоминавшихся выше средств поддержки расширяемости)14. 

     3.4 X/Open DTP 

     Еще один определяющий фактор развития коммерческих систем обработки транзакций - это  стандартизация. В стандарте15 ISO SQL определены модель транзакций и функции операторов COMMIT и ROLLBACK. Международный комитет по стандартам (ISO) выработал состоящий из двух частей протокол для поддержки медоперабельности систем обработки транзакций. Две составные части этого стандарта:

     OSI-TP для сервисов обработки транзакций, 1992 г.;

     OSI-CCR для фиксации, управления и восстановления, 1990г. 

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

     Стандарт  API разработан комитетом X/Open и получил название X/Open Distributed Transaction Processing (DTP) API. X/Open DTP позволяет менеджерам транзакций использовать комбинацию закрытых и OSI-TP-протоколов для внутренних и межоперабельных окружений соответственно. X/Open DTP - стандарт, находящийся в стадии начального развития и имеющий определенные противоречия. В частности, не очень хорошо согласуются две его цели:

определение среды  монитора TP как стандартизированного окружения;

поддержка удаленных  вызовов процедур транзакций (TRPC -Transactional Remote Procedure Calls) наряду с "равноправными" (peer-to-peer) моделями коммуникаций (по крайней  мере в настоящее время модель X/Open DTP содержит оба подхода).

     X/Open DTP поддерживает не только плоские  транзакции, но также многозвенные  и вложенные (в последней из  этих моделей при прерывании  одной из ветвей происходит прерывание всей транзакции в целом).В стандартизированной распределенной среде TP для описания взаимодействий между компонентами применяется комбинация стандартных протоколов. Некоторые из них, например ROSE (Remote Operations Service), относятся к общему стеку протоколов OSI; другие являются специфическими для окружения X/Open DTP или OSI-TP.

     Заключение

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

     Развитие  сферы обработки транзакций неизбежно будет определяться такими факторами, как распределенности вычислительных ресурсов и потребность меж операбельности. По этой причине, а также в силу того, что организации все активнее ищут средства для объединения и обеспечения управляемости своих информационных ресурсов, будет возрастать значение усилий, направленных на поддержку стандартизации, в частности на реализацию продуктов TP, интегрированных со средой DCE, совместимых со спецификациями OSI-TP, X/Open DTP.

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

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

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

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

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

№ п/п Понятие Определение

      СУБД

Система управления базами данных, лежащая в основе базы данных прикладная программа, выполняющая операции над хранимой информацией
     Транзакция 
Обработка запроса, выполнение элементарной целостной операции над данными, в течение которой база данных находится в   неустойчивом состоянии
Распределенная  транзакция Транзакция, осуществляющая доступ к данным, сохраняемым более чем в одном местоположении
Транзакция  или логическая единица работы В общем случае последовательность ряда таких операций, которые преобразуют некоторое непротиворечивое состояние базы данных в другое непротиворечивое состояние, но не гарантируют сохранения непротиворечивости во все промежуточные моменты времени
Атомарность    Это свойство типа “все или ничего”. Любая транзакция представляет собой неделимую единицу работы, которая может быть либо выполнена вся целиком, либо не выполнена вовсе
Согласованность Каждая транзакция должна переводить базу данных из одного согласованного состояния в другое согласованное состояние
Изолированность    Все транзакции выполняются независимо одна от другой. Другими словами, промежуточные результаты незавершенной транзакции не должны быть доступны другим транзакциям
Продолжительность    Результаты успешно завершенной (зафиксированной) транзакции должны сохраняться в базе данных постоянно и не должны быть утеряны в результате последующих сбоев
Распределенная  обработка Обработка с использованием централизованной базы данных, доступ к которой может осуществляться с различных компьютеров сети
Хранилище данных Предметно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений

Информация о работе Базы данных