konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Ì Í<br />
ÐÒ Ê $100<br />
Ï ÖØ ÐÒ $103<br />
ÐÒ Ê $103<br />
Ï ÖØ ÐÒ $108<br />
abort<br />
abort.<br />
Tabel 11.4: Enneaegse kirjutamise probleem<br />
Korrektsuse tagamiseks peab kirjutamine ootama, kuni varasemad transaktsioonid<br />
on lõpetanud.<br />
Range täitmine üldiselt peavad transaktsioonid lugemisi ja kirjutamisi viivitama.<br />
Transaktsiooni täitmine on range, kui transaktsioon viivitab lugemiste ja<br />
kirjutamistega, kuni kõik andmeid muutnud transaktsioonid on lõpetanud.<br />
Prooviversioonid muutused andmetega peavad vajadusel olema taastatavad, selleks<br />
kasutatakse andmete prooviversioone mittepüsivas mälus.<br />
11.6 Transaktsiooniline failiteenus<br />
Transaktsiooniline failiteenus on failiteenus, mis toetab failidel atomaarseid transaktsioone.<br />
Kliendil on võimalik grupeerida hulk failioperatsioone transaktsiooniks.<br />
Transaktsioonilise failiteenuse realiseerimiseks on meil vaja täiendada failiteenuse<br />
liideseid lisades protseduuridele täiendava parameetrina transaktsiooni identifikaatori<br />
kasutamise.<br />
Transaktsioonilise failiteenuse kasutamiseks loob klient transaktsiooni, kasutades<br />
selleks ÇÔÒÌ ÖÒ× ØÓÒ primitiivi. Transaktsiooni loomisel saadud transaktsiooni<br />
identifikaatorit failiteenuse protseduuride täiendava parameetrina kasutades<br />
kirjeldatakse transaktsiooni keha.<br />
Kui mõni failiteenuse protseduur saab vea, katkestatakse transaktsioon ja juba<br />
täidetud operatsioonide tulemused muutuvad kehtetuks.<br />
117<br />
11.7 Alamtransaktsioonid<br />
Transaktsioon võib olla jaotatud mitmeteks alamtransaktsioonideks. Alamtransaktsioonid<br />
võivad olla kasulikud kahel põhjusel:<br />
1. Sama taseme alamtransaktsioonid võivad töötada samaaegselt ja seegasuurendada<br />
paralleelsust.<br />
2. Alamtransaktsioonide kasutamine lisab teenusele robustsust, kuna alamtransaktsiooni<br />
katkestamine ei tähenda tingimata ülemtransaktsiooni katkestamist.<br />
Alamtransaktsiooni loonud transaktsioon võib täita mingeid tegevusi<br />
vastavalt sellele, kas alamtransaktsioon lõpetas edukalt või mitte.<br />
Kui alamtransaktsioon katkestab töö, ei pea vanemtransaktsioon tingimata katkestama.<br />
Alamtransaktsioonide tulemused sõltuvad vanemtransaktsiooni lõpetamise<br />
edukusest, kui vanemtransaktsioon katkestab, tuleb katkestanuks kuulutata<br />
ka alamtransaktsioonid.<br />
Alamtransaktsioonide kasutamine on eriti huvitav hajussüsteemis, kus alamtransaktsioone<br />
võidakse täita eraldi serveritel.<br />
118