
5.2.
Технологии
н
модели «Клиент-сервер»
Помимо обеспечения целостности данных механизм тран-
закций оказался чрезвычайно полезным для практической реа-
лизации одного из основополагающих принципов распределен-
ных многопользовательских систем — изолированности
пользователей. Как уже отмечалось,
единичные
действия
пользователей с базой данных ассоциированы с транзакциями.
В том случае, когда от разных пользователей
поетупают
тран-
закции, время выполнения которых
перекрывается,
монитор
транзакций обеспечивает специальную технологию их взаим-
ного выполнения
и
изоляции с тем, чтобы избежать нарушений
согласованного состояния данных и других издержек совмес-
тной обработки. К числу подобных издержек относятся:
• потерянные изменения;
• «грязные» данные;
• неповторяющиеся чтения.
Потерянные изменения возникают тогда, когда две тран-
закции одновременно изменяют один и тот
э/се
объект базы
данных. В том случае, если в силу каких-либо причин, напри-
мер, из-за нарушений целостности данных, происходит откат,
скажем, второй транзакции, то вместе с этим отменяются и все
изменения, внесенные в соответствующий период времени пер-
вой транзакцией. В результате первая еще не завершившаяся
транзакция при
повтор^юм
чтении объекта не «видит» своих
ранее сделанных изменений данных. Очевидным способом пре-
одоления подобных ситуаций является запрет изменения дан-
ных любой другой транзакцией до момента завершения пер-
вой транзакции — так называемая блокировка объекта.
«Грязные» данные возникают тогда, когда одна транзак-
ция
изменяет
какой-либо объект данных, а другая транзакция
в этот момент читает данные из того же объекта. Так как
первая транзакция еще не завершена, и, следовательно, не про-
верена согласованность данных после проведенных, или вовсе
еще только частично проведенных изменений, то вторая тран-
закция может «видеть» соответственно несогласованные, т. е.
«грязные» данные. Опять-таки способом
недопущет/я
таких
ситуаций может быть запрет чтения объекта любой другой
213