русс | укр

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

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

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

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


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

Уровни изолированности пользователей.


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


Ход выполнения

Транзакция Т1 Транзакция Т2

t1 печать кортежа р1
t2 изменение р1
t3 печать р1
t4 COMMIT
tt1 печать кортежа р1
tt2 изменение р2
tt3 изменение р1
tt4 печать р1
tt5 печать р2
tt6 COMMIT

 

Такты времени Т1 р1 р2 Т2
t1 S - tt1
t2 X X tt2
t3 X X ожидание
COMMIT - X ожидание
  X X tt3
  X X tt4
  X X tt5
  - - COMMIT

 

Недостатком этого метода могут быть возникновения тупиковых ожиданий. Если бы в нашем примере транзакция Т1, отработав с объектом р1, начала бы работу с объектом р2, то она тоже перешла в ожидание, поскольку объект р2 захвачен ранее транзакцией Т2. Выход из тупиковой ситуации – это построение графа ожидания транзакции. Каждая транзакция является вершиной этого графа. Если транзакция I ожидает, пока закончится j, то получается ребро.

В этом случае применяется принудительный откат какой-либо транзакции. Выбор той транзакции, откат которой обойдется «дешевле» всего, определяется на основе сложной оценки, в которую входят число накопленных захватов, приоритет пользователя, «вес» времени выполнения.

 

При описанном методе сериализации (метод двухфазного протокола) достигается полная сериализация транзакций. Однако, бывают случаи, когда важны скорость выполнения транзакции, а не ее точность. Например, надо иметь самое общее представление о картине торгов. При этом не важен факт каждой отдельной сделки. Для смягчения требований в этот метод вводится понятие уровня изолированности пользователя.



Всего выделяют 4 уровня:

1. Самый высокий – полностью соответствует описанному методу.

2. Уровень подтвержденного чтения. Транзакция не имеет доступа к промежуточным и окончательным результатам других транзакций, но транзакция может увидеть строку, добавленную в БД другой транзакцией (проблема строк-призраков).

3. Тоже связан с подтверждением чтения. Транзакция не имеет доступа к промежуточным результатам других транзакций, но ей доступны окончательные данные, полученные в ходе выполнения других транзакций.

На этом уровне если транзакция пытается обновить строку, уже обновленную другой транзакцией, то она будет удалена во избежание проблемы пропавшей строки.

4. Уровень неподтвержденного (или «грязного») чтения. Текущей транзакции видны промежуточные и несогласованные данные и ей тоже доступны строки-призраки, но СУБД предотвращает пропавшие обновления.

+====================================================================

 

Журнализация БД.

Одним из основных требований к развитым БД является надежность хранения БД. Это требование предполагает возможность восстановления согласованного состояния БД после любого аппаратного или программного сбоя.

Следующие ситуации, при которых требуется восстановить состояние БД:

1. Индивидуальный откат транзакций. Например, ее завершение оператором ROLLBACK.

2. Восстановление после «мягкого» сбоя, т.е. после внезапной потери содержимого ОЗУ. Например, отключение напряжения в сети или неустранимый сбой в работе процессора.

3. Восстановление после «жесткого» сбоя, т.е. после поломки основного внешнего носителя.

 



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


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


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

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

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


 


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

 
 

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

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