русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы сериализации транзакций.


Дата добавления: 2013-12-23; просмотров: 1878; Нарушение авторских прав


Сериализация транзакций.

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

Этот механизм опирается на следующие правила:

1. В процессе выполнения транзакции программа «видит» только согласованные состояния БД. Пользователь никогда не может получить доступ к незафиксированным изменениям в данных, произведенных другой программой.

2. Если 2 транзакции А и В выполняются параллельно, то СУБД полагает, что результат будет такой же, как если бы транзакция А выполнялась бы первой, за ней выполнялась бы транзакция В, т.е. выполнение последовательное.

3. Между транзакциями могут возникнуть следующие виды конфликтов:

 

W-W Транзакция 2 пытается изменить объект, измененный незаконченной транзакцией 1
R-W Транзакция 2 пытается изменить объект, прочитанный незаконченной транзакцией 1
W-R Транзакция 2 пытается прочитать объект, измененный незаконченной транзакцией 1

Методы сериализации транзакций должны учитывать эти конфликты.

 

У всех методов есть плюсы и минусы.

Метод синхронизированных блокировок.

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

1. режим S (Shared) – совместный. Означает разделяемый захват объекта и требуется для выполнения операции «чтение объекта».

2. режим X (eXclusive) – монопольный захват объекта. Требуется для выполнения операций занесения, удаления, модификации.



Захват объекта несколькими транзакциями по чтению совместимы, т.е. транзакции могут одновременно читать один и тот же объект.

Захват объектов одной транзакцией по чтению не совместим с захватом этого же объекта другими транзакциями по записи, и, тем более, не совместимы захваты объекта разными транзакциями по записи.

 

Состояние объекта\Возможность захвата X S
- Да Да
X Нет Нет
S Нет Да

Пояснение к таблице.

Вертикальный столбец – то состояние, в котором находится объект. Горизонтальный столбец – возможно ли такое состояние (захват) или нет.

 

Если запрашиваемая блокировка со стороны второй транзакции отвергается, то вся вторая транзакция переходит в режим ожидания. Х-блокировки не снимаются до конца выполнения транзакции (до выполнения операторов COMMIT и ROLLBACK).

Предположим, что

 



<== предыдущая лекция | следующая лекция ==>
Параллельное выполнение транзакции. | Уровни изолированности пользователей.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.