Системы обработки транзакций
Рассмотрим, к примеру, электронный перевод денежных средств. Чтобы транзакция считалась завершенной, требуется успешно провести все операции. Если какую-то операцию осуществить не удается, транзакцию следует отменить. Это означает, что результаты выполнения отдельных составляющих операций необходимо аннулировать, чтобы система пришла в такое состояние, как будто данная транзакция и не начиналась… Читать ещё >
Системы обработки транзакций (реферат, курсовая, диплом, контрольная)
Приложения для обработки транзакций (или просто транзакционные приложения) относятся к классу критических для бизнеса или иной деятельности [14]. Сюда входят системы ввода заказов, резервирования авиабилетов и кассовые терминалы. Транзакционное приложение занимается обновлением информации в базе данных. Нагрузка на такое приложение обычно предсказуема, значительную долю в ней занимают запросы на обновление. Известны также требования в периоды пиковой нагрузки, поэтому можно оценить структуру множества запросов к базе. Некоторые транзакционные приложения должны работать постоянно, в других допустимы короткие перерывы.
Характеристики транзакций. Транзакция — это запрос клиента к серверу, состоящий из двух или более операций, которые образуют единую логическую функцию, причем она должна быть либо выполнена полностью, либо не выполнена вовсе. Транзакции порождаются клиентом и посылаются серверу для обработки. В классической конфигурации клиента и сервера обработка целиком возлагается на сервер. В распределенных приложениях сервер может делегировать одну или несколько операций другим серверам.
Рассмотрим, к примеру, электронный перевод денежных средств. Чтобы транзакция считалась завершенной, требуется успешно провести все операции. Если какую-то операцию осуществить не удается, транзакцию следует отменить. Это означает, что результаты выполнения отдельных составляющих операций необходимо аннулировать, чтобы система пришла в такое состояние, как будто данная транзакция и не начиналась.
У транзакций выделяются следующие свойства:
- — атомарность. Транзакция — это неделимая единица работы. Она либо выполняется полностью (фиксируется), либо не выполняется вовсе (откатывается);
- — непротиворечивость. После завершения транзакции система должна оказаться в непротиворечивом состоянии;
- — изолированность. На поведение транзакции не должны оказывать влияния другие транзакции;
- — долговечность, или устойчивость. Изменения сохраняются после завершения транзакции, даже если за ним последует сбой системы.
Мониторы обработки транзакций. Монитор обработки транзакций (ТР-монитор) координирует поток информации между различными клиентами, инициирующими запросы, и приложением обработки транзакций, которое отвечает на эти запросы. ТР-мониторы уже много лет существуют на больших ЭВМ. Наиболее широко известна программа CICS компании IBM, функционирующая с операционными системами и СУБД, которые поставляет IBM.
В гетерогенной клиент-серверной среде ТР-мониторы выполняют следующие действия:
- — посылают и принимают сообщения от клиентов и серверов;
- — управляют потоком транзакций и распределяют нагрузку между серверами; - поддерживают глобальные транзакции, которые относятся к нескольким распределенным базам данных, в частности гарантируют резервное копирование и восстановление глобальных транзакций;
- — реализуют интерфейс с менеджерами ресурсов, например с ОС и СУБД;
- — предоставляют средства для администрирования системы.
Современные ТР-мониторы, такие как Tuxedo или Enema, поддерживают трехуровневую архитектуру клиент-сервер:
- — функциональность клиента. Представление информации и взаимодействие с пользователем. Например, клиент может находиться на персональном компьютере;
- — функциональность сервера приложений, поддерживающего бизнес-логику. Клиент общается с сервером приложений посредством сообщений;
- — управление данными. В частности, реляционная база данных под управлением СУБД Oracle может быть распределена между несколькими узлами.
Изоляция клиента от сервера приложений позволяет раздельно проектировать и разрабатывать пользовательский интерфейс и бизнес-логику.