Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Прозрачность транзакций

Транзакция является логической единицей работы, выполняемой в базе данных. Она может быть представлена отдельной программой, являться частью алгоритма программы или даже отдельной командой (например, командой INSERT или UPDATE языка SQL и включать произвольное количество операций, выполняемых в базе данных. С точки зрения базы данных, выполнение программы некоторого приложе­ния может расцениваться как серия транзакций, в промежутках между которыми выполняется некоторая обработка данных, осуществляемая вне среды базы данных. Любая транзакция всегда должна переводить базу данных из одного согласованного состояния в другое.

В языке SQL транзакция начинается оператором - BEGIN TRANSACTION и завершается одним из 2-х возможных способов:

1. В случае успешного завершения результаты транзакции фиксируются в базе данных с помощью оператора СОММIТ и база данных переходит в новое согласованное состояние.

2. Если выполнение транзакции не увенчалось успехом, то она отменяется с помощью оператора ROLLBACK.

Рассмотрим примеры для локальной и распределенной базы данных.

Для локальной базы данных:

Транзакция T1 – уменьшает исходную сумму со счёта balx на 100 рублей.

Время Транзакция Т1 Поле balx
t1 begin_trans  
t2 read(balx)  
t3 balx=balx-100  
t4 write(balx)  
t5 commit  

Для многопользовательской базы данных транзакция Т2 – увеличивает исходную сумму счёта balx на 1000 руб.

Время Транзакция Т1 Транзакция Т2 Поле balx
t1   begin_trans  
t2   read(balx)  
t3   balx=balx+1000  
t4   write(balx)  
t5 begin_trans rollback  
t6 read(balx)    
t7 balx=balx-100    
t8 write(balx)    
t9 commit    

 

Т1 и Т2-это параллельные транзакции.

Если бы транзакция Т1 была включена в момент времени t3, то была бы считана сумма balx = 2000 в момент времени t4 и отмена транзакции Т2 в момент времени t5 не была бы зафиксирована транзакцией Т1. Поэтому Т1 начинается в момент времени t5.

Разработаны методы, которые обеспечивают поддержание базы данных в достоверном и согласованном состоянии. Для этого в любых современных СУБД реализованы три функции:

1. Механизмы поддержания транзакций;

2. Службы управления параллельностью(для многопользовательского режима);

3. Средства восстановления баз данных.

 

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

<== предыдущая лекция | следующая лекция ==>
Основные положения | Прозрачность параллельности
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1020; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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