Добавил:
Факультет ИКСС, группа ИКВТ-61 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lektsii / лекция 4.ppt
Скачиваний:
41
Добавлен:
03.04.2019
Размер:
96.26 Кб
Скачать

Лекция 4. Транзакции и параллельные вычисления

Параллелизм

Транзакции, их свойства

Уровни изоляции

Блокировки

Параллелизм

Одновременное обслуживание нескольких

пользователей независимо друг от друга называется параллелизмом.

Проблемы:

Множественные запросы на подключение;Одновременный доступ к данным;

Решение:

Блокировки

Транзакции

Транзакция — это совокупность одной или нескольких SQL инструкций, имеющая начало и конец. В конце транзакции происходит либо ее отмена, либо завершение.

Отмена транзакции называется откатом (rollback), так как происходит последовательная отмена всех сделанных изменений.

Завершение транзакции называется

фиксацией (commit).

Свойства транзакций

Атомарность

Согласованность

Изолированность

Устойчивость

Свойства транзакций

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

База данных поддерживает внутреннюю согласованность за счет сериализации

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

Свойства транзакций

Свойство устойчивости означает, что при успешном завершении транзакции в базу данных вносятся постоянные, неотменяемые изменения.

Уровни изоляции

В MySQL выбор уровня изоляции

осуществляется с помощью инструкции SET

TRANSACTION.

Уровни:

READ UNCOMMITTED (наименьшая изолированность)

READ COMMITTED

REPEATABLE READ

SERIALIZABLE (наибольшая изолированность)

Блокировки

Блокировки — это механизм, применяемый в MySQL для реализации транзакций и обеспечения одновременного доступа к данным.

Инструкции:

LOCK TABLES

UNLOCK TABLES

GET_LOCK

RELEASE_LOCK

Последовательности

Последовательность - это специальная конструкция, доступная в некоторых реляционных СУБД, включая Oracle. Она представляет собой счетчик, используемый для создания уникальных числовых идентификаторов. Текущее значение счетчика можно извлечь с помощью инструкции SELECT. Это происходит в атомарном режиме, т.е. гарантируется, что никакие два потока не получат два одинаковых идентификатора.

Соседние файлы в папке lektsii