Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_s_9-16.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
183.95 Кб
Скачать

28. Определение транзакций и их роль в поддержке согласованности и защите от отказов

Транзакцией называется последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого (согласованного) состояния в другое непротиворечивое (согласованное) состояние. Т.е. либо эта последовательность операций выполняется целиком, либо не выполняется никак. Транзакции удовлетворяют набору ACID: 1) Atomicity (Атомарность). Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной. Поскольку на практике невозможно одновременно и атомарно выполнить всю последовательность операций внутри транзакции, вводится понятие «отката» (rollback): если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены и система вернётся в исходное состояние.2)  Consistency (Согласованность). Одно из самых сложных и неоднозначных свойств из четвёрки ACID. В соответствии с этим требованием, система находится в согласованном состоянии до начала транзакции и должна остаться в согласованном состоянии после завершения транзакции 3)  Isolation (Изолированность). Во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Например, если транзакция изменяет сразу несколько полей в базе данных, то другой запрос, выполненный во время выполнения транзакции, не должен вернуть одни из этих полей с новыми значениями, а другие с исходными.

4)Durability (Долговечность). Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу. Другими словами, если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.

29. Восстановление баз данных. Журнал транзакций

Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее согласованное состояние в случае логических или физических отказов. В простейшем случае журнализация изменений заключается в последовательной записи во внешнюю память всех изменений, выполняемых в базе данных. Записывается следующая информация:1) порядковый номер, тип и время изменения; 2) идентификатор транзакции; 3) объект, подвергшийся изменению (номер хранимого файла и номер блока данных в нём, номер строки внутри блока); 4)предыдущее состояние объекта и новое состояние объекта. Формируемая таким образом информация называется журнал изменений базы данных. Журнал содержит отметки начала и завершения транзакции Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения.  Журнал транзакций нельзя ни удалять, ни изменять, если только не известны возможные последствия. Журнал транзакций поддерживает следующие операции: 1)восстановление отдельных транзакций; 2) восстановление всех незавершенных транзакций при запуске SQL Server;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]