Введение в BackOffice 2.5




Организация распределенных вычислений, MS DTC


В версию SQL Server 6.5 была впервые добавлено средство, автоматизирующее обработку распределенных транзакций в среде Windows NT и Windows95 - Microsoft Distributed Transaction Coordinator (MS DTC).

MS DTC является одним из первых примеров реализаций архитектуры Distributed Common Object Model. Он обеспечивает прикладным программам возможность использовать механизм OLE для манипуляции локальными и сетевыми объектами с автоматическим поддержанием распределенных транзакций на пространстве этих OLE объектов.

MS DTC в составе SQL Server 6.5 поддерживает подмножество OLE-DB для работы с данными, хранимыми на сервере, и управления самим SQL сервером.

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

  • Atomicity, неделимость - либо все изменяемые данные переходят в новое состояние (фиксация), либо все изменения отменяются (откат);

  • Consistency, целостность - после изменения данные остаются непротиворечивыми;

  • Isolation, изолированность - состояние незавершенной транзакции не зависит от изменений, и состояния других незавершенных транзакций;

  • Durability, долговечность - после завершения транзакции, её результаты сохраняются даже при выходе системы из строя.

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

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

    Рис. 22. Схема взаимодействия в распределенной транзакции

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




    Содержание  Назад  Вперед