DeepEdit!

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

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

Резюме

В данной главе мы рассмотрели множество аспектов управления транзакция­ми в Oracle. Транзакции — одно из главных средств, отличающих базу данных от файловой системы. Понимание их работы и правильное их применение необходи­мо для корректной реализации приложений в любой базе данных. Очень важно понимание того, что в Oracle любой оператор является атомарным (включая все побочные эффекты от этого), и что атомарность распространяется и на хранимые процедуры. Мы видели, как помещение в блок PL/SQL обработчика исключений WHEN OTHERS может радикально повлиять на то, какие изменения произойдут в базе данных. Для разработчиков базы данных четкое понимание работы транзак­ций имеет важнейшее значение. 
Мы рассмотрели некоторые сложные взаимодействия между ограничениями целостности (уникальные ключи, проверочные ограничения и тому подобные) и транзакциями в Oracle. Мы обсудили, как обычно Oracle обрабатывает ограниче­ния целостности немедленно после выполнения операторов, а затем — как можно отложить верификацию ограничений до конца транзакции, когда это необходимо. Это средство является ключевым в реализации сложных многотабличных обновле­ний, когда модифицируемые таблицы зависят друг от друга — примером служило каскадное обновление. 
Мы проанализировали некоторые вредные привычки разработчиков, связан­ные с транзакциями, которые происходят из опыта работы с базами данных, “под­держивающими”, а не “стимулирующими” к применению транзакций. Мы описали кардинальное правило транзакций: они должны быть насколько возможно крат­кими, но не короче, чем это необходимо. Целостность данных управляет разме­ром транзакций — это ключевая концепция, которую вы должны вынести из этой главы. Единственный фактор, влияющий на размер ваших транзакций — это биз­нес-правила, которым подчиняется ваша система. Нет пространства отката, нет блокировок — вот каковы бизнес-правила. 
Мы раскрыли тему распределенных транзакций и их отличие от одиночных транзакций баз данных. Мы исследовали ограничения, накладываемые на рас­пределенные транзакции, и объяснили причины их существования. Прежде чем вы построите распределенную систему, вам следует четко понимать эти ограниче­ния. То, что работает в отдельном экземпляре, может не работать в распределен­ной базе данных. 
Эта глава завершилась рассмотрением автономных транзакций с описанием того, что они собой представляют, и, что более важно — когда их стоит использо­вать, а когда — нет. Я хотел бы еще раз подчеркнуть, что оправданное применение автономных транзакций в реальном мире случается исключительно редко. Если вы обнаружите, что используете их постоянно, вам стоит серьезно задуматься над причинами этого. 
 









jAntivirus