П. Г. Демидова А. В. Зафиевский А. А. Короткин А. Н. Лататуев Базы данных Учебное пособие
Download 1.32 Mb. Pdf ko'rish
|
Базы данных
- Bu sahifa navigatsiya:
- 6.3. Свойства транзакций
6.2.4. Вставка строкпризраков
Разновидностью неповторяющегося чтения является вставка строк-призраков (phantom insert). Момент времени Задача 1 Задача 2 1 SELECT SUM(a1) FROM t1 2 INSERT INTO t1 … 3 SELECT SUM(a1) FROM t1 Здесь также в разные моменты времени один и тот же запрос в задаче 2 дает разные результаты, создавая впечатление с точки зрения этой задачи, что новая строка в таблице t1 появилась «ниоткуда». В отличие от предыдущего примера приведенная проблема может иметь меньший эффект, поскольку если выборка строк ведется по первичному ключу и статистические функции не используются, то задача 2 просто «не увидит» новую строку. 6.3. Свойства транзакций Сформулируем теперь условия, предъявляемые к транзак- циям, которые позволят исключить или скомпенсировать описан- ные в предыдущем пункте нежелательные эффекты. Обычно их обозначают аббревиатурой ACID – Atomicity, Consistency, Isolation, Durability (неделимость, согласованность, изолирован- ность, устойчивость). Означают они следующее. Atomicity – действие транзакции по принципу «все или ни- чего»: либо база данных переходит в новое состояние, соот- ветствующее выполненным в ходе транзакции модифика- циям базы данных, либо, если в ходе выполнения возникли критические ошибки или пользователь решил прервать вы- полнение транзакции, – возврат базы данных к состоянию на момент начала транзакции. Consistency – перевод из одного целостного (согласованного) состояния в другое. При этом в ходе выполнения отдельных команд транзакции согласованность данных может нару- шаться (например, хранимое значение суммы каких-либо дан- ных может не соответствовать реальной сумме этих данных), однако по ее окончании все данные, относящиеся к этой транзакции, должны соответствовать друг другу. Внутренние структуры данных, поддерживающие согласованность дан- 127 ных, например индексы или связи «родитель-потомок», также должны быть правильными в конце транзакции. Isolation (изолированность) – недоступность промежуточ- ных результатов другим пользователям. У пользователя должна создаваться иллюзия, что только он работает с базой данных. Единственным эффектом от присутствия других пользователей может быть лишь замедление работы систе- мы (иногда весьма значительное). Это свойство называют также упорядочиваемостью, поскольку при параллельном выполнении транзакций оно дает тот же самый результат, что и при их последовательном выполнении в некотором порядке. Durability (устойчивость) – сохранение зафиксированных данных. Это означает, что в конце транзакции ее результаты должны быть переписаны из буферов оперативной памяти на диски, чтобы дальнейшие события, происходящие в про- цессе функционирования базы данных, не могли изменить результаты этой транзакции. Разумеется, данные, с которы- ми оперировала транзакция, впоследствии могут быть изме- нены, но при откате на момент окончания транзакции они должны быть теми же, что получились в результате ее фиксации. Download 1.32 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling