Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ...
TRANSCRIPT
![Page 1: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/1.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Βάσεις Δεδομένων ΙΙ
Τμήμα Μηχανικών Η/Υ και ΠληροϕορικήςΠολυτεχνική Σχολή, Πανεπιστήμιο Πατρών
Εαρινό Εξάμηνο 2011-2012
![Page 2: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/2.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Table of contents
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
![Page 3: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/3.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Table of contents
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
![Page 4: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/4.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Table of contents
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
![Page 5: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/5.jpg)
ToC
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
. . . . . .
![Page 6: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/6.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Tread(A)A -= 30write(A)read(B)B += 30write(B)
Πότε χρειαζόμαστε συναλλαγές?
![Page 7: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/7.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
ACID
Atomicity
ConsistencyIsolationDurability
![Page 8: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/8.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
ACID
AtomicityConsistency
IsolationDurability
![Page 9: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/9.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
ACID
AtomicityConsistencyIsolation
Durability
![Page 10: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/10.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
ACID
AtomicityConsistencyIsolationDurability
![Page 11: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/11.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
ACID
AtomicityConsistencyIsolationDurability
![Page 12: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/12.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Ατομικότητα
Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία
ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων
Απομόνωση
Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα
Αντοχή
Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων
![Page 13: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/13.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Ατομικότητα
Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία
ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων
Απομόνωση
Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα
Αντοχή
Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων
![Page 14: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/14.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Ατομικότητα
Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία
ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων
Απομόνωση
Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα
Αντοχή
Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων
![Page 15: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/15.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συναλλαγές
Ατομικότητα
Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτεόλες είτε καμία
ΣυνέπειαΗ εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τησυνέπεια της βάσης δεδομένων
Απομόνωση
Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλεςσυναλλαγές που εκτελούνται ταυτόχρονα
Αντοχή
Μετά την επιτυχή εκτέλεση μιας συναλλαγής θα πρέπειοι αλλαγές να παραμένουν στην βάση δεδομένων
![Page 16: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/16.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Συναλλαγών
Ενεργή
Εν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσαΕκτελεσμένη
![Page 17: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/17.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Συναλλαγών
ΕνεργήΕν μέρη εκτελεσμένη
ΑποτυχημένηΔιακοπείσαΕκτελεσμένη
![Page 18: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/18.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Συναλλαγών
ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένη
ΔιακοπείσαΕκτελεσμένη
![Page 19: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/19.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Συναλλαγών
ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσα
Εκτελεσμένη
![Page 20: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/20.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Συναλλαγών
ΕνεργήΕν μέρη εκτελεσμένηΑποτυχημένηΔιακοπείσαΕκτελεσμένη
![Page 21: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/21.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Ταυτόχρονη vs Σειριακή Εκτέλεση
Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή"Παράλληλα"?
Σειριακή
Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στησυνέπεια, αλλά..
"Παράλληλη"
Βελτιωμένη απόδοση και Χρήση ΠόρωνΠεριορισμένος Χρόνος Αναμονής
![Page 22: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/22.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Ταυτόχρονη vs Σειριακή Εκτέλεση
Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή"Παράλληλα"?
Σειριακή
Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στησυνέπεια, αλλά..
"Παράλληλη"
Βελτιωμένη απόδοση και Χρήση ΠόρωνΠεριορισμένος Χρόνος Αναμονής
![Page 23: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/23.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Συνέπεια
T1 T2
read(A)A = A-50
read(A)A = A -50write(A)read(B)
write(A)read(B)B = B + 50write(B)
B = B + 50write(B)
![Page 24: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/24.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Σειριακή Διάταξη με Διένεξη
Δύο εντολές έρχονται σε διένεξη αν:
είναι διαϕορετικών συναλλαγώνχρησιμοποιούν τα ίδια δεδομέναμια από αυτές είναι write()
![Page 25: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/25.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Σειριακή Διάταξη με Διένεξη
Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.
Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.
Ιδιαίτερα αυστηρό κριτήριο
![Page 26: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/26.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Σειριακή Διάταξη με Διένεξη
Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.
Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.
Ιδιαίτερα αυστηρό κριτήριο
![Page 27: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/27.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Σειριακή Διάταξη με Διένεξη
Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστείσε ένα άλλο από μια σειρά εναλλαγών εντολών που δενέρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματααυτά είναι ισοδύναμα ως προς τις διενέξεις.
Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη ανείναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακόχρονοδιάγραμμα.
Ιδιαίτερα αυστηρό κριτήριο
![Page 28: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/28.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Σειριακή Διάταξη με Διένεξη
T1 T2read(A)write(A)
read(A)write(A)
read(B)write(B)
read(B)write(B)
Σειριακή διάταξη?
![Page 29: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/29.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Έλεγχος σειριακής διάταξης
Γράϕημα Προτεραιότητας
κόμβοι: συναλλαγέςακμές: Ti → Tj αν:
Ti εκτελεί write(A) πριν η Tj εκτελέσει read(A)Ti εκτελεί write(A) πριν η Tj εκτελέσει write(A)Ti εκτελεί read(A) πριν η Tj εκτελέσει write(A)
Αν το γράϕημα περιέχει κύκλο, τότε το αντίστοιχοχρονοδιάγραμμα δεν είναι σειριακής διάταξης μεδιένεξη
![Page 30: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/30.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Έλεγχος σειριακής διάταξης
Γράϕημα Προτεραιότητας
κόμβοι: συναλλαγέςακμές: Ti → Tj αν:
Ti εκτελεί write(A) πριν η Tj εκτελέσει read(A)Ti εκτελεί write(A) πριν η Tj εκτελέσει write(A)Ti εκτελεί read(A) πριν η Tj εκτελέσει write(A)
Αν το γράϕημα περιέχει κύκλο, τότε το αντίστοιχοχρονοδιάγραμμα δεν είναι σειριακής διάταξης μεδιένεξη
![Page 31: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/31.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Παράδειγμα
είναι τα παρακάτω σειριοποιήσιμα?
S1 = R1(x),R2(y), W2(x), W1(x)S2 = R4(x), R1(x), R2(y), W2(x), R3(y), W3(y), R4(z),W4(x), W2(z), W4(y)
![Page 32: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/32.jpg)
ToC
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
. . . . . .
![Page 33: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/33.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Εισαγωγή
Πως διασϕαλίζουμε ότι τα χρονοδιαγράμματα μπαίνουνσε σειριακή διάταξη?
![Page 34: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/34.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Καταστάσεις Κλειδώματος
Κοινόχρηστη (S)Αποκλειστική (X)
S XS True FalseX Flase Flase
Συναρτήσεις
lock-S(A)lock-X(A)unlock(A)
![Page 35: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/35.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Πρωτόκολλο κλειδώματος δυο ϕάσεων 2PL
κάθε συναλλαγή κλειδώνει και ξεκλειδώνει πόρους σε 2ϕάσεις:
Φάση ΑνάπτυξηςΦάση Σύμπτυξης
Παραλλαγές:
Strict 2PLRigorous 2PL
Διασϕαλίζει Σειριακή Διάταξη Διένεξης
![Page 36: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/36.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Παράδειγμα
μπορεί το παρακάτω χρονοπρόγραμμα να είναιαποτέλεσμα του 2PL?
R1[x], W2[x], R1[x]
![Page 37: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/37.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]
![Page 38: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/38.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
![Page 39: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/39.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y]
X
![Page 40: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/40.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
X
![Page 41: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/41.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y]
X
![Page 42: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/42.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z]
X X
![Page 43: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/43.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X X
![Page 44: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/44.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y]
X X
![Page 45: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/45.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y]
X X
W1[z]
![Page 46: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/46.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y] U1[z]
X X
W1[z]
![Page 47: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/47.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y] U1[z] S2[z]
S
R2[z]
X X
W1[z]
![Page 48: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/48.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y] U1[z] S2[z]
S
R2[z] S3[z] R3[z]
X X
W1[z]
S
![Page 49: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/49.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Λύση - Άσκηση 1
R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]T1
T2
T3
x y z
X1[y] R1[y] S2[x] R2[x]
S
W1[y] X1[z] U1[y]
X3[y]
X
W3[y] U1[z] S2[z]
S
R2[z] S3[z]
S
R3[z] U1, 2, 3[all]
X X
W1[z]
S
![Page 50: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/50.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Άσκηση 2
R1(X);R2(Y);W1(X);R2(X);R3(Z);W3(Z);R1(Y);R3(X);W1(Y);
![Page 51: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/51.jpg)
ToC
1 Εισαγωγή
2 Συγχρονικότητα
3 Αναϕορές
. . . . . .
![Page 52: Συναλλαγές - dblab.upatras.gr fileΣυναλλαγές Βάσεις ΔεδομένωνΙΙ Εισαγωγή Συγχρονικότητα Αναϕορές. . . . . . Tableofcontents](https://reader030.vdocuments.site/reader030/viewer/2022040705/5e0318ead9e2ea2f2041beb8/html5/thumbnails/52.jpg)
Συναλλαγές
ΒάσειςΔεδομένων ΙΙ
Εισαγωγή
Συγχρονικότητα
Αναϕορές
. . . . . .
Αναϕορές
Abraham Silberschatz, Henry F. Korth and S.Sudarshan, Database System Concepts FourthEdition, McGraw-Hill, 2002Raghu Ramakrishnan and Johannes Gehkre,Database Management Systems Second Edition,McGraw Hill, 2000