1 / 18

Transaktsioonid

Transaktsioonid. Hajutatud rakendused (vabandust – klient-server rakendused). Mis on transaktsioon. Muudatused (reeglina) andmekihis Seotud muudatused Terviklikkus Transaktsioon: minimaalne muudatus see kas toimub või ei toimu tõrke korral kogu muudatus tagasi.

satin
Download Presentation

Transaktsioonid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transaktsioonid Hajutatud rakendused (vabandust – klient-server rakendused)

  2. Mis on transaktsioon • Muudatused (reeglina) andmekihis • Seotud muudatused • Terviklikkus • Transaktsioon: • minimaalne muudatus • see kas toimub või ei toimu • tõrke korral kogu muudatus tagasi

  3. Transaktsiooni 4 nõuet - ACID • Atomaarsus (A - atomicity) • Sellest väiksemat muudatust iseseisvalt teha ei saa • Terviklikkus (C – consistence) • Muudatused erinevates andmetes moodustavad terviku • Isoleeritus (I – isolation) • Muutmise ajal on muudetavad andmed muust maailmast (teistest muudatustest ja ka lugemisest) isoleeritud • Kestvus (D – duration) • Muudatus on püsiv (jääb kestma)

  4. Isolatsiooniprobleemid • Isoleerimata protsess teeb vigaste andmete baasil vigaseid otsustusi • Dirty read • Teine protsess näeb “kinnitamata” andmeid • Phantom read • Teine protsess näeb olematuid andmeid (kirjeid) • Non-Repeatable read • Transaktsiooni ajal korduvalt loetud samad andmed on muutunud

  5. Transaktsioonide isoleeritus • Enamasti vajalik • Vahel segab • Eri tasemed • Read Commited • Read Uncomited • Repeatable Read • Serializable • Chaos

  6. Transaktsioonid ja lukustus • Transakstioonid kontrollivad isoleeritust lukustustega • Kirje mida muudetakse, lukustatakse exclusively transakstiooni lõpuni • Kirjed, mida loetakse, lukustatakse shared lukuga • Kirjevahemikud, mida küsitakse, lukustatakse shared lukuga (võtmed)

  7. Read commited • Protsess näeb ainult kinnitatud ja lõplikke andmeid • Kõik, mida ma vaatan, lukustatakse (Share) minu transaktsiooni lõpuni • Ebakorrektne tulemus • Ei garanteerita, et kord loetud andmeid ei muuda teine protsess (nonrepeatable)

  8. Read uncommited • Protsess näeb ka kinnitamata andmeid • Kirje, mida ma vaatan, lukustatakse vaatamise ajaks • Kõige nõrgem isolatsioon • Annab ebakorrektseid tulemusi • Dirty Read • Phantom Read • NonRepeatable Read

  9. Repeatable read • Transaktsiooni käigus tehtud küsimused annavad samu tulemusi • Kirjed, mida mulle näidatakse, lukustatakse transaktsiooni lõpuni • Segab vähe koostööd (sama osakonna töötajad segavad üksteist) • Annab ebakorrektseid tulemusi • Phantom Read

  10. Serializable • Transaktsiooni käigus vaadatud andmed ei muutu • Ainult see, mida mulle näidatakse, lukustatakse (kirjed) • Segab pisut vähem • Kõige rangem

  11. Kaos • Enamik andmebaasisüsteem ei toeta • Muudatused lukustamata • Vajalik reaalajasüsteemides

  12. Transaktsiooni kestvus • Muudatuste tagasivõetavus • Muudatuste püsivus • Kaks tehnikat • Change log (transaction log) • Original log (undo file)

  13. Transaktsiooni hajutamine • Transaktsioonid on aatomid • Transaktsioonid on lühiajalised • Transaktsioonid on ühes andmehoidlas • Probleem • Kuidas venitada ajas (bensujaam) • Kuidas venitada ruumis (kaks panka)

  14. Ajas venitatud transaktsioonid • Transaktsioon jagatakse osadeks • Osaline lukustus • Tagasivõetavus

  15. Ruumis hajutatud transaktsioonid • Muudatused korraga mitmes serveris • Distributed transaction (DTX) • Ressursid ja ressursihaldajad (RM) • Transaktsioonikorraldajad (TM) • Kaheosaline kinnitus (2 phase commit)

  16. APP TM RM • RM regib end TM juures • RM alustab oma transaktsiooni • TM küsib kõigilt, kas on valmis • RM vastab ja jääb ootele • TM annab kõigile loea lõpetada RM RM

  17. Sellega tänaseks kõik

More Related