Стратегии обработки транзакций.
1.Оптимистическая стратегия (ОпС). Любая транзакция А работает «одна» и никакая другая транзакция В не изменяет ни множество чтения, ни множество записи транзакции А до момента ее фиксации. Все конфликты чтения/записи, ограничения целостности проверяются в момент фиксации транзакции А. Транзакция А фиксируется, если от момента ее старта и до момента ее фиксации отсутствовали конфликты с любой другой транзакцией. 2.Пессимистическая стратегия (ПС). Транзакция А работает параллельно с другими транзакциями. Найдется хотя бы одна транзакция В, которая изменяет множество чтения и (или) множество записи транзакции А до момента ее фиксации. Все конфликты чтения/записи, ограничения целостности проверяются в процессе работы транзакции А. Откаты возможны только при возникновении взаимных блокировок. ОпС. Блокировка данных – отсутствует; особенности протокола – долгая фиксация, быстрая работа; применение – множества чтения и записи разных транзакций пересекаются редко; преимущества – высокая производительность. ПС: Блокировка данных – требуется механизм обнаружения и разрешения взаимных блокировок; особенности протокола – быстрая фиксация, долгая работа; применение – множества чтения и записи разных транзакций пересекаются часто; преимущества – раннее обнаружение конфликтов. 3.Спекулятивная стратегия. Транзакция А работает параллельно с другими транзакциями. Потенциальные конфликты распознаются в процессе работы, как только они возникают, но обнаружение таких конфликтов не влечет ни задержку выполнения таких транзакций, ни откат. Механизм спекулятивной стратегии. Основная идея - поддержка достаточного числа теней для обеспечения возможности продолжения любой транзакции с момента образования ее теневой копии. Объекты данных не блокируются. Каждая тень соответствует потенциальному конфликту и срабатывает при его возникновении.
|