S или X-блокирование


Поскольку любая операция над реляционной базой данных задается некоторым условием (т.е. в ней указывается не конкретный набор объектов базы данных, над которыми нужно выполнить операцию, а условие, которому должны удовлетворять объекты этого набора), то удобным способом было бы S или X-блокирование именно этого условия. Однако при попытке использовать этот метод в реальной СУБД возникает трудность определения совместимости различных условий. Действительно, в языке SQL допускаются условия с подзапросами и другими сложными предикатами.

    Таблица 13
    Таблица 13 Транзакция B пытается наложить на таблицу блокировку: Транзакция A наложила на таблицу блокировку: IS S IX SIX X IS Да Да Да Да Нет S Да Да Нет Нет Нет IX Да Нет Да Нет Нет SIX Да Нет Н...
    Таблица 14
    Таблица 14 Транзакция A Время Транзакция B S-блокировка таблицы (с целью потом блокировать строки) - успешна --- S-блокировка строк, удовлетворяющих условию . (Заблокировано n строк) --- Выборка с...
    Предикатные блокировки
    Предикатные блокировки Другим способом блокирования является блокировка не объектов базы данных, а условий, которым могут удовлетворять объекты. Такие блокировки называются предикатными блокировка...
    Метод временных меток
    Метод временных меток Альтернативный метод сериализации транзакций, хорошо работающий в условиях редких конфликтов транзакций и не требующий построения графа ожидания транзакций основан на использ...
    Механизм выделения версий данных
    Механизм выделения версий данных Использование блокировок гарантирует сериальность планов выполнения смеси транзакций за счет общего замедления работы - конфликтующие транзакции ожидают, когда тра...
    Таблица 15
    Таблица 15 Транзакция A Время Транзакция B Проверка SCN счета - SCN транзакции больше SCN счета. Чтение счета без наложения блокировки и суммирование. --- --- X-блокировка счета - успешна ---Теорема есварана о сериализуемости...
    : Перед выполнение каких-либо операций с некоторым объектом, транзакция должна заблокировать этот объект. После снятия блокировки, транзакция не должна накладывать никаких других блокировок. Транз...
    Теорема есварана
    Теорема Есварана . Если все транзакции в смеси подчиняются протоколу двухфазной блокировки, то для всех чередующихся графиков запуска существует возможность упорядочения. Протокол называется двухф...
    Реализация изолированности транзакций средствами sql
    Реализация изолированности транзакций средствами SQL...
    Уровни изоляции
    Уровни изоляции Стандарт SQL не предусматривает понятие блокировок для реализации сериализуемости смеси транзакций. Вместо этого вводится понятие уровней изоляции. Этот подход обеспечивает необход...
    Таблица 16
    Таблица 16 Уровень изоляции Неаккуратное считывание Неповторяемое считывание Фантомы READ UNCOMMITTED Да Да Да READ COMMITTED Нет Да Да REPEATABLE READ Нет Нет Да SERIALIZABLE Нет Нет Нет Таблица...
    Синтаксис операторов sql, определяющих уровни изоляции
    Синтаксис операторов SQL, определяющих уровни изоляции Уровень изоляции транзакции задается следующим оператором: SET TRANSACTION { ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE...
    Выводы
    Выводы Современные многопользовательские системы допускают одновременную работу большого числа пользователей. При этом если не предпринимать специальных мер, транзакции будут мешать друг другу. Эт...
    Глава 11. Транзакции и восстановление данных


    Глава 11. Транзакции и восстановление данных В данной главе изучаются возможности восстановления данных после сбоев системы, т.е. свойство (Д) - долговечность транзакций. Главное требование долгов...
    Виды восстановления данных
    Виды восстановления данных Восстановление базы данных может производиться в следующих случаях: Индивидуальный откат транзакции . Откат индивидуальной транзакции может быть инициирован либо самой т...
    Индивидуальный откат транзакции
    Индивидуальный откат транзакции Для того чтобы можно было выполнить по журналу транзакций индивидуальный откат транзакции, все записи в журнале от данной транзакции связываются в обратный список....
    Восстановление после мягкого сбоя
    Восстановление после мягкого сбоя Несмотря на протокол WAL, после мягкого сбоя не все физические страницы базы данных содержат измененные данные, т.к. не все "грязные" страницы базы данных были вы...
    Восстановление после жесткого сбоя
    Восстановление после жесткого сбоя При жестком сбое база данных на диске нарушается физически. Основой восстановления в этом случае является журнал транзакций и архивная копия базы данных . Архивн...
    Восстановление данных и стандарт sql
    Восстановление данных и стандарт SQL Стандарт языка SQL не содержит требований к восстановимости данных, оставляя эти вопросы на усмотрение разработчиков СУБД....
    Выводы
    Выводы Главное требование долговечности данных транзакций состоит в том, что данные зафиксированных транзакций должны сохраняться в системе, даже если в следующий момент произойдет сбой системы. И...



Содержание раздела