Вкладена транзакція — це транзакція бази даних, яка запускається інструкцією в межах уже розпочатої транзакції.
Вкладені транзакції реалізуються по-різному в різних базах даних. Однак вони всі мають спільне те, що зміни не стають видимими для жодних непов’язаних транзакцій, доки не буде фіксовано крайню транзакцію. Це означає, що фіксація у внутрішній транзакції не обов’язково зберігає оновлення системи.
У деяких базах даних зміни, внесені вкладеною транзакцією, не відображаються транзакцією «хост», поки вкладена транзакція не буде зафіксована. Дехто вважає, що це випливає з властивості ізоляції транзакцій.
Здатність правильно обробляти вкладені транзакції є необхідною умовою для справжніх архітектур програм на основі компонентів. В інкапсульованій архітектурі на основі компонентів вкладені транзакції можуть відбуватися без відома програміста. Функція компонента може містити або не містити транзакцію бази даних (це інкапсульований секрет компонента. Див. Приховування інформації). Якщо виклик такої функції компонента здійснюється всередині блоку BEGIN - COMMIT, відбуваються вкладені транзакції. Оскільки популярні бази даних, такі як MySQL, не допускають вкладення блоків BEGIN - COMMIT, для цього потрібен фреймворк або монітор транзакцій. Коли ми говоримо про вкладені транзакції, слід пояснити, що ця функція залежить від СУБД і доступна не для всіх баз даних.
Теорія вкладених транзакцій подібна до теорії плоских транзакцій.
Банківська галузь зазвичай обробляє фінансові операції за допомогою відкритих вкладених транзакцій, що є більш вільним варіантом моделі вкладених транзакцій і забезпечує вищу продуктивність, приймаючи супутні компроміси невідповідності.
Подальше читання
- Герхард Вейкум, Готфрід Фоссен, Транзакційні інформаційні системи: теорія, алгоритми та практика контролю і відновлення паралельності, Морган Кауфманн, 2002,
Посилання
- . MySQL 4.1 Reference Manual. Oracle. Архів оригіналу за 7 червня 2011. Процитовано 5 грудня 2010.
- Resende, R.F.; El Abbadi, A. (25 травня 1994). On the serializability theorem for nested transactions. Information Processing Letters. 50 (4): 177—183. CiteSeerX 10.1.1.43.6470. doi:10.1016/0020-0190(94)00033-6.
- Weikum, Gerhard; Hans-J. Schek (1992). Concepts and Applications of Multilevel Transactions and Open Nested Transactions. Morgan Kaufmann. с. 515–553. ISBN .
{{}}
: Проігноровано|journal=
()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vkladena tranzakciya ce tranzakciya bazi danih yaka zapuskayetsya instrukciyeyu v mezhah uzhe rozpochatoyi tranzakciyi Vkladeni tranzakciyi realizuyutsya po riznomu v riznih bazah danih Odnak voni vsi mayut spilne te sho zmini ne stayut vidimimi dlya zhodnih nepov yazanih tranzakcij doki ne bude fiksovano krajnyu tranzakciyu Ce oznachaye sho fiksaciya u vnutrishnij tranzakciyi ne obov yazkovo zberigaye onovlennya sistemi U deyakih bazah danih zmini vneseni vkladenoyu tranzakciyeyu ne vidobrazhayutsya tranzakciyeyu host poki vkladena tranzakciya ne bude zafiksovana Dehto vvazhaye sho ce viplivaye z vlastivosti izolyaciyi tranzakcij Zdatnist pravilno obroblyati vkladeni tranzakciyi ye neobhidnoyu umovoyu dlya spravzhnih arhitektur program na osnovi komponentiv V inkapsulovanij arhitekturi na osnovi komponentiv vkladeni tranzakciyi mozhut vidbuvatisya bez vidoma programista Funkciya komponenta mozhe mistiti abo ne mistiti tranzakciyu bazi danih ce inkapsulovanij sekret komponenta Div Prihovuvannya informaciyi Yaksho viklik takoyi funkciyi komponenta zdijsnyuyetsya vseredini bloku BEGIN COMMIT vidbuvayutsya vkladeni tranzakciyi Oskilki populyarni bazi danih taki yak MySQL ne dopuskayut vkladennya blokiv BEGIN COMMIT dlya cogo potriben frejmvork abo monitor tranzakcij Koli mi govorimo pro vkladeni tranzakciyi slid poyasniti sho cya funkciya zalezhit vid SUBD i dostupna ne dlya vsih baz danih Teoriya vkladenih tranzakcij podibna do teoriyi ploskih tranzakcij Bankivska galuz zazvichaj obroblyaye finansovi operaciyi za dopomogoyu vidkritih vkladenih tranzakcij sho ye bilsh vilnim variantom modeli vkladenih tranzakcij i zabezpechuye vishu produktivnist prijmayuchi suputni kompromisi nevidpovidnosti Podalshe chitannyaGerhard Vejkum Gotfrid Fossen Tranzakcijni informacijni sistemi teoriya algoritmi ta praktika kontrolyu i vidnovlennya paralelnosti Morgan Kaufmann 2002 ISBN 1 55860 508 8Posilannya MySQL 4 1 Reference Manual Oracle Arhiv originalu za 7 chervnya 2011 Procitovano 5 grudnya 2010 Resende R F El Abbadi A 25 travnya 1994 On the serializability theorem for nested transactions Information Processing Letters 50 4 177 183 CiteSeerX 10 1 1 43 6470 doi 10 1016 0020 0190 94 00033 6 Weikum Gerhard Hans J Schek 1992 Concepts and Applications of Multilevel Transactions and Open Nested Transactions Morgan Kaufmann s 515 553 ISBN 978 1 55860 214 4 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite book title Shablon Cite book cite book a Proignorovano journal dovidka