Jump to content

Вложенная транзакция

Вложенная транзакция это транзакция базы данных , которая запускается инструкцией в рамках уже запущенной транзакции.

Вложенные транзакции реализуются по-разному в разных базах данных. Однако их объединяет то, что изменения не становятся видимыми для несвязанных транзакций до тех пор, пока самая внешняя транзакция не будет зафиксирована. Это означает, что фиксация внутренней транзакции не обязательно сохраняет обновления в системе.

В некоторых базах данных изменения, внесенные вложенной транзакцией, не видны «хостовой» транзакции до тех пор, пока вложенная транзакция не будет зафиксирована. По мнению некоторых, [ ВОЗ? ] это следует из свойства изолированности транзакций.

Возможность правильной обработки вложенных транзакций является обязательным условием для настоящей архитектуры приложений, основанной на компонентах. В инкапсулированной архитектуре на основе компонентов вложенные транзакции могут происходить без ведома программиста. Функция компонента может содержать или не содержать транзакцию базы данных (это инкапсулированный секрет компонента. См. « Скрытие информации »). Если вызов такой функции компонента выполняется внутри скобки BEGIN — COMMIT, возникают вложенные транзакции. Поскольку популярные базы данных, такие как MySQL [1] не разрешайте вложение скобок BEGIN - COMMIT, для этого необходима платформа или монитор транзакций. Когда мы говорим о вложенных транзакциях, следует понимать, что эта функция зависит от СУБД и доступна не для всех баз данных.

Теория вложенных транзакций аналогична теории плоских транзакций. [2]

В банковской сфере финансовые транзакции обычно обрабатываются с использованием открытых вложенных транзакций . [ нужна ссылка ] Это более свободный вариант модели вложенных транзакций, который обеспечивает более высокую производительность, принимая при этом сопутствующие компромиссы в виде несогласованности. [3]

Дальнейшее чтение

[ редактировать ]
  • Герхард Вейкум, Готфрид Воссен, Транзакционные информационные системы: теория, алгоритмы и практика параллельного управления и восстановления , Морган Кауфманн, 2002 г., ISBN   1-55860-508-8
  1. ^ «Операторы, вызывающие неявную фиксацию» . Справочное руководство MySQL 4.1 . Оракул . Проверено 5 декабря 2010 г.
  2. ^ Ресенде, РФ; Эль Аббади, А. (25 мая 1994 г.). «О теореме сериализуемости вложенных транзакций». Письма об обработке информации . 50 (4): 177–183. CiteSeerX   10.1.1.43.6470 . дои : 10.1016/0020-0190(94)00033-6 .
  3. ^ Вейкум, Герхард; Ханс-Дж. Щек (1992). Концепции и приложения многоуровневых транзакций и открытых вложенных транзакций . Морган Кауфманн. стр. 515–553 . CiteSeerX   10.1.1.17.7962 . ISBN  978-1-55860-214-4 . {{cite book}}: |journal= игнорируется ( помогите )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7888e2399493170b8bbded44dc62ea65__1576638000
URL1:https://arc.ask3.ru/arc/aa/78/65/7888e2399493170b8bbded44dc62ea65.html
Заголовок, (Title) документа по адресу, URL1:
Nested transaction - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)