www.wikidata.uk-ua.nina.az
U Vikipediyi ye statti pro inshi znachennya cogo termina Tranzakciya Tranza kciya angl transaction grupa poslidovnih operacij z bazoyu danih yaka ye logichnoyu odiniceyu roboti z danimi Tranzakciya mozhe buti vikonana abo cilkom i uspishno dotrimuyuchis cilisnosti danih i nezalezhno vid inshih tranzakcij sho jdut paralelno abo ne vikonana zovsim i todi vona ne mozhe spraviti niyakogo efektu Tranzakciyi obroblyuyutsya tranzakcijnimi sistemami v procesi roboti yakih stvoryuyetsya istoriya tranzakcij Tranzakciyi z bazoyu danih vikoristovuyutsya dlya dosyagnennya nastupnih cilej Zabezpechennya nadijnih robochih elementiv yaki dozvolyayut pravilno vidnoviti robotu u vipadku zboyiv ta zberigati cilisnist bazi danih u vipadku sistemnih vidmov koli vikonannya operacij zupinyayetsya povnistyu abo chastkovo i bilshist operacij nad bazoyu danih zalishayutsya nezavershenimi z nez yasovanim statusom Dlya zabezpechennya rozdilnogo dostupu dlya procesiv sho odnochasno zvertayutsya do bazi danih Pri vidsutnosti izolyaciyi operacij rezultati otrimani procesami mozhut buti pomilkovimi Rozriznyayut poslidovni zvichajni paralelni i rozpodileni tranzakciyi Rozpodileni tranzakciyi vbachayut vikoristannya bilsh nizh odniyeyi tranzakcijnoyi sistemi i potrebuyut nabagato bilsh skladnoyi logiki napriklad two phase commit dvofaznij protokol fiksaciyi tranzakciyi Takozh v deyakih sistemah realizovani avtonomni tranzakciyi abo pid tranzakciyi yaki ye avtonomnoyu chastinoyu batkivskoyi tranzakciyi Zmist 1 Priklad tranzakciyi 2 Vlastivosti tranzakcij 2 1 Atomicity Atomarnist 2 2 Consistency Uzgodzhenist 2 3 Isolation Izolovanist 2 4 Durability Nadijnist 3 Rivni izolyaciyi tranzakcij 4 Realizaciya 5 Div takozh 6 PrimitkiPriklad tranzakciyi RedaguvatiPriklad neobhidno perekazati z bankivskogo rahunku nomer 5 na rahunok nomer 7 sumu v 10 groshovih odinic Cogo mozhna dosyagti napriklad navedenoyu poslidovnistyu dij Pochati tranzakciyu prochitati balans na rahunku nomer 5zmenshiti balans na 10 groshovih odinic zberegti novij balans rahunku nomer 5 prochitati balans na rahunku nomer 7 zbilshiti balans na 10 groshovih odinic zberegti novij balans rahunku nomer 7Zakinchiti tranzakciyuCi diyi yavlyayut soboyu logichnu odinicyu roboti perekaz sumi mizh rahunkami i takim chinom ye tranzakciyeyu Yaksho perervati danu tranzakciyu napriklad v seredini i ne anulyuvati vsi zmini legko zalishiti vlasnika rahunku nomer 5 bez 10 odinic todi yak vlasnik rahunku nomer 7 yih ne otrimaye Vlastivosti tranzakcij RedaguvatiOdnim z najbilsh rozpovsyudzhenih naboriv vimog do tranzakcij i tranzakcijnih sistem ye nabir ACID angl Atomicity Consistency Isolation Durability Vimogi ACID buli v golovnomu sformulovani naprikinci 70 h rokiv Dzhimom Greyem 1 Razom z tim isnuyut specializovani sistemi z oslablenimi tranzakcijnimi vlastivostyami 2 Atomicity Atomarnist Redaguvati Dokladnishe AtomarnistAtomarnist garantuye sho niyaka tranzakciya ne bude zafiksovana v sistemi chastkovo Budut abo vikonani vsi yiyi skladovi operaciyi abo ne vikonano zhodnoyi Oskilki na praktici nemozhlivo odnochasno i atomarno vikonati vsyu poslidovnist operacij useredini tranzakciyi vvoditsya ponyattya vidkat angl rollback yaksho tranzakciyu ne vdayetsya povnistyu zavershiti rezultati vsih yiyi do sih pir vikonanih dij budut vidmineni i sistema povernetsya do stanu na pochatok tranzakciyi Consistency Uzgodzhenist Redaguvati Dokladnishe Uzgodzhenist danihOdna z najskladnishih i neodnoznachnih vlastivostej z chetvirki ACID U vidpovidnosti do ciyeyi vimogi sistema znahoditsya v uzgodzhenomu stani do pochatku tranzakciyi i povinna zalishitis v uzgodzhenomu stani pislya zavershennya tranzakciyi Ne mozhna plutati vimogu uzgodzhenosti z vimogami cilisnosti angl integrity Ostanni pravila ye bilsh vuzkimi i bagato v chomu specifichni dlya relyacijnih SKBD ye vimogi cilisnosti tipiv angl domain integrity cilisnosti posilan angl referential integrity cilisnosti sutnostej angl entity integrity yaki ne mozhut buti porusheni fizichno v silu osoblivostej realizaciyi sistemi Uzgodzhenist ye bilsh shirokim ponyattyam Napriklad v bankivskij sistemi mozhe isnuvati vimoga rivnosti sumi sho spisuyetsya z odnogo rahunku sumi sho zachislyuyetsya na inshij Ce biznes pravilo i vono ne mozhe buti garantovano tilki perevirkami cilisnosti jogo povinni dotrimatis programisti pri napisanni kodu tranzakcij Yaksho bud yaka tranzakciya vikonaye spisannya ale ne vikonaye zachislennya to sistema zalishitsya v nekorektnomu stani i vlastivist uzgodzhenosti bude porushena Nareshti she odne zauvazhennya stosuyetsya togo sho pid chas vikonannya tranzakciyi uzgodzhenist ne potrebuyetsya V nashomu prikladi spisannya i zachislennya budut skorish za vse dvoma riznimi pidoperaciyami i mizh yih vikonannyam vseredini tranzakciyi bude vidno neuzgodzhenij stan sistemi Odnak ne treba zabuvati sho pri vikonanni vimogi izolyaciyi zhodnim inshim tranzakciyam cya neuzgodzhenist ne bude vidna A atomarnist garantuye sho tranzakciya abo bude povnistyu zavershena abo zhodna z operacij tranzakciyi ne bude vikonana Tim samim cya promizhna neuzgodzhenist ye prihovanoyu Isolation Izolovanist Redaguvati Pid chas vikonannya pevnoyi tranzakciyi tranzakciyi yaki vidbuvayutsya paralelno ne povinni vplivati na yiyi rezultat Cya vlastivist ne dotrimuyetsya na rivni izolovanosti Repeatable Read ta nizhche Durability Nadijnist Redaguvati Nezalezhno vid problem na nizhnih rivnyah napriklad pri znestrumlenni sistemi chi zboyah v obladnanni zmini zrobleni tranzakciyeyu yaka uspishno zavershena povinni zalishitis zberezhenimi pislya povernennya sistemi do roboti Inshimi slovami yaksho koristuvach otrimav pidtverdzhennya vid sistemi sho tranzakciya vikonana vin mozhe buti vpevnenij sho zmini yaki vin zrobiv ne budut vidmineni cherez bud yakij zbij Rivni izolyaciyi tranzakcij RedaguvatiDokladnishe Rivni izolovanosti tranzakcijV ideali tranzakciyi riznih koristuvachiv povinni vikonuvatis tak shob stvoryuvalas ilyuziya sho koristuvach potochnoyi tranzakciyi yedinij Odnak v realnosti z mirkuvan produktivnosti i dlya vikonaniya deyakih specialnih zadach SKBD zabezpechuyut pevni rivni izolyaciyi tranzakcij Rivni ye opisanimi v poryadku zbilshennya izolovanosti tranzakcij i vidpovidno nadijnosti roboti z danimi 0 Chitannya nepidtverdzhenih danih brudne chitannya Read Uncommitted Dirty Read chitannya nezafiksovanih zmin yak svoyeyi tranzakciyi tak i paralelnih tranzakcij Nemaye garantiyi sho dani zmineni inshimi tranzakciyami ne budut v bud yakij moment zmineni v rezultati yih vidkata tomu take chitannya ye potencijnim dzherelom pomilok Nemozhlivimi ye vtracheni zmini lost changes mozhlivimi ye nepovtoryuvani chitannya i fantomi 1 Chitannya pidtverdzhenih danih Read Committed chitannya vsih zmin svoyeyi tranzakciyi i zafiksovanih zmin paralelnih tranzakcij Vtracheni zmini i brudne chitannya ne dozvolyayutsya mozhlivimi ye nepovtoryuvane chitannya i fantomi 2 Povtoryuvane chitannya Repeatable Read Snapshot chitannya vsih zmin svoyeyi tranzakciyi bud yaki zmini vneseni paralelnimi tranzakciyami pislya pochatku svoyeyi ye nedostupnimi Vtracheni zmini brudne i nepovtoryuvane chitannya ne ye mozhlivimi mozhlivi fantomi 3 Vporyadkovanij Serializable vporyadkovani tranzakciyi Rezultat paralelnogo vikonannya vporyadkovanoyi tranzakciyi z inshimi tranzakciyami povinen buti logichno ekvivalentnij rezultatu yih bud yakogo poslidovnogo vikonannya Problemi sinhronizaciyi ne vinikayut Chim vishe riven izolyaciyi tim bilshe potrebuyetsya resursiv shob jogo zabezpechiti Vidpovidno pidvishennya izolovanosti mozhe privoditi do znizhennya shvidkosti vikonannya paralelnih tranzakcij sho ye platoyu za pidvishennya nadijnosti V SKBD riven izolyaciyi tranzakcij mozhna vibrati yak dlya vsih tranzakcij razom tak i dlya odnoyi konkretnoyi tranzakciyi Za umovchannyam v bilshosti baz danih vikoristovuyetsya riven 1 Read Committed Riven 0 vikoristovuyetsya v osnovnomu dlya vidstezhennya zmin trivalih tranzakcij abo dlya chitannya danih sho ridko zminyuyutsya Rivni 2 i 3 vikoristovuyutsya pri pidvishenih vimogah do izolovanosti tranzakcij Realizaciya RedaguvatiPovnocinna realizaciya rivniv izolyaciyi i vlastivostej ACID ye netrivialnoyu zadacheyu Obrobka vhidnih danih prizvodit do velikoyi kilkosti malenkih zmin vklyuchayuchi onovlennya yak samih tablic tak i indeksiv Ci zmini potencijno mozhut zaznati porazku zakinchilos misce na disku operaciya zajmaye zabagato chasu timeout i t d Sistema povinna u vipadku nevdachi korektno povernuti bazu danih u stan do tranzakciyi Pershi komercijni SKBD napriklad IBM DB2 skoristalis viklyuchno blokuvannyam dostupu do danih dlya zabezpechennya vlastivostej ACID Ale velika kilkist blokuvan prizvodit do suttyevogo zmenshennya produktivnosti Ye dva populyarnih simejstva rishen ciyeyi problemi yaki znizhuyut kilkist blokuvan Zhurnalizaciya zmin write ahead logging WAL mehanizm tinovih storinok shadow paging 3 V oboh vipadkah blokuvannya povinni buti rozstavleni na vsyu informaciyu yaka onovlyuyetsya V zalezhnosti vid rivnya izolyaciyi i implementaciyi blokuvannya zapisiv takozh rozstavlyayutsya na informaciyu yaka bula prochitana tranzakciyeyu Pri uperedzhuyuchij zhurnalizaciyi yaka vikoristovuyetsya v Sybase i MS SQL Server do versiyi 2005 vsi zmini zapisuyutsya do zhurnalu i tilki pislya uspishnogo zavershennya do bazi danih Ce dozvolyaye SKBD povernutis do robochogo stanu pislya neochikuvanogo padinnya sistemi Tinovi storinki mistyat kopiyi tih storinok bazi danih na pochatok tranzakciyi v yakih traplyayutsya zmini Ci kopiyi aktivuyutsya pislya uspishnogo zavershennya Hocha tinovi storinki legshe realizuyutsya uperedzhuyucha zhurnalizaciya bilsh efektivna 4 Podalshij rozvitok tehnologij keruvannya bazami danih priviv do poyavi bezblokovnih tehnologij Ideya kontrolya za paralelnim dostupom z dopomogoyu chasovih mitok timestamp based concurrency control bula rozvinena i privela do poyavi bagatoversijnoyi arhitekturi MVCC Ci tehnologiyi ne potrebuyut ni zhurnalizaciyi zmin anizh tinovih storinok Arhitektura sho realizovana v Oracle 7 h i vishe zapisuye stari versiyi storinok v specialnij segment vidkatu ale voni vse she dostupni dlya chitannya Yaksho tranzakciya pri chitanni popadaye na storinku chasova mitka yakoyi novishe za pochatok chitannya dani berutsya z segmentu vidkata tobto vikoristovuyetsya stara versiya Dlya pidtrimki takoyi roboti vedetsya zhurnal tranzakcij ale na vidminu vid uperedzhuyuchoyi zhurnalizaciyi vin ne mistit danih Robota z nim skladayetsya z troh logichnih krokiv Zapisati namir provesti deyaki operaciyi Vikonati zavdannya kopiyuyuchi originali storinok sho zminyuyutsya do segmentu vidkata Zapisati sho vse zrobleno bez pomilokZhurnal tranzakcij v kombinaciyi z segmentom vidkata oblast v yakij zberigayetsya kopiya vsih danih sho zminyuyutsya v hodi tranzakciyi garantuye cilisnist danih U vipadku zboyu zapuskayetsya procedura vidnovlennya yaka pereviryaye okremi jogo zapisi nastupnim chinom Yaksho zapis ye poshkodzhenim to zbij trapivsya pid chas prostavlennya vidmitki v zhurnali Znachit nichogo vazhlivogo ne zagubilos ignoruyemo cyu pomilku Yaksho vsi zapisi pomicheni yak uspishno vikonani to zbij trapivsya mizh tranzakciyami tut takozh nemaye vtrat Yaksho v zhurnali ye nezakinchena tranzakciya to zbij trapivsya pid chas zapisu na disk U comu vipadku mi vidnovlyuyemo staru versiyu danih z segmentu vidkata Firebird vzagali ne maye ani zhurnalu zmin ani segmentu vidkata a realizuye MVCC zapisuyuchi novi versiyi ryadkiv tablic pryamo do aktivnogo prostoru danih Tak samo robit i MS SQL 2005 Teoretichno ce daye maksimalnu efektivnost pri paralelnij roboti z danimi ale cinoyu ye neobhidnist zbirannya smittya tobto vidalennya starih i vzhe ne potribnih versij danih Div takozh RedaguvatiU Vikislovniku ye storinka tranzakciya Tranzakcijna sistema Rivni izolovanosti tranzakcij ACID Atomarni operaciyi Programna tranzakcijna pam yat MVCCPrimitki Redaguvati Gray Jim The Transaction Concept Virtues and Limitations Proceedings of the 7th International Conference on Very Large Databases pages 144 154 1981 angl Advanced Transaction Models and Architectures angl Semejstvo algoritmov ARIES Arhiv originalu za 20 veresnya 2008 Procitovano 6 travnya 2014 Gray J McJones P Blasgen M Lindsay B Lorie R Price T Putzolu F and Traiger I The recovery manager of the System R database manager ACM Comput Surv 13 2 June 1981 nbsp Ce nezavershena stattya pro bazi danih Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Tranzakciya bazi danih amp oldid 34130935