Корпоративные базы данных - статьи

       

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



Архитектура Sybase System 11 поддерживает как синхронную, так и асинхронную модель
управления транзакциями. Модель выбирается в соответствии с требованиями предметной
области.

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

Содержательная сторона задачи обычно требует обмена данными между группами АРМ, так как


изменения в данные могут вноситься в одной группе АРМ, а использоваться - в другой. Обмен
данными на практике часто реализуется регламентной передачей файлов, либо через модемное
соединение, либо "с курьером".

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

В современной технологии АРМ объединены в локальную сеть. АРМ-клиент выдает запросы на
выборку и обновление данных, а СУБД исполняет их. Запросы клиента в соответствии с
требованиями задачи сгруппированы в логические единицы работы (транзакции).
Если все
операции с базой данных, содержащиеся внутри транзакции, выполнены успешно, транзакция в
целом выполняется успешно (фиксируется). Если хотя бы одна из операций с БД внутри
транзакции не выполнилась успешно, то все изменения в БД, произведенные к этому моменту из
транзакции, отменяются (происходит откат транзакции). Такое функционирование обеспечивает
логическую целостность данных в базе данных.

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

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


Содержание раздела