Сериализация транзакций
Сериализация – параллельное выполнение транзакций, но не произвольных, а в виде набора – сериального плана.
Сериализация – выполнение транзакций в соответствие с сериальным планом. Сериальный план соответствует таким действиям, когда результат совместного выполнения транзакций соответствует результату строго последовательного их выполнения.
Как транзакции объединить в сериальный план?
Существуют ситуации, когда транзакции можно выполнить в любой последовательности вне зависимости от их результатов. Такими неконфликтующими являются только читающие транзакции или транзакции, не конфликтующие по объектам БД.
Виды конфликтов между транзакциями:
1. WW – транзакция пытается изменить объект, изменённый незакончившейся транзакцией;
2. WR – транзакция пытается читать объект, изменённый незакончившейся транзакцией;
3. RW – транзакция изменяет объект, прочитанный незакончившейся транзакцией.
Учёт конфликтов происходит двумя методами:
синхронизационных захватов;
временных меток.
Любые методы сериализации могут быть рассмотрены в двух вариантах:
1) оптимистическом;
2) пессимистическом.
В 1): предположение о том, что конфликтов возникает немного; все результаты изменения сохраняются в рабочей области транзакции, а проверять отсутствие конфликтов и применять все методы по сериализации нужно применять после завершения транзакций. В 2): конфликты возникают часто и методы сериализации, т.е. устранения, нужно применять немедленно при возникновении конфликта.
Дата добавления: 2014-12-20; просмотров: 1169;