Βάσεις Δεδομένων II Περίληψη: Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Advertisements

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Λειτουργικά Συστήματα
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Διακριτά Μαθηματικά ΙI Δέντρα
Κλασσικά Προβλήματα Επικοινωνίας Σύνδρομων Διεργασιών
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβριος 2009.
Βάσεις Δεδομένων II Περίληψη: Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
Στην τάξη μου.
ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ1. 2 Θεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Διαισθητικά, η.
ΕΡΓΑΣΙΑ ΣΤΗ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Διδάσκων : Π. Κατσαρός Διδάσκων : Π. Κατσαρός Παπαδημητρίου Παπαδημητρίου Δήμητρα Δήμητρα.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κατανεμημένα Συστήματα με Java
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
1 Συστήματα Βάσεων Δεδομένων Διαδικαστικά του μαθήματος Πάνος Βασιλειάδης Σεπτέμβριος 2008
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
Παναγόπουλος Ασημάκης Βασιλειάδης Βασίλης Β’ τάξη 6ου ΕΠΑΛ Πάτρας
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Κεφάλαιο 10 – Υποπρογράμματα
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Βάσεις Δεδομένων II Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Ανανηψιμότητα Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
2η άσκηση Να γραφεί πρόγραμμα που θα ζητάει τους a,b συντελεστές και τους δύο πρώτους όρους x 1, x 2 της αναγωγικής ακολουθίας x n = ax n-1 +bx n-2 και.
Βάσεις Δεδομένων II Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Κεφάλαιο 17 Εισαγωγή στη Θεωρία των Δοσοληψιών. Δοσοληψίες Η Έννοια της Δοσοληψίας Κατάσταση Δοσοληψίας Ταυτόχρονες Εκτελέσεις Σειριοποιησιμότητα Ανάκαμψη.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Ιανουάριος 2008
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Εισαγωγικά του μαθήματος Πάνος Βασιλειάδης Σεπτέμβρης 2002
Βάσεις Δεδομένων II Περίληψη: Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
Γράφημα είναι μία διμελής σχέση επί ενός συνόλου την οποία παριστάνουμε με γραφικό τρόπο.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Θεωρία Γραμμών Αναμονής ή ΟΥΡΕΣ (QUEUE)
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Βάσεις Δεδομένων ΙΙ 5η διάλεξη
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών
Διαχείριση Συναλλαγών
Κατανεμημένα Συστήματα
Κατανεμημένες δοσοληψίες
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων
Κατανεμημένα Συστήματα
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II Περίληψη: Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης

2 Δοσοληψίες & Ταυτοχρονισμός DB Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για LA! Πόσοι ταξιδεύουν για LA ?

3 Θεματολόγιο Κλειδώματα – 2 Phase Locking Πώς γίνεται στην πράξη? Αδιέξοδα

4 Κλείδωμα Κλείδωμα είναι μια μεταβλητή που σχετίζεται με ένα στοιχειώδες δεδομένο και περιγράφει την κατάστασή του, σε σχέση με πιθανές πράξεις που μπορούν να εφαρμοσθούν σε αυτό. IDName 14ZZ EMP Elmasri & Navathe

5 2PL Εξασφαλίζει τη σειριοποιησιμότητα επιτρέποντας στις δοσοληψίες να προσπελάσουν αντικείμενα, αν καταφέρουν να αποκτήσουν κάποιο κλείδωμα γι’ αυτά. Δύο είδη κλειδώματος: Ανάγνωσης: λαμβάνεις κλείδωμα για να διαβάσεις ένα αντικείμενο Εγγραφής: λαμβάνεις κλείδωμα για να γράψεις ή/και για να διαβάσεις ένα αντικείμενο

6 Συγκρούσεις Έστω δύο δοσοληψίες, Τ1 και Τ2, εκ των οποίων, η Τ1 ζητά ένα κλείδωμα και η Τ2 έχει ήδη ένα κλειδωμα για το ίδιο αντικείμενο. Ο πίνακας συγκρούσεων πρέπει να σας θυμίζει κάτι... Άρνηση  «περίμενε μέχρι να γίνει unlock» Τ1\Τ2ReadWrite Read  Write  Lock reque sted Lock held

7 2 ειδών προβλήματα Αν προσπαθήσεις να αυξήσεις τις ταυτόχρονες δοσοληψίες, ξεκλειδώνοντας αντικείμενα πολύ νωρίς, μπορεί να έχεις προβλήματα ασυνέπειας Αν προσπαθήσεις να καθυστερήσεις το ξεκλείδωμα, μπορεί να προκύψουν αδιέξοδα (όπου δύο δοσοληψίες περιμένουν –για πάντα– η μία την άλλη για το ξεκλείδωμα διαφορετικών αντικειμένων) καθυστερείς (ενώ έχουμε πιο έξυπνους τρόπους)...

8 2PL Ζήτα κλείδωμα πριν πράξεις: Για να διαβάσεις, πρέπει να πάρεις ένα Shared lock (S-lock). Είναι δυνατόν να υπάρχουν πολλές δοσοληψίες με S-lock για το ίδιο αντικείμενο Για να γράψεις, πρέπει να πάρεις ένα eXclusive lock (X-lock). Αν μια δοσοληψία έχει X-lock για ένα αντικείμενο, απαγορεύεται οποιαδήποτε άλλη να έχει κάποιο κλείδωμα για το αντικείμενο αυτό Δεν μπορείς να ξεκλειδώσεις αντικείμενο μέχρι να έχεις πάρει και το τελευταίο κλείδωμα που χρειάζεσαι

9 2 Phase Locking # locks time ΑύξησηΜείωση Ξανά: έτσι και ξεκλειδώσεις αντικείμενο, δεν μπορείς να πάρεις άλλο κλείδωμα!!!

10 2PL? T 9 lock-X(B) read(B) B := B - 50 write(B) lock-X(A) read(A) A := A + 50 write(A) unlock(B) unlock(A) T 10 lock-S(A) read(A) lock-S(B) unlock(A) unlock(B) display(A + B) T 7 lock-X(B) read(B) B := B - 50 write(B) unlock(B) lock-X(A) read(A) A := A + 50 write(A) unlock(A) KEY GROWING SHRINKING VIOLATION LEGAL NOT LEGAL LEGAL NOT LEGAL T 8 lock-S(A) read(A) unlock(A) lock-S(B) unlock(B) display(A + B) Απλοϊκή περίπτωση που κάθε schedule έχει μόνο μία δοσοληψία

11 Διαχειριστής κλειδαριών Το τμήμα του DBMS που διαχειρίζεται τα κλειδώματα Αν το DBMS υποστηρίζει 2PL  2PL scheduler Πίνακας κλειδαριών: ObjectID TransactionID, LockType Queue με δοσοληψίες εν αναμονή T3 T2 S T1 zyx T3 S T2 T1 zyx W

12 2PL? S2: R1[y];R2[x];W1[y];W3[y];W1[z];R2[z];R3[z]. Χ1[y];R1[y];S2[x];R2[x];W1[y];Χ1[z];U1[y];Χ3[y] ;W3[y];W1[z];U1[z];S2[z];R2[z];S3[z];R3[z];U 123 [ all] …

13 Θεώρημα Όλα τα χρονοπρογράμματα που προκύπτουν από ένα διαχειριστή κλειδαριών 2PL, έχουν ακυκλικό γράφο σειριοποίησης Το αντίστροφο ΔΕΝ ισχύει. Λήμμα: αν δεν έχει ακυκλικό γράφο σειριοποήσης  δεν είναι 2PL.

14 Venn διάγραμμα SERIALIZABLE ACYCLIC GRAPH 2PL Existing 2PL SERIAL

15 Αυστηρός 2PL Αυστηρός 2PL: όλα τα κλειδώματα αφήνονται στο τέλος της δοσοληψίας, μαζί. # locks time Αύξηση ΕΟΤ: End of Trxn

16 Πώς γίνεται στην πράξη? Κάθε δοσοληψία ζητά από το διαχειριστή κλειδωμάτων το αντίστοιχο κλειδί Αυτός ελέγχει τον πίνακα κλειδωμάτων και αν μπορεί, παραχωρεί το κλειδί και ενημερώνει τον πίνακα Αν δεν μπορεί, χρησιμοποιεί μια ουρά αναμονής ανά αντικείμενο, όπου και καταχωρείται η εν λόγω δοσοληψία. Η δοσοληψία περιμένει.

17 Πώς γίνεται στην πράξη? Όταν μια δοσοληψία τελειώνει [επιτυχώς, ή μη], όλα τα κλειδώματα αποδεσμεύονται. Όσες δοσοληψίες περιμένουν στην ουρά αναμονής για κάθε κλείδωμα, ενεργοποιούνται και λαμβάνουν τα κλειδώματα με τη σειρά Π.χ., αν η ουρά είναι S1[x]S2[x]X3[x] για το x, όταν θα ενεργοποιηθεί η ουρά, η Τ1 και Τ2 θα πάρουν το S-lock και η ουρά θα γίνει X3[x]

18 Αδιέξοδο Η κατάσταση κατά την οποία δύο δοσοληψίες Τ και Τ’ αναμένουν η μία την άλλη για την απελευθέρωση κάποιων κλειδωμάτων Εναλλακτικοί όροι: «Λειτουργική παύση» ή “deadlock” Προφανώς, ο παραπάνω ορισμός γενικεύεται για περισσότερες από δύο δοσοληψίες

19 Γράφος αναμονής (blocking graph) Για κάθε δοσοληψία και ένας κόμβος Μία κατευθυνόμενη ακμή από την δοσοληψία Τ1 στην δοσοληψία Τ2, αν η Τ1 περιμένει την Τ2 να απελευθερώσει κάποιο κλείδωμα Επίσης γνωστός και ως γράφος waits-for ΠΡΟΣΟΧΗ: Δεν είναι ίδιος με το γράφο σειριοποιησιμότητας!!!

20 Αδιέξοδο Θεωρήστε το παρακάτω χρονοπρόγραμμα S1[x],R1[x],X2[y],W2[y],X2[x],W2[x],X1[y],W1[y] T1T1 T2T2 x y

21 Θεώρημα Θεώρημα: Υπάρχει αδιέξοδο αν και μόνο αν ο γράφος αναμονής έχει κύκλο Στην πράξη το σύστημα ελέγχει τον γράφο αναμονής περιοδικά Εναλλακτικά, αντί για γράφο, μπορεί να μετρά πόση ώρα μια δοσοληψία αναμένει για ένα κλείδωμα και να την τερματίζει αν περάσει κάποιο όριο...