DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Транзакции


Транзакции — это одно из средств, отличающих базу данных от файловой системы. Если вы находитесь в процессе записи файла и операционная система терпит крах, этот файл, скорее всего, будет поврежден. Правда, существуют файло­вые системы с ведением журналов, которые могут восстановить ваш файл до неко­торого момента времени. Однако если вам нужно обеспечить синхронизацию двух файлов, то система не может помочь вами в этом — если вы обновите один файл, и в системе произойдет сбой прежде, чем вы завершите обновление второго, то вы получите несинхронизированные файлы. В том и состоит основное назначение транзакций базы данных — они переводят базу из одного согласованного состояния в другое. В этом заключается их работа. Когда вы фиксируете работу в базе данных, то можете быть уверены, что все раз­нообразные правила и проверки, защищающие целостность базы, реализованы. В предыдущей главе мы говорили о транзакциях в терминах управления па­раллелизмом и о том, как в результате использования многоверсионной согласо­ванной по чтению модели Oracle транзакции Oracle могут обеспечить согласован­ность данных в любое время, в условиях высоко конкурентного доступа к данным. Транзакции в Oracle удовлетворяют всем требуемым характеристикам ACID. Аббревиатура ACID означает: 
атомарность (atomicity) — выполняется либо вся транзакция целиком, либо она целиком не выполняется; 
согласованность (consistency) — транзакция переводит базу данных из одного согласованного состояния в другое; 
изоляция (isolation) — эффект от транзакции не виден другим транзакциям до тех пор, пока она не будет зафиксирована; 
устойчивость (durability) — как только транзакция зафиксирована, она оста­ется постоянной. 

В прошлой главе мы обсуждали, как Oracle обеспечивает согласованность и изо­ляцию. Здесь мы сосредоточим внимание на концепции атомарности и ее при­менении в СУБД Oracle. 
В настоящей главе мы поговорим о влиянии атомарности и о том, как она каса­ется операторов SQL в Oracle. Мы расскажем об операторах управления транзак­циями, таких как COMMIT, SAVEPOINT и ROLLBACK, и обсудим способы обеспечения ограничений целостности в транзакциях. Также мы рассмотрим некоторые плохие привычки, связанные с транзакциями, которые вы могли приобрести, разраба­тывая приложения для других СУБД. Речь пойдет также о распределенных тран­закциях и двухфазной фиксации (2PC). И последняя тема, которая будет поднята здесь — это автономные транзакции: что они собой представляют и какую играют роль. 
 


counter strike картинки







jAntivirus