Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Управление транзакций




Защита БД

Обработка запросов

Управление транзакций

Защита БД

Некоторые аспекты эксплуатаций БД

 

Защита БД должна охватывать следующие моменты:

- используемое оборудование

- ПО

- персонал

- сами данные.

В многопользовательских вычислительных системах компьютерные средства контроля включают следующие моменты:

1. Авторизация пользователей.

2. Использование представлений.

3. Средства копирования и восстановления.

4. Шифрование.

5. Вспомогательные процедуры.

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

Аутентификация – механизм определений того, является ли пользователь тем, за кого се6я выдает.

Представление – это динамический результат выполнения одной или нескольких реляционных операций над базами отношения.

Резервное копирование – процесс периодического создания копий БД из файла журнала БД.

Средство поддержания целостности средства данных предназначены для исключения перехода данных в несогласованное состояние.

Шифрование данных – кодирование данных с помощью специальных алгоритмов, которые делают данные непригодными для чтения, если не известен ключ шифрования.

Некомпьютерные средства контроля включают мероприятия:

1. Разработка мер обеспечения безопасности.

2. планирование защиты от непредвиденных обстоятельств.

3. Контроль за физическим доступом.

4. Контроль за персоналом.

5. Заключение гарантированных договоров на сопровождение.

 

Транзакция – это серия действий, которые выполняются одним пользователем или прикладной программой, и осуществляет изменения содержимого БД или доступ к данным.

Транзакция может быть представлена отдельной программой, частью какого либо алгоритма, либо отдельной программой (Insert, Update).

Чтобы разобраться с механизмом управления транзакций, рассмотрим пример:

Staff – сотрудник

Property for Rent – объекты недвижимости

Staff (sno, fname, lname, Adr, tel №, Position, Dop, Sex, salary. Nin, Pn)

Property for Rent (pno, Street, Area, City, Pcode, Type, Rooms, Ono, Sno, bno).

 

Необходимо сотруднику увеличить заработную плату.

Вариант А:

Read (sno=x, Salary)

Salary = Salary*1.1

Write (sno=x, view_ Salary)

Вариант В: (удаляется информация о сотруднике с заданным номером)

Delete (sno=x)

For all Property for Rent

Begin

Read (Pno=Pno, sno)

If (sno = x) then

Begin

Sno=new_sno

Write (pno=pno, sno)

End

End.

Если для транзакции для варианта А при выполнении изменений не все будут выполнены до конца БД по прежнему будут находиться в согласованном состоянии.

При выполнении транзакции В, если все указанные изменения будут выполнены до конца БД перейдет в несогласованное состояние, т.е. за объект недвижимости будет отвечать не существующий работник. Поэтому любая транзакция завершается одним из следующих возможных способов:

1. В случае успешного завершения транзакции результаты фиксируются в БД, и БД переходит в новое согласованное состояние;

2. Если транзакция не завершена либо произошло аварийное завершение, она отменяется и БД переходит в прежнее состояние. Этот процесс называется откат.

Зафиксированную транзакцию не возможно отменить, тогда надо выполнить другую транзакцию, которая отменит действие предыдущей. Этот процесс называется компенсирующей транзакцией.

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

- BEGIN TRANSACTION

- COMMIT

- ROLL BACK

Если эти операторы не использовались, то вся выполняемая программа расценивается как единая транзакция и СУБД автоматически выполняет команду COMMIT – при успешном завершении, ROLL BACK – при аварийном завершении транзакции.


Любая транзакция должна обладать следующими свойствами:

1. Атомарность – это неделимая единица, которая может быть либо выполнена полностью, либо не выполнена совсем.

2. Согласованность, каждая транзакция должна переводить БД из одного согласованного состояния в другое согласованное состояние.

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

4. Продолжительность, результаты успешного завершения транзакции должны быть постоянны и не должны быть утеряны в процессе сбоя.

Рассмотрим подсистему обработки транзакции типичной СУБД.

 

 


 

 

Менеджер транзакций осуществляет координацию работы. Он взаимодействует с планировщиком, который отвечает за реализацию выбранной стратегии управления параллельностью, которая отвечает за реализацию выбранной стратегии. Его называют еще менеджер блокировок, если для управления параллельностью выбрана система блокировок.

Цель работы планировщика заключается в достижении максимальности управления параллельностью.

Задача менеджера восстановления является предоставления гарантий того, что БД будет возвращена в то состояние, в котором она находиться до начала транзакций.

Менеджер буфера отвечает за период данных между основной памятью компьютера и вторичной дисковой памятью.

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

При параллельном выполнении транзакций могут возникнуть следющие проблемы:

1. Проблема потерянного обновления

2. Проблема обработки

3. Проблема зависимости от нефиксированных результатов.

 


Пример первой проблемы

время Транзакция 1 Транзакция 2 Поле bals
T1   Begin transaction  
T2 Begin transaction Read (bals)  
T3 Read (bals) Bals=bals+100  
T4 Bals=bals+100 Write bals  
T5 Write bals commit  
T6 Commit    

 

Пример второй проблемы

время Транзакция 1 Транзакция 2 Поле bals Bals y Bals z sum
T1   Begin transaction        
T2 Begin transaction Sum=0        
T3 Read (bal x) Read (bals)        
T4 Bals=bal x-10 Sum=sum+ bal x        
T5 Write bal x Read (bal y)        
T6 Read (bal x) Sum=sum+ bal y        
T7 Write bal y          
T8 Balz=balz+10          
T9 Write Balz Read (bal z)        
T10 Commit Sum=sum+balz        
T11   Commit        

 

Пример третьей проблемы

время Транзакция 1 Транзакция 2 Поле bal x
T1   Begin transaction  
T2   Read bal x  
T3   Bal x=bap x+100  
T4 Begin transaction Write bal x  
T5 Read bal x    
T6 bal x= bal x-10 Rall back  
T7 Write bal x    
T8 commit    

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 442; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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