12.08.2013 Views

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!