Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Работа транзакций в смеси
Атомарность отдельной транзакции состоит в том, что СУБД гарантирует, что, с точки зрения пользователя, будут выполнены два условия: 1. Эта операция будет выполнена целиком или не выполнена вовсе (атомарность - все или ничего). 2. Во время выполнения этой операции не выполняются никакие другие операции других транзакций (строгая очередность элементарных операций). Устно. Например, элементарными операциями транзакции будут считывание страницы данных с диска или запись страницы данных на диск (страница данных - это минимальная единица для дисковых операций СУБД). Условие 2 на самом деле является именно логическим условием, т.к. реально система может выполнять несколько различных элементарных операций в один и тот же момент. Например, данные могут храниться на нескольких физически различных дисках и операции чтения-записи на эти диски могут выполняться одновременно. С другой стороны элементарные операции различных транзакций могут выполняться в произвольной очередности (при этом внутри каждой транзакции последовательность элементарных операций этой транзакции является строго определенной). Например, если есть несколько транзакций, состоящих из последовательности операций элементарных: , , то реальная последовательность, в которой СУБД выполняет эти транзакции, может быть, например, такой: . Определение. Набор из нескольких транзакций, элементарные операции которых чередуются друг с другом, называется смесью транзакций. Определение. Последовательность, в которой выполняются элементарные операции заданного набора транзакций, называется графиком запуска набора транзакций. Замечание. Очевидно, что для заданного набора транзакций может быть несколько (вообще говоря, достаточно много) различных графиков запуска. Обеспечение изолированности пользователей, таким образом, сводится к выбору подходящего (в каком-то смысле) графика запуска транзакций. Одновременно с этим график запуска должен быть оптимальным в некотором смысле, например, давать минимальное среднее время выполнения транзакций каждым пользователем.
|