🗊 Презентация Управление транзакциями

Категория: Образование
Нажмите для полного просмотра!
Управление транзакциями, слайд №1 Управление транзакциями, слайд №2 Управление транзакциями, слайд №3 Управление транзакциями, слайд №4 Управление транзакциями, слайд №5 Управление транзакциями, слайд №6 Управление транзакциями, слайд №7 Управление транзакциями, слайд №8 Управление транзакциями, слайд №9 Управление транзакциями, слайд №10 Управление транзакциями, слайд №11 Управление транзакциями, слайд №12 Управление транзакциями, слайд №13 Управление транзакциями, слайд №14 Управление транзакциями, слайд №15 Управление транзакциями, слайд №16 Управление транзакциями, слайд №17 Управление транзакциями, слайд №18 Управление транзакциями, слайд №19 Управление транзакциями, слайд №20 Управление транзакциями, слайд №21 Управление транзакциями, слайд №22 Управление транзакциями, слайд №23 Управление транзакциями, слайд №24 Управление транзакциями, слайд №25 Управление транзакциями, слайд №26 Управление транзакциями, слайд №27 Управление транзакциями, слайд №28 Управление транзакциями, слайд №29 Управление транзакциями, слайд №30 Управление транзакциями, слайд №31 Управление транзакциями, слайд №32 Управление транзакциями, слайд №33 Управление транзакциями, слайд №34 Управление транзакциями, слайд №35 Управление транзакциями, слайд №36 Управление транзакциями, слайд №37 Управление транзакциями, слайд №38 Управление транзакциями, слайд №39 Управление транзакциями, слайд №40 Управление транзакциями, слайд №41 Управление транзакциями, слайд №42 Управление транзакциями, слайд №43

Содержание

Вы можете ознакомиться и скачать презентацию на тему Управление транзакциями. Доклад-сообщение содержит 43 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Управление транзакциями Управление базами данных
Описание слайда:
Управление транзакциями Управление базами данных

Слайд 2


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

Слайд 3


Основные понятия Свойства транзакции: Атомарность (Atomicity) Согласованность (Consistency) Изолированность (Isolation) Устойчивость (Durability)
Описание слайда:
Основные понятия Свойства транзакции: Атомарность (Atomicity) Согласованность (Consistency) Изолированность (Isolation) Устойчивость (Durability)

Слайд 4


Основные понятия
Описание слайда:
Основные понятия

Слайд 5


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

Слайд 6


Управление параллельностью Проблемы параллельной обработки данных: Проблема потерянного обновления. Lost Updates Зависимость от нефиксированных...
Описание слайда:
Управление параллельностью Проблемы параллельной обработки данных: Проблема потерянного обновления. Lost Updates Зависимость от нефиксированных результатов (Проблема «грязного» чтения). Uncommitted Dependency (Dirty Read) Проблема несогласованной обработки (Проблема неповторяемого чтения). Inconsistent Analysis (Nonrepeatable Read) Проблема чтения фантомов. Phantom Reads

Слайд 7


Управление параллельностью
Описание слайда:
Управление параллельностью

Слайд 8


Управление параллельностью
Описание слайда:
Управление параллельностью

Слайд 9


Управление параллельностью
Описание слайда:
Управление параллельностью

Слайд 10


Управление параллельностью
Описание слайда:
Управление параллельностью

Слайд 11


Управление параллельностью Уровни изоляции транзакций в MS SQL Server: READ UNCOMMITED - незавершенное чтение. Гарантируется только физическая...
Описание слайда:
Управление параллельностью Уровни изоляции транзакций в MS SQL Server: READ UNCOMMITED - незавершенное чтение. Гарантируется только физическая целостность БД. Изоляция отсутствует READ COMMITED – Решается проблема «грязного чтения», но остается неповторяемость чтения. Это уровень изоляции по умолчанию REPEATABLE READ – повторяемое чтение. Решается проблема неповторяемого чтения, но проблема фантомов остается. Снижается степень параллелизма SERIALIZABLE – сериализуемость. Полная изоляция транзакций, параллельность выполнения транзакций почти исключается

Слайд 12


Методы управления параллельностью Подходы: Пессимистический подход – выполнение транзакции откладывается, если возможен конфликт между транзакциями...
Описание слайда:
Методы управления параллельностью Подходы: Пессимистический подход – выполнение транзакции откладывается, если возможен конфликт между транзакциями Метод выявления взаимных блокировок Метод временных отметок Оптимистический подход – все транзакции выполняются асинхронно и после завершения транзакции принимается решение о корректности ее выполнения

Слайд 13


Методы управления параллельностью Основные типы блокировок: S-блокировка (Shared Lock) - разделяемая (нежесткая) блокировка. Запрещает изменение...
Описание слайда:
Методы управления параллельностью Основные типы блокировок: S-блокировка (Shared Lock) - разделяемая (нежесткая) блокировка. Запрещает изменение объекта, но чтение объекта разрешается любой транзакции. Снять блокировку может только та транзакция, которая ее установила. X-блокировка (Exclusive Lock) – монопольная (жесткая, эксклюзивная) блокировка. Позволяет изменять объект только той транзакции, которая наложила эту блокировку. Другие транзакции не могут ни читать, ни изменять объект.

Слайд 14


Двухфазный протокол блокировки Выполнение транзакции имеет две фазы: Фаза нарастания (расширения): транзакция устанавливает блокировки на необходимые...
Описание слайда:
Двухфазный протокол блокировки Выполнение транзакции имеет две фазы: Фаза нарастания (расширения): транзакция устанавливает блокировки на необходимые ресурсы. Ресурсы не освобождаются, даже если они не будут использованы транзакцией Фаза сжатия: транзакция только снимает блокировки с ресурсов

Слайд 15


Двухфазный протокол блокировки
Описание слайда:
Двухфазный протокол блокировки

Слайд 16


Двухфазный протокол блокировки
Описание слайда:
Двухфазный протокол блокировки

Слайд 17


Двухфазный протокол блокировки
Описание слайда:
Двухфазный протокол блокировки

Слайд 18


Двухфазный протокол блокировки
Описание слайда:
Двухфазный протокол блокировки

Слайд 19


Взаимные блокировки
Описание слайда:
Взаимные блокировки

Слайд 20


Взаимные блокировки Двухфазный протокол блокировки не решает проблемы взаимной блокировки
Описание слайда:
Взаимные блокировки Двухфазный протокол блокировки не решает проблемы взаимной блокировки

Слайд 21


Взаимные блокировки
Описание слайда:
Взаимные блокировки

Слайд 22


Взаимные блокировки
Описание слайда:
Взаимные блокировки

Слайд 23


Метод выявления взаимных блокировок Выявление взаимных блокировок: СУБД строит граф ожиданий через определенные промежутки времени Если в графе...
Описание слайда:
Метод выявления взаимных блокировок Выявление взаимных блокировок: СУБД строит граф ожиданий через определенные промежутки времени Если в графе ожидания имеются петли, то делается вывод о наличии взаимных блокировок. В петле выбирается транзакция жертва (по некоторому критерию стоимости) и происходит откат транзакции-жертвы. Петля разрывается и остальные транзакции продолжают выполнение. Недостаток: построение графа ожиданий загружает СУБД

Слайд 24


Метод предупреждения взаимных блокировок Основная идея метода предупреждения взаимных блокировок: устанавливается порядок выполнения транзакций на...
Описание слайда:
Метод предупреждения взаимных блокировок Основная идея метода предупреждения взаимных блокировок: устанавливается порядок выполнения транзакций на основе временных отметок ресурсов. Если попытка транзакции использовать ресурс нарушает заданный порядок, то она откатывается и перезапускается снова. В результате взаимные блокировки не могут возникнуть. Недостатки: Более частые откаты транзакций, чем в методе выявления взаимных блокировок В распределенных системах сложно генерировать временные метки с отношением полного порядка

Слайд 25


Метод предупреждения взаимных блокировок Алгоритм 1. «Ожидание-отмена»: Допускается только ожидание старой транзакцией. Если более новая транзакция...
Описание слайда:
Метод предупреждения взаимных блокировок Алгоритм 1. «Ожидание-отмена»: Допускается только ожидание старой транзакцией. Если более новая транзакция вынуждена ожидать освобождения блокировки, то она откатывается и запускается заново. В результате наиболее старая транзакция проходит без отката, а более новая транзакция со временем становится наиболее старой. Алгоритм 2. «Отмена-ожидание»: Только более новые транзакции могут ожидать заверения более старой транзакции. Если более старая транзакция вынуждена ожидать освобождения блокировки, то она откатывается.

Слайд 26


Гранулированные захваты (уровни блокировок) Уровни блокировок (выборочно): RID – блокировка отдельной строки (используется ID строки) Page –...
Описание слайда:
Гранулированные захваты (уровни блокировок) Уровни блокировок (выборочно): RID – блокировка отдельной строки (используется ID строки) Page – блокировка на уровне страницы Table – блокировка таблицы DB – блокировка базы данных Чем крупнее элементы блокируемых данных, тем ниже уровень параллельности выполнения транзакций.

Слайд 27


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

Слайд 28


Гранулированные захваты (уровни блокировок) S – разделяемая блокировка. Автоматически распространяет вниз по иерархии. Устанавливается для чтения...
Описание слайда:
Гранулированные захваты (уровни блокировок) S – разделяемая блокировка. Автоматически распространяет вниз по иерархии. Устанавливается для чтения данных X – монопольная блокировка. Автоматически распространяется вниз по иерархии. Устанавливается для изменения данных IS – блокировка намерения для разделяемой блокировки. Автоматически распространяет вверх по иерархии. IX – блокировка намерения для монопольной блокировки. Автоматически распространяется вверх по иерархии SIX – разделяемая блокировка намерения для монопольной блокировки. Устанавливается явным образом на верхнем уровне иерархии при намерении читать все данные вниз по иерархии и изменять часть данных внизу иерархии. В один момент времени на ресурс может быть наложена только одна блокировка SIX.

Слайд 29


Гранулированные захваты (уровни блокировок)
Описание слайда:
Гранулированные захваты (уровни блокировок)

Слайд 30


Гранулированные захваты (уровни блокировок)
Описание слайда:
Гранулированные захваты (уровни блокировок)

Слайд 31


Гранулированные захваты (уровни блокировок)
Описание слайда:
Гранулированные захваты (уровни блокировок)

Слайд 32


Управление транзакциями Явные транзакции: BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN Автоматические (по умолчанию): каждая команда – отдельная транзакция...
Описание слайда:
Управление транзакциями Явные транзакции: BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN Автоматические (по умолчанию): каждая команда – отдельная транзакция SET IMPLICIT_TRANSACTION OFF Неявные транзакции: до ROLLBACK TRAN или COMMIT TRAN. Началом транзакции является одна из команд: ALTER TABLE, CREATE, DELETE, DROP, INSERT, SELECT и некоторые другие SET IMPLICIT_TRANSACTION ON

Слайд 33


Вложенные транзакции
Описание слайда:
Вложенные транзакции

Слайд 34


Метод временных отметок
Описание слайда:
Метод временных отметок

Слайд 35


Оптимистический подход управления параллельным выполнение транзакций
Описание слайда:
Оптимистический подход управления параллельным выполнение транзакций

Слайд 36


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

Слайд 37


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

Слайд 38


Транзакции и восстановление
Описание слайда:
Транзакции и восстановление

Слайд 39


Журнал транзакций Журнал содержит следующие записи о транзакциях: Идентификатор транзакции Тип записи (начало транзакции, завершение транзакции,...
Описание слайда:
Журнал транзакций Журнал содержит следующие записи о транзакциях: Идентификатор транзакции Тип записи (начало транзакции, завершение транзакции, обновление данных, удаление данных, вставка данных) Идентификатор элемента данных Копия элемента данных ДО операции Копия элемента данных ПОСЛЕ операции Журнал содержит записи о контрольных точках. Контрольная точка – момент синхронизации оперативной памяти с журналом транзакций и основной областью (если фиксация). Все буферы СУБД принудительно записываются во вторичную память)

Слайд 40


Метод восстановления с использованием отложенного обновления При использовании метода восстановления с отложенным обновлением, нормальная работа СУБД...
Описание слайда:
Метод восстановления с использованием отложенного обновления При использовании метода восстановления с отложенным обновлением, нормальная работа СУБД выполняется следующим образом: информация об изменениях записывается сначала в журнал транзакций, обновления не заносятся в БД до тех пор, пока транзакция не выдаст команду фиксации результатов: 1) При запуске транзакции в журнал помещается запись «начало транзакции». 2) При выполнении любой операции записи, в журнал помещается информация об операции: тип операции, идентификатор изменяемого элемента, копия элемента ПОСЛЕ операции (копия элемента до операции не используется). 3) При завершении транзакции в журнал запись «транзакция завершена» 4) Если транзакция завершена с командой фиксации результатов, то данные из оперативной памяти переносятся на диска. Если транзакция завершается с откатом транзакции, то изменения на диск не переносятся. Через определенные промежутки времени формируются контрольные точки.

Слайд 41


Метод восстановления с использованием отложенного обновления
Описание слайда:
Метод восстановления с использованием отложенного обновления

Слайд 42


Метод восстановления с использованием отложенного обновления Последовательность действий при восстановлении после сбоя: Журнал просматривается в...
Описание слайда:
Метод восстановления с использованием отложенного обновления Последовательность действий при восстановлении после сбоя: Журнал просматривается в обратном направлении до последней контрольной точки. Если для транзакции имеются обе записи «начало» «конец», то выполняется прогон транзакции. Т.е. изменения из записей об операциях переносятся в БД без повторных вычислений. Если есть запись «начало», но нет записи «конец», то требуется откат и повторное выполнение. Откат, в данном случае, не требует никаких действий, т.к. данные в БД еще не попадали. Если есть запись «начало транзакции» и «откат транзакции», то никакие действия не выполняются.

Слайд 43


Метод восстановления с использованием немедленного обновления Все изменения немедленно заносятся в БД без ожидания завершения транзакции. Для...
Описание слайда:
Метод восстановления с использованием немедленного обновления Все изменения немедленно заносятся в БД без ожидания завершения транзакции. Для законченных транзакций нужен прогон, для не закончившихся – откат. В журнал записывается следующая информация: При запуске транзакции – запись «начало транзакции» При выполнении операции – информация об операции, включая копию данных ДО выполнения и ПОСЛЕ выполнения. Как только информация об операции помещается в журнал транзакций, изменения заносятся в буферы оперативной памяти. Изменения в файлах происходят при разгрузке буферов. При завершении транзакции в журнал помещается запись «конец транзакции» Важно: строка об изменении данных помещается в журнал до физического изменения данных (протокол предварительной записи журнала). При прогоне транзакции используются значения «после операции» При откате транзакции в БД записываются значения из записи «до операции»



Похожие презентации
Mypresentation.ru
Загрузить презентацию