КАТЕГОРИИ: Архитектура-(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. Проблема зависимости от нефиксированных результатов.
Пример первой проблемы
Пример второй проблемы
Пример третьей проблемы
Дата добавления: 2015-05-09; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |