🗊Презентация Параллельное выполнение транзакций. (Лекция 7)

Категория: Информатика
Нажмите для полного просмотра!
Параллельное выполнение транзакций. (Лекция 7), слайд №1Параллельное выполнение транзакций. (Лекция 7), слайд №2Параллельное выполнение транзакций. (Лекция 7), слайд №3Параллельное выполнение транзакций. (Лекция 7), слайд №4Параллельное выполнение транзакций. (Лекция 7), слайд №5Параллельное выполнение транзакций. (Лекция 7), слайд №6Параллельное выполнение транзакций. (Лекция 7), слайд №7Параллельное выполнение транзакций. (Лекция 7), слайд №8Параллельное выполнение транзакций. (Лекция 7), слайд №9Параллельное выполнение транзакций. (Лекция 7), слайд №10Параллельное выполнение транзакций. (Лекция 7), слайд №11Параллельное выполнение транзакций. (Лекция 7), слайд №12Параллельное выполнение транзакций. (Лекция 7), слайд №13Параллельное выполнение транзакций. (Лекция 7), слайд №14Параллельное выполнение транзакций. (Лекция 7), слайд №15Параллельное выполнение транзакций. (Лекция 7), слайд №16Параллельное выполнение транзакций. (Лекция 7), слайд №17Параллельное выполнение транзакций. (Лекция 7), слайд №18Параллельное выполнение транзакций. (Лекция 7), слайд №19Параллельное выполнение транзакций. (Лекция 7), слайд №20

Содержание

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

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


Слайд 1





Лекция №7
Транзакции
 
каф. КИБЭВС
И.В. Горбунов
Описание слайда:
Лекция №7 Транзакции каф. КИБЭВС И.В. Горбунов

Слайд 2








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

Слайд 3





Основные проблемы при параллельном выполнении транзакций:
Основные проблемы при параллельном выполнении транзакций:
Пропавшие изменения.
Проблемы промежуточных данных.
Проблемы несогласованных данных.
Проблемы строк-призраков (строк-фантомов).
Описание слайда:
Основные проблемы при параллельном выполнении транзакций: Основные проблемы при параллельном выполнении транзакций: Пропавшие изменения. Проблемы промежуточных данных. Проблемы несогласованных данных. Проблемы строк-призраков (строк-фантомов).

Слайд 4





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

Слайд 5





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

Слайд 6





Для поддержки параллельной работы транзакций строится специальный план.

Для поддержки параллельной работы транзакций строится специальный план.

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

Слайд 7





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

Слайд 8





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

Слайд 9





Типы конфликтов между двумя параллельными транзакциями. Можно выделить следующие типы:
- W-W — транзакция 2 пытается изменять объект, измененный незакончившейся транзакцией 1;
- R-W — транзакция 2 пытается изменять объект, прочитанный незакончившейся транзакцией 1;
- W-R — транзакция 2 пытается читать объект, измененный незакончившейся транзакцией 1.
Типы конфликтов между двумя параллельными транзакциями. Можно выделить следующие типы:
- W-W — транзакция 2 пытается изменять объект, измененный незакончившейся транзакцией 1;
- R-W — транзакция 2 пытается изменять объект, прочитанный незакончившейся транзакцией 1;
- W-R — транзакция 2 пытается читать объект, измененный незакончившейся транзакцией 1.
Описание слайда:
Типы конфликтов между двумя параллельными транзакциями. Можно выделить следующие типы: - W-W — транзакция 2 пытается изменять объект, измененный незакончившейся транзакцией 1; - R-W — транзакция 2 пытается изменять объект, прочитанный незакончившейся транзакцией 1; - W-R — транзакция 2 пытается читать объект, измененный незакончившейся транзакцией 1. Типы конфликтов между двумя параллельными транзакциями. Можно выделить следующие типы: - W-W — транзакция 2 пытается изменять объект, измененный незакончившейся транзакцией 1; - R-W — транзакция 2 пытается изменять объект, прочитанный незакончившейся транзакцией 1; - W-R — транзакция 2 пытается читать объект, измененный незакончившейся транзакцией 1.

Слайд 10





Режимы блокировок:
Режимы блокировок:
- совместный режим блокировки — нежесткая, или разделяемая, блокировка, обозначаемая как S (Shared). Этот режим обозначает разделяемый захват объекта и требуется для выполнения операции чтения объекта. Объекты, заблокированные таким образом, не изменяются в ходе выполнения транзакции и доступны другим транзакциям также, но только в режиме чтения;
Описание слайда:
Режимы блокировок: Режимы блокировок: - совместный режим блокировки — нежесткая, или разделяемая, блокировка, обозначаемая как S (Shared). Этот режим обозначает разделяемый захват объекта и требуется для выполнения операции чтения объекта. Объекты, заблокированные таким образом, не изменяются в ходе выполнения транзакции и доступны другим транзакциям также, но только в режиме чтения;

Слайд 11





Режимы блокировок:
Режимы блокировок:
- монопольный режим блокировки — жесткая, или эксклюзивная, блокировка, обозначаемая как X (eXclusive). Данный режим блокировки предполагает монопольный захват объекта и требуется для выполнения операций занесения, удаления и модификации. Объекты, заблокированные данным типом блокировки, фактически остаются в монопольном режиме обработки и недоступны для других транзакций до момента окончания работы данной транзакции.
Описание слайда:
Режимы блокировок: Режимы блокировок: - монопольный режим блокировки — жесткая, или эксклюзивная, блокировка, обозначаемая как X (eXclusive). Данный режим блокировки предполагает монопольный захват объекта и требуется для выполнения операций занесения, удаления и модификации. Объекты, заблокированные данным типом блокировки, фактически остаются в монопольном режиме обработки и недоступны для других транзакций до момента окончания работы данной транзакции.

Слайд 12





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

Слайд 13





Применения разных типов блокировок приводит к проблеме тупиков. Проблема тупиков возникла при рассмотрении выполнения параллельных процессов в операционных средах и также была связана с управлением разделяемыми (совместно используемыми) ресурсами.
Применения разных типов блокировок приводит к проблеме тупиков. Проблема тупиков возникла при рассмотрении выполнения параллельных процессов в операционных средах и также была связана с управлением разделяемыми (совместно используемыми) ресурсами.
Пример
Описание слайда:
Применения разных типов блокировок приводит к проблеме тупиков. Проблема тупиков возникла при рассмотрении выполнения параллельных процессов в операционных средах и также была связана с управлением разделяемыми (совместно используемыми) ресурсами. Применения разных типов блокировок приводит к проблеме тупиков. Проблема тупиков возникла при рассмотрении выполнения параллельных процессов в операционных средах и также была связана с управлением разделяемыми (совместно используемыми) ресурсами. Пример

Слайд 14





Пусть транзакция А сначала жестко блокирует таблицу 1, а потом жестко блокирует таблицу 2. Транзакция В, наоборот, сначала жестко блокирует таблицу 2, а потом жестко блокирует таблицу 1. Если обе эти транзакции начали работу одновременно, то после выполнения операций модификации первыми объектами каждой транзакции они обе окажутся в бесконечном ожидании: транзакция А будет ждать завершения работы транзакции В и разблокировки таблицы 2, а транзакция В также безрезультатно будет ждать окончания работы транзакции А и разблокировки таблицы 1
Пусть транзакция А сначала жестко блокирует таблицу 1, а потом жестко блокирует таблицу 2. Транзакция В, наоборот, сначала жестко блокирует таблицу 2, а потом жестко блокирует таблицу 1. Если обе эти транзакции начали работу одновременно, то после выполнения операций модификации первыми объектами каждой транзакции они обе окажутся в бесконечном ожидании: транзакция А будет ждать завершения работы транзакции В и разблокировки таблицы 2, а транзакция В также безрезультатно будет ждать окончания работы транзакции А и разблокировки таблицы 1
Описание слайда:
Пусть транзакция А сначала жестко блокирует таблицу 1, а потом жестко блокирует таблицу 2. Транзакция В, наоборот, сначала жестко блокирует таблицу 2, а потом жестко блокирует таблицу 1. Если обе эти транзакции начали работу одновременно, то после выполнения операций модификации первыми объектами каждой транзакции они обе окажутся в бесконечном ожидании: транзакция А будет ждать завершения работы транзакции В и разблокировки таблицы 2, а транзакция В также безрезультатно будет ждать окончания работы транзакции А и разблокировки таблицы 1 Пусть транзакция А сначала жестко блокирует таблицу 1, а потом жестко блокирует таблицу 2. Транзакция В, наоборот, сначала жестко блокирует таблицу 2, а потом жестко блокирует таблицу 1. Если обе эти транзакции начали работу одновременно, то после выполнения операций модификации первыми объектами каждой транзакции они обе окажутся в бесконечном ожидании: транзакция А будет ждать завершения работы транзакции В и разблокировки таблицы 2, а транзакция В также безрезультатно будет ждать окончания работы транзакции А и разблокировки таблицы 1

Слайд 15





Основой обнаружения тупиковых ситуаций является построение (или постоянное поддержание) графа ожидания транзакций.
Основой обнаружения тупиковых ситуаций является построение (или постоянное поддержание) графа ожидания транзакций.
Граф ожидания транзакций может строиться двумя способами. 
Граф ожидания — это направленный граф, в вершинах которого расположены имена транзакций. 
Если транзакция А ждет окончания транзакции В, то из вершины А в вершину В идет стрелка. Дополнительно стрелки могут быть помечены именами заблокированных объектов и типом блокировки. 
Описание слайда:
Основой обнаружения тупиковых ситуаций является построение (или постоянное поддержание) графа ожидания транзакций. Основой обнаружения тупиковых ситуаций является построение (или постоянное поддержание) графа ожидания транзакций. Граф ожидания транзакций может строиться двумя способами. Граф ожидания — это направленный граф, в вершинах которого расположены имена транзакций. Если транзакция А ждет окончания транзакции В, то из вершины А в вершину В идет стрелка. Дополнительно стрелки могут быть помечены именами заблокированных объектов и типом блокировки. 

Слайд 16





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

Слайд 17





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

Слайд 18





Для обеспечения сериализации транзакций синхронизационные захваты объектов, произведенные по инициативе транзакции, можно снимать только при ее завершении. Это требование порождает двухфазный протокол синхронизационных захватов — 2PL(two phase lock) или 2РС (two phase commit). В соответствии с этим протоколом выполнение транзакции разбивается на две фазы:
- первая фаза транзакции — накопление захватов;
- вторая фаза (фиксация или откат) — освобождение захватов.
Для обеспечения сериализации транзакций синхронизационные захваты объектов, произведенные по инициативе транзакции, можно снимать только при ее завершении. Это требование порождает двухфазный протокол синхронизационных захватов — 2PL(two phase lock) или 2РС (two phase commit). В соответствии с этим протоколом выполнение транзакции разбивается на две фазы:
- первая фаза транзакции — накопление захватов;
- вторая фаза (фиксация или откат) — освобождение захватов.
Описание слайда:
Для обеспечения сериализации транзакций синхронизационные захваты объектов, произведенные по инициативе транзакции, можно снимать только при ее завершении. Это требование порождает двухфазный протокол синхронизационных захватов — 2PL(two phase lock) или 2РС (two phase commit). В соответствии с этим протоколом выполнение транзакции разбивается на две фазы: - первая фаза транзакции — накопление захватов; - вторая фаза (фиксация или откат) — освобождение захватов. Для обеспечения сериализации транзакций синхронизационные захваты объектов, произведенные по инициативе транзакции, можно снимать только при ее завершении. Это требование порождает двухфазный протокол синхронизационных захватов — 2PL(two phase lock) или 2РС (two phase commit). В соответствии с этим протоколом выполнение транзакции разбивается на две фазы: - первая фаза транзакции — накопление захватов; - вторая фаза (фиксация или откат) — освобождение захватов.

Слайд 19





В языке SQL введен оператор явной блокировки таблицы, который позволяет точно задать тип блокировки для всей таблицы. Синтаксис операции блокировки имеет вид:

В языке SQL введен оператор явной блокировки таблицы, который позволяет точно задать тип блокировки для всей таблицы. Синтаксис операции блокировки имеет вид:

LOCK TABLE имя_таблицы IN {SHARED | EXCLUSIVE} MODE

Имеет смысл блокировать таблицу полностью, когда выполняется операция множественной модификации одной таблицы, то есть когда в ней изменяется большое количество строк. Эта операция иногда называется пакетным обновлением.
Описание слайда:
В языке SQL введен оператор явной блокировки таблицы, который позволяет точно задать тип блокировки для всей таблицы. Синтаксис операции блокировки имеет вид: В языке SQL введен оператор явной блокировки таблицы, который позволяет точно задать тип блокировки для всей таблицы. Синтаксис операции блокировки имеет вид: LOCK TABLE имя_таблицы IN {SHARED | EXCLUSIVE} MODE Имеет смысл блокировать таблицу полностью, когда выполняется операция множественной модификации одной таблицы, то есть когда в ней изменяется большое количество строк. Эта операция иногда называется пакетным обновлением.

Слайд 20






Спасибо за внимание!!!
Описание слайда:
Спасибо за внимание!!!



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