Έλεγχος Ταυτοχρονισμού
|
|
- Ἰοκάστη Φλέσσας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό)
2 Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2
3 Εισαγωγικά γ Ένα σύνολο λειτουργιών το οποίο αποτελεί μία λογική λειτουργική μονάδα καλείται συναλλαγή (transaction). Μια συναλλαγή περιέχει: εντολές ανάγνωσης, εισαγωγής, διαγραφής ή ενημέρωσης των δεδομένων δ της ΒΔ. Σε επίπεδο σελίδων Χ, μπορούμε να θεωρήσουμε ότι μία συναλλαγή είτε διαβάζει τη Χ, είτε εγγράφει/τροποποιεί τη Χ. Η πολυπλοκότητα των σύγχρονων βάσεων δεδομένων οδηγεί στην ανάπτυξη αξιόπιστων μηχανισμών ελέγχου της ακεραιότητας των δεδομένων: πολλές συναλλαγές μπορεί να βρίσκονται σε εξέλιξη, προσπελαύνοντας κοινά δεδομένα. Ο έλεγχος ταυτοχρονισμού (concurrency control) διαχειρίζεται τις συναλλαγές έτσι ώστε να αποφεύγονται οι παθολογικές καταστάσεις. Συμπληρωματικά, υπάρχει ανάγκη ύπαρξης μηχανισμών επανάκτησης (recovery) δεδομένων. 3
4 Ιδιότητες συναλλαγών ACID Ατομικότητα (Αtomicity): αν υπάρχει έστω και μία εντολή της συναλλαγής, η οποία αποτυγχάνει να εκτελεσθεί, τότε ολόκληρη η συναλλαγή αποτυγχάνει επίσης. Συνέπεια (Consistency): it η συναλλαγή πρέπει να μετατρέπει τη βάση δεδομένων από μία συνεπή κατάσταση σε μία άλλη συνεπή κατάσταση η( (τα δεδομένα πρέπει να είναι ορθά). Οι μηχανισμοί ακεραιότητας δεδομένων δεν επαρκούν για την εγγύηση της συνέπειας. Απομόνωση (Isolation): lti κάθε συναλλαγή πρέπει να εκτελείται ανεξάρτητα από άλλες συναλλαγές. Μονιμότητα (Durability): αν μία συναλλαγή ολοκληρωθεί με επιτυχία, τότε οι αλλαγές που έχει επιφέρει καταγράφονται μόνιμα στη ΒΔ και δεν μπορούν να ανακληθούν. 4
5 Τρόπος επεξεργασίας Ακολουθιακή ή σειριακή εκτέλεση όπου οι συναλλαγές εκτελούνται η μία μετά την άλλη (άρα δεν υπάρχουν προβλήματα ταυτοχρονισμού) αλλά εμφανίζονται σημαντικές καθυστερήσεις με αποτέλεσμα να μειώνεται η γενική απόδοση του συστήματος. Ταυτόχρονη εκτέλεση πολλών συναλλαγών Παράλληλη χρήση δίσκου ή CPU από πολλαπλές συναλλαγές, οπότε αυξάνεται ο αριθμός των συναλλαγών που ολοκληρώνονται στη μονάδα του χρόνου (throughput). Πλεονέκτημα: μειώνονται οι καθυστερήσεις (waiting time) και ο μέσος χρόνος εκτέλεσης των συναλλαγών (mean response time). Μειονέκτημα: ενδέχεται να επιφέρει προβλήματα στην ακεραιότητα και συνέπεια των δεδομένων της ΒΔ. Τα προβλήματα αυτά επιλύει ο έλεγχος ταυτοχρονισμού. Δημιουργείται ένα χρονοδιάγραμμα (schedule) που ικανοποιεί τις απαιτήσεις συνέπειας των δεδομένων. 5
6 Προβλήματα με χρονοδιαγράμματα Στο (β) θεωρείται ότι η Σ 1 απέτυχε και απορρίφθηκε. 6
7 Παράδειγμα T1: Read(A) T2: Read(A) A A+100 A A 2 Write(A) Read(B) Write(A) Read(B) B B+100 B B 2 Write(B) Περιορισμός: AB A=B Write(B) 7
8 Παράδειγμα Χρονοδιάγραμμα A T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 2; Wit Write(A); Read(B);B B 2; Write(B);
9 Παράδειγμα Χρονοδιάγραμμα B T1 T2 A B Read(A);A A 2; Read(A); A A+100 Write(A); Read(B); B B+100; Write(B); Write(A); Read(B);B B 2; Write(B);
10 Παράδειγμα Χρονοδιάγραμμα Γ T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Wit Write(B); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B);
11 Παράδειγμα Χρονοδιάγραμμα ρ Δ T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B);
12 Παράδειγμα Χρονοδιάγραμμα Ε T1 T2 A B Read(A); A A Write(A); Read(B); B B+100; Write(B); Read(A);A A 1; Write(A); Read(B);B B 1; Write(B); Αλλαγή της συναλλαγής Τ2 σε σχέση µε το Χρονοδιάγραµµα Η τελική κατάσταση είναι συνεπής από σύµπτωση! 12
13 Σωστά χρονοδιαγράμματα Πρέπει να ορίζονται ανεξάρτητα από: Αρχική κατάσταση. Τρόπο αλλαγής των δεδομένων. Η ορθότητα πρέπει να εξαρτάται απόκλειστικά από την σειρά των αναγνώσεων (reads) και εγγραφών (writes) To χρονοδιάγραμμα Γ ξαναγράφεται: S Γ =r1(a)w1(a)r2(a)w2(a)r1(b)w1(b)r2(b)w2(b) (A)r (A)r (B)w (B)r (B)w (B) 13
14 Σειριακό χρονοδιάγραμμα Σε ένα σειριακό (serial) χρονοδιάγραμμα οι εντολές μίας συναλλαγής δεν περιπλέκονται χρονικά με εντολές των άλλων συναλλαγών επιτυγχάνεται η συνέπεια. Υπάρχουν n! σειριακά χρονοδιαγράμματα οδ ρά ααγια n συναλλαγές. 14
15 Σειριοποίηση η Για να διατηρεί τη συνέπεια των δεδομένων της ΒΔ θα πρέπει το χρονοδιάγραμμα εκτέλεσης συναλλαγών να είναι ισοδύναμο με κάποιο σειριακό χρονοδιάγραμμα. Δύο χρονοδιαγράμματα καλούνται ισοδύναμα αν μετά την εκτέλεσή τους επιφέρουν τις ίδιες αλλαγές στη ΒΔ. Η παραγωγή ενός χρονοδιαγράμματος ισοδύναμου με ένα σειριακό χρονοδιάγραμμα καλείται σειριοποίηση (serializability), που μπορεί να έχει δύο μορφές: σειριοποίηση σύγκρουσης (conflict), και σειριοποίηση όψης (view). Σειριοποίηση επίτευξη (και) απομόνωσης!! 15
16 Σειριοποίηση η όψης Έστω δύο χρονοδιαγράμματα S και S με τα ίδια σύνολα συναλλαγών. Τα S και S ονομάζονται ισοδύναμα αν για κάθε στοιχείο δεδομένων D: αν η συναλλαγή Σ i διαβάζει την αρχική τιμή του D στο χρονο διάγραμμα S, τότε πρέπει η συναλλαγή Σ i επίσης να διαβάζει την αρχική τιμή του D στο χρονοδιάγραμμα S, αν η συναλλαγή Σ i εκτελεί την εντολή Read(D) στο χρονοδιάγραμμα S και αυτή η τιμή έχει παραχθεί από τη συναλλαγή Σ j, τότε η Σ i πρέπει επίσης να διαβάσει την τιμή που παράγει ησ j στο χρονοδιάγραμμα S, η συναλλαγή που εκτελεί την τελευταία εντολή Write(D) στο χρονοδιάγραμμα S, πρέπει και στο χρονοδιάγραμμα S' να εκτελεί την τελευταία εντολή Write(D). 16
17 Σειριοποίηση η όψης Ένα χρονοδιάγραμμα S καλείται σειριοποιήσιμο ως προς την όψη (view serializable) αν είναι ισοδύναμο ως προς την όψη ψημε κάποιο σειριακό χρονοδιάγραμμα. 17
18 Σειριοποίηση η σύγκρουσης ης( (1) Έστω χρονοδιάγραμμα S και δύο χρονικά συνεχόμενες εντολές E i, E j (που αναφέρονται στα ίδια δεδομένα D) των συναλλαγών Σ 1, Σ 2, αντιστοίχως. Διακρίνουμε τις εξής περιπτώσεις: E i =read(d) και E j = read(d) E i =read(d) και E j = write(d) E i =write(d) και E j = read(d) E i = write(d) και E j = write(d) Αν τουλάχιστον μία εντολή είναι εντολή αποθήκευσης, τότε οι εντολές E i και E j βρίσκονται σε σύγκρουση. 18
19 Σειριοποίηση η σύγκρουσης ης( (2) Αν ένα χρονοδιάγραμμα εκτέλεσης S μπορεί να μετασχηματισθεί σε ένα άλλο χρονοδιάγραμμα S' αλλάζοντας τη σειρά εκτέλεσης διαδοχικών εντολών που δεν συγκρούονται, τότε τα S και S' καλούνται ισοδύναμα ως προς τις συγκρούσεις (conflict equivalent). Το χρονοδιάγραμμα S καλείται σειριοποιήσιμο ως προς τις συγκρούσεις ς( (conflict serializable) αν είναι ισοδύναμο ως προς τις συγκρούσεις με ένα σειριακό χρονοδιάγραμμα. Τα εμπορικά συστήματα συνήθως παράγουν σειριοποιήσιμα ως προς τις συγκρούσεις χρονοδιαγράμματα, παρόλο που υπάρχουν και σειριοποιήσιμα χρονοδιαγράμματα άλλου τύπου (δεν είναι όλα τα σειριοποιήσιμα χρονοδιαγράμματα conflict serializable). 19
20 Σειριοποίηση η σύγκρουσης παράδειγμα 20
21 Σειριοποίηση η σύγκρουσης αντιπαράδειγμα Τα (β) και (γ) δεν είναι ισοδύναμα ως προς τις συγκρούσεις με το (α). 21
22 Επιπλέον παράδειγμα (1) Χρονοδιάγραμμα Γ διαφάνεια 10: S Γ =r1(a)w1(a)r2(a)w2(a)r1(b)w1(b)r2(b)w2(b) S Γ =r1(a)w1(a) r1(b)w1(b)r2(a)w2(a)r2(b)w2(b) T1 T2 22
23 Επιπλέον παράδειγμα (2) Για το χρονοδιάγραμμα Δ: S Δ =r1(a)w1(a)r2(a)w2(a) r2(b)w2(b)r1(b)w1(b) Κανένα από τα δύο ζεύγη δεν μπορεί να μετακινηθεί! Λόγω του Α: η Τ1 πρέπει να είναι πριν την Τ2: Τ1 Τ2 Λόγω του Β: η Τ2 πρέπει να είναι πριν την Τ1: Τ2 Τ1 Κύκλος! Αντίθετα στο προηγούμενο χρονοδιάγραμμα S Γ ίσχυε μόνο Τ1 Τ2 23
24 Γράφοι προήγησης ης Γράφος προήγησης (Precedence graph) P(S), όπου S είναι ένα χρονοδιάγραμμα. Κόμβοι: συναλλαγές στο S Ακμές: Ti Tj όταν pi(a), qj(a) είναι εντολές στο S pi(a) < S qj(a) //η pi(a) προηγείται της qj(a) στο S τουλάχιστον μία από τις pi, qj είναι write Παράδειγμα: w 3 (A)r 1 (A)w 1 (B)r 2 (B) w 2 (C)r 3 (C) P:Τ3 Τ1 Τ2 (Τ1) 24
25 Γράφοι προήγησης ης Λήμμα: S1, S2 conflict equivalent P(S1)=P(S2) Απόδειξη: Έστω ότι P(S1) P(S2) Ti: Ti Tj στο S1 αλλά όχι στο S2 S1 = pi(a)... qj(a) pi, qj S2 = qj(a) pi(a)... συγκρούονται S1, S2 δεν είναι ισοδύναμα ως προς τις συγκρούσεις. Προσοχή: αν P(S1)=P(S2) P(S2) δεν μπορούμε να πούμε σίγουρα αν τα S1, S2 είναι ισοδύναμα ως προς τις συγκρούσεις: Π.χ., S1=w1(A) r2(a) w2(b) r1(b) S2=r2(A) w1(a) r1(b) w2(b) 25
26 Θεώρημα Αν P(S1) ακυκλικός S1 σειριοποιήσιμο ως προς τις συγκρούσεις. ( ) Έστω P(S1) ακυκλικός S1 ισοδύναμo ως προς τις συγκρούσεις με ένα S που προέρχεται από την τοπολογική ταξινόμηση του P(S1) που βάσει ορισμού είναι σειριακό χρονοδιάγραμμα. ( ) Έστω S1 σειριοποιήσιμο ως προς τις συγκρούσεις Sserial: Sserial, S1 ισοδύναμα ως προς τις συγκρούσεις P(Sserial)=P(S1) P(S1) ακυκλικόγιατί και το P(Sserial) είναι ακυκλικό 26
27 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 27
28 Μηχανισμοί κλειδώματος Χρησιμοποιούνται για την επιβολή ενός σειριοποιήσιμου χρονοδιαγράμματος. Η κλειδαριά (lock) αντιστοιχεί σε ένα τμήμα δεδομένων και είναι μεταβλητή που περιγράφει την κατάσταση του τμήματος των δεδομένων σε σχέση με τις λειτουργίες που ενεργούν στα συγκεκριμένα δεδομένα. 28
29 Πρωτόκολλο κλειδώματος Ένας μηχανισμός κλειδώματος πρέπει να ικανοποιεί κανόνες εγγύησης της συνέπειας των δεδομένων. Οι κανόνες αυτοί ορίζουν ένα πρωτόκολλο κλειδώματος (locking protocol) και εγγυώνται ότι το χρονοδιάγραμμα που προκύπτει είναι σειριοποιήσιμο. 29
30 Γενικοί κανόνες πρωτοκόλλων κλειδώματος Κανόνας 1 (επίπεδο συναλλαγής): Κάθε συναλλαγή T i, πριν εκτελέσει οποιαδήποτε πράξη ανάγνωσης ή εγγραφής στα δεδομένα Α: της έχει χορηγηθεί η κλειδαριά για τα δεδομένα αυτά, που δηλώνεται με την πράξη locki(a) ή li(a), δεν έχει απελευθερώσει την κλειδαριά, που δηλώνεται με την πράξη unlocki(a) ή ui(a) Δηλαδή ισχύει: Ti: li(a) pi(a) ui(a)... Επίσης κάθε συναλλαγή που κλειδώνει ένα στοιχείο, πρέπει μετέπειτα να το ξεκλειδώνει. Κανόνας 2 (επίπεδο χρονοδιαγράμματος): Καμία άλλη συναλλαγή T j, δεν μπορεί επιτυχώς να ζητήσει την κλειδαριά άl lj(a) ανάμεσα από τις πράξεις li(a) και ui(a) μιας άλλης συναλλαγής T i 30
31 Παραδείγματα Έστω τα ακόλουθα τρία χρονοδιαγράμματα. Πληρούνται οι κανόνες; l1(a)l1(b)r1(a)w1(b)l2(b)u1(a)u1(b) r2(b)w2(b)u2(b)l3(b)r3(b)u3(b) Η πράξη l2(b) παραβιάζει τον κανόνα 2. l1(a)r1(a)w1(b)u1(a)u1(b) 1(B) 1(B) l2(b) r2(b)w2(b)l3(b)r3(β)u3(b) 2(B)l3(B)r3(Β) Η πράξη w1(b) παραβιάζει τον κανόνα 1. H πράξη l3(b) είναι πριν μία πράξη u2(b), που κακώς απουσιάζει (παραβίαση και των δύο κανόνων). l1(a)r1(a)u1(a)l1(b)w1(b)u1(b)l2(b) r2(b)w2(b)u2(b)l3(b)r3(b)u3(b) Όλα ΟΚ! 31
32 Παράδειγμα με κλειδαριές T1 T2 A B l1(a); Read(A); A A+100;Write(A); u1(a) 125 l1(b);read(b); B B+100; Write(B); u1(b); l2(a);read(a);a A 2; Write(A); u2(a); l2(b);read(b);b B 2; Write(B); u2(b);
33 Πρωτόκολλο κλειδώματος δύο φάσεων Πρωτόκολλο Κλειδώματος Δύο Φάσεων (two phase locking 2PL): Επιπλέον των 2 γενικών κανόνων υπάρχει και 3 ος κανόνας, σύμφωνα με τον οποίο κάθε συναλλαγή αποτελείται από 2 φάσεις: φάση ανάπτυξης (growing phase), όπου η συναλλαγή ζητά τη χορήγηση η κλειδαριών και δεν επιτρέπεται η απελευθέρωση κλειδαριών, φάση συρρίκνωσης (shrinking phase), όπου η συναλλαγή απελευθερώνει κλειδαριές και δεν επιτρέπεται να ζητήσει τη χορήγηση νέων κλειδαριών. 33
34 Παράδειγμα με κλειδαριές και 2PL T1 l1(a);read(a) A A+100;Write(A) l1(b); u1(a) Read(B);B B+100 Write(B); u1(b) T2 l2(a);read(a) A Ax2;Write(A);l2(B) (B) l2(b); u2(a);read(b) B Bx2;Write(B);u2(B); Καθυστέρηση αναμένοντας χορήγηση της κλειδαριάς 34
35 Αδιέξοδα Έστω οι δύο ίδιες συναλλαγές με το προηγούμενο παράδειγμα, αλλα με αντίστροφη σειρά πράξεων στην Τ2. Ένα πιθανό χρονοδιάγραμμα που οδηγεί σε αδιέξοδο είναι το ακόλουθο: T1 l1(a); Read(A) A A+100;Write(A) l 1(B) T2 l2(b);read(b) B Bx2;Write(B) l 2(A) Καθυστέρηση η αναμένοντας χορήγηση της κλειδαριάς 35
36 Ιδιότητες 2PL χρονοδιαγραμμάτων (1) Έστω SH(Ti) ο χρόνος που η συναλλαγή Ti αποδεσμεύει για 1 η φορά μία κλειδαριά. Aν Ti Tj στο χρονοδιάγραμμα S SH(Ti) < S SH(Tj) (j) Απόδειξη: Ti Tj σημαίνει ότι το χρονοδιάγραμμα οδ ρα α S έχει την μορφή: S = pi(a) qj(a) ; p,q συγκρούονται Σύμφωνα με τους κανόνες 12 1,2: S = pi(a) ui(a) lj(a)... qj(a) Σύμφωνα με τον Κανόνα 3: SH(Ti) δεν είναι μετά τον χρόνο της ui(a). Η ui(a) είναιπριν την lj(a), πουείναιπριν πριν τοχρόνοsh(tj) SH(Tj). Άρα, SH(Ti) < S SH(Tj) 36
37 Ιδιότητες 2PL χρονοδιαγραμμάτων (2) Θεώρημα: Τα 2PL χρονοδιαγράμματα είναι σειριοποιήσιμα ως προς τις συγκρούσεις. Απόδειξη: (1) Έστω ότι ο P(S) έχει κύκλο T1 T2. Tn T1 (2) Τότε:SH(T1) < SH(T2) <... < SH(T1) (3) Αυτό είναι αδύνατο, άρα ο P(S) είναι ακυκλικός. (4) S είναι σειριοποιήσιμο ως προς τις συγκρούσεις. 37
38 Περιορισμοί ρ S1: w1(x) w3(x) w2(y) w1(y) Το S1 είναι σειριοποιήσιμο (T2, T1, T3). Αλλά δεν μπορεί να υλοποιηθεί με το 2PL πρωτόκολλο. Τι συμβαίνει με τα χρονοδιαγράμματα: w1(a) w2(a) w1(b) w2(b) w1(a) w2(a) w2(b) w1(b) 38
39 Μηχανισμοί κλειδώματος Ένα σημαντικό πρόβλημα με το μηχανισμό που παρουσιάστηκε πριν είναι ότι δεν μπορούν ταυτόχρονα πολλές συναλλαγές να διαβάζουν μόνο τα ίδια δεδομένα. Αυτό αντιμετωπίζεται με πολλαπλούς τύπους κλειδαριών. Δύο είναι οι βασικοί τύποι κλειδαριών στην πράξη: κλειδαριά ανάγνωσης (read) ή κλειδαριά διαμοιρασμού (shared), που επιτρέπει σε μία συναλλαγή να διαβάσει τα δεδομένα αλλά όχι να τα ενημερώσει ή να τα διαγράψει, κλειδαριά αποθήκευσης (write) ή αποκλειστική κλειδαριά (exclusive), που επιτρέπει σε μία συναλλαγή να διαβάσει ή να ενημερώσει τα δεδομένα. 39
40 Πρακτικοι Μηχανισμοί κλειδώματος Ι Ο μηχανισμός κλειδαριών λειτουργεί ως εξής: μία συναλλαγή που αφορά ανάγνωση δεδομένων, ζητά να της χορηγηθεί μία κλειδαριά ανάγνωσης, αν απαιτείται ενημέρωση δεδομένων, τότε ζητά μία κλειδαριά αποθήκευσης, αν δεν υπάρχει άλλη κλειδαριά για τη συγκεκριμένη σελίδα δεδομένων, τότε η κλειδαριά χορηγείται στη συναλλαγή, αν υπάρχει ήδη άλλη κλειδαριά που έχει χορηγηθεί σε άλλη συναλλαγή, τότε πραγματοποιείται έλεγχος για το αν θα χορηγηθεί η κλειδαριά στη νέα συναλλαγή η όχι. 40
41 Πρακτικοι Μηχανισμοί κλειδώματος ΙΙ αν η σελίδα δεδομένων έχει κλειδωθεί με χρήση κλειδαριάς ανάγνωσης και η νέα συναλλαγή ζητά επίσης κλειδαριά ανάγνωσης, τότε το σύστημα επιτρέπει τη χορήγηση της κλειδαριάς. Σε διαφορετική περίπτωση η νέα συναλλαγή πρέπει να περιμένει μέχρι η προηγούμενη συναλλαγή ολοκληρώσει λ την εργασία με τη σελίδα δεδομένων και απελευθερώσει την κλειδαριά. μία συναλλαγή απελευθερώνει την κλειδαριά όταν η εκτέλεσή της ολοκληρωθεί είτε με επιτυχία είτε με αποτυχία. οι μόνιμες αλλαγές στα δεδομένα είναι ορατές από τις υπόλοιπες συναλλαγές μόνο μετά την απελευθέρωση της κλειδαριάς αποθήκευσης από τη συναλλαγή. 41
42 Πρακτικοι Μηχανισμοί κλειδώματος ΙΙΙ μια συναλλαγή που πρέπει να ενημερώσει κάποια δεδομένα μπορεί να ζητήσει αναβάθμιση (upgrade) της κλειδαριάς από κλειδαριά ανάγνωσης σε κλειδαριά αποθήκευσης. αν η εγγραφή των δεδομένων έχει ολοκληρωθεί αλλά η συναλλαγή δεν έχει ολοκληρώσει την ανάγνωση των δεδομένων,, τότε μπορεί να ζητήσει υποβάθμιση (downgrade) της κλειδαριάς από αποθήκευσης σε ανάγνωσης. 42
43 Μηχανισμοί κλειδώματος Αντιπαράδειγμα 43
44 Πρωτόκολλο κλειδώματος δύο φάσεων 44
45 Πρωτόκολλο κλειδώματος δύο φάσεων 45
46 Αναβάθμιση κλειδαριών (1) Έστω 2 συναλλαγές, με το ακόλουθο χρονοδιάγραμμα: Τ1 L R(A); R(A); L W(B) καθυστέρηση L W(B); R(B); W(B); U(A); U(B); Τ2 L R(A); R(A); L R(B); R(B); U(A); U(B); 46
47 Αναβάθμιση κλειδαριών (2) H T1 μπορεί να εκτελεστεί πιο γρήγορα αν πρώτα ζητήσει κλειδαριά ανάγνωσης στο Β και μετα την αναβαθμίσει: Τ1 L R(A); R(A); L R(B); R(B) L W(B) καθυστέρηση η L W(B); W(B); U(A); U(B); Τ2 L R(A); R(A); L R(B); R(B); U(A); U(B); H L R(Β) αναβαθμίστηκε σε L W(B). 47
48 Δημιουργία αδιεξόδων νέου τύπου Λόγω των αναβαθμίσεων των κλειδαριών: T1 L R1(A) L W1(A) Aδιέξοδο T2 L R2(A) L W2(A) Τέτοια αδιέξοδα αποφεύγονται με χρήση κλειδαριών ενημέρωσης. Όταν χρησιμοποιούνται τέτοιες κλειδαριές, είναι και οι μόνες που αναβαθμίζονται. Αν χορηγηθεί κλειδαριά ενημέρωσης στα δεδομένα δ Α, τότε δεν χορηγείται καμία άλλα κλειδαριά για το Α. 48
49 Πρωτόκολλο κλειδώματος βασισμένο σε γράφο Όταν είναι γνωστή η σειρά προσπελάσεων των δεδομένων από τη συναλλαγή χρησιμοποιείται το πρωτόκολλο κλειδώματος ςβασισμένο σε γράφο. Έστω D={d 1,d 2,,d n } ένα σύνολο n δεδομένων που προσπελαύνονται από τις συναλλαγές είτε για ανάγνωση είτε για αποθήκευση. Ορίζουμε μία μερική διάταξη στο σύνολο D ως εξής: τα δεδομένα d i και d j συνδέονται με τη σχέση αν κάθε συναλλαγή που προσπελαύνει τα d i και d j προσπελαύνει το d i ακριβώς πριν από το d j. Η μερική διάταξη επιτρέπει την αναπαράσταση του συνόλου ως κατευθυνόμενο άκυκλο γράφο (dag). 49
50 Πρωτόκολλο κλειδώματος βασισμένο σε γράφο Ειδική περίπτωση του κατευθυνόμενου άκυκλου γράφου είναι ο δενδρικός γράφος, όπου εφαρμόζεται το δενδρικό πρωτόκολλο (tree protocol) που υποστηρίζει μόνο ενός τύπου κλειδαριές (ισοδύναμες μ ς με τις αποκλειστικές κλειδαριές). 50
51 Δενδρικό πρωτόκολλο Το δενδρικό πρωτόκολλο έχει τους εξής κανόνες: η κάθε συναλλαγή μπορεί να ζητήσει χορήγηση της πρώτης κλειδαριάς σε οποιοδήποτε δεδομένο, μία συναλλαγή μπορεί να ζητήσει τη χορήγηση κλειδαριάς στο δεδομένο d j μόνο αν έχει ήδη κλειδώσει το δεδομένο d i και ισχύει d i d j μία συναλλαγή μπορεί να απελευθερώσει μία κλειδαριά οποιαδήποτε χρονική στιγμή, ένα δεδομένο που έχει κλειδωθεί από μία συναλλαγή και στη συνέχεια η κλειδαριά έχει απελευθερωθεί, δεν επιτρέπεται να κλειδωθεί για δεύτερη φορά από τη ίδια συναλλαγή. 51
52 Δενδρικό πρωτόκολλο Αν διάφορες συναλλαγές κλειδώνουν τα ίδια δεδομένα, τότε εξαιτίας του δενδρικού πρωτοκόλλου, τα κλειδώνουν με την ίδια σειρά. 52
53 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 53
54 Μηχανισμός χρονικών σφραγίδων Ο μηχανισμός χρονικών σφραγίδων δεν χρησιμοποιεί κλειδαριές για την προστασία μίας περιοχής δεδομένων, άρα δεν υπάρχει περίπτωση να δημιουργηθεί αδιέξοδο. Η χρονική σφραγίδα είναι μία μεταβλητή που προσδιορίζει τη χρονική στιγμή της αρχής της εκτέλεσης μίας συναλλαγής. Μία χρονική σφραγίδα παράγεται είτε από το ρολόι του συστήματος είτε ενημερώνοντας την τιμή μίας μεταβλη τής κάθε φορά που δημιουργείται μία νέα συναλλαγή. Η χρονική σφραγίδα της συναλλαγής Σ i συμβολίζεται με TS(Σ i ). 54
55 Μηχανισμός χρονικών σφραγίδων Η προσπέλαση επιτρέπεται μόνο αν η τελευταία ενημέρωση πραγματοποιήθηκε από παλαιότερη συναλλαγή (που θα έχει μικρότερη χρονική σφραγίδα). Αλλιώς πραγματοποιείται τερματισμός και επανεκκίνηση της συναλλαγής με νέα χρονική σφραγίδα. Χρονικές σφραγίδες ορίζονται όχι μόνο για τις συναλλαγές αλλά και για τα δεδομένα: σε κάθε σελίδα δεδομένων αντιστοιχεί μία χρονική σφραγίδα ανάγνωσης και μία χρονική σφραγίδα αποθήκευσης, οι δύο χρονικές σφραγίδες συμβολίζονται με timestamp W και timestamp R αντίστοιχα. 55
56 Μηχανισμός χρονικών σφραγίδων Ητιμήτηςχρονικής της σφραγίδας ανάγνωσης είναι η τιμή της χρονικής σφραγίδας της συναλλαγής που πραγματοποίησε τελευταία ανάγνωση στη σελίδα δεδομένων. Η τιμή της χρονικής σφραγίδας αποθήκευσης είναι η χρονική σφραγίδα της συναλλαγής που πραγματοποίησε τελευταία ενημέρωση στη σελίδα δεδομένων. Κάθε φορά που πραγματοποιείται ανάγνωση ή αποθήκευση της σελίδας δεδομένων δ D, ενημερώνονται οι τιμές timestamp t W(D) και timestamp R(D), αντιστοίχως. 56
57 Πρωτόκολλο διάταξης χρονικών σφραγίδων 57
58 Πρωτόκολλο διάταξης χρονικών σφραγίδων 58
59 Κανόνας αποθήκευσης του Thomas Με τη χρήση της μεθόδου των χρονικών σφραγίδων, αν μία συναλλαγή προσπαθήσει να αλλάξει την τιμή μίας σελίδας δεδομένων, δ η οποία έχει ήδη ενημερωθεί από άλλη συναλλαγή, τότε η εκτέλεση της συναλλαγής διακόπτεται και πραγματοποιείται ROLLBACK. Σύμφωνα με τον κανόνα αποθήκευσης του Thomas αρκεί να αγνοήσουμε τη λειτουργία αποθήκευσης, οπότε: μειώνεται εώ εα το κόστος οςλειτουργίας, και αυξάνεται η απόδοση του συστήματος. 59
60 Κανόνας αποθήκευσης του Thomas 60
61 Κανόνας αποθήκευσης του Thomas Το νέο πρωτόκολλο διαφέρει μόνο ως προς τη διαχείριση των εντολών αποθήκευσης: αν TS(Σ i ) < timestamp W(D), τότε η συναλλαγή προσπαθεί να ενημερώσει μία τιμή που έχει ήδη αλλάξει από άλλη συναλλαγή. Στην περίπτωση αυτή η εντολή αποθήκευσης μπορεί να αγνοηθεί με ασφάλεια. αν TS(Σ i ) < timestamp R(D), τότε η τρέχουσα τιμή του D διαβάσθηκε προηγουμένως από άλλη συναλλαγή. Στην περίπτωση αυτή διακόπτεται η εντολή αποθήκευσης και πραγματοποιείται ROLLBACK. αν δεν ισχύει καμία από τις δύο συνθήκες, τότε η λειτουργία αποθήκευσης μπορεί να ολοκληρωθεί χωρίς πρόβλημα και timestamp W(D) = TS(Σ i ). 61
62 Σύγκριση μηχανισμών μ (1) Το σκεπτικό των μηχανισμών κλειδώματος είναι απαισιόδοξο, καθώς θεωρούν ότι αν δεν επιβληθούν, θα προκύψει μη σειριοποιήσιμο χρονοδιάγραμμα. Αντίθετα, οι μηχανισμοί χρονικών σφραγίδων έχουν αισιόδοξο σκεπτικό, καθώς θεωρούν ότι τα χρονοδιαγράμματα επιλέγονται συνήθως σωστά και χρεάζεται να επέμβουν μόνο όταν αυτό δεν ισχύει. Αν κάτι δεν πάει καλα: Μηχανισμοί κλειδώματος: καθυστερούν συναλλαγές. Μηχανισμοί χρον. σφραγίδων: τερματισμός και επανεκκίνηση 62
63 Πρακτικά: Σύγκριση μηχανισμών μ (2) Όταν λίγες συναλλαγές συγκρούονται: καλύτεροι οι μηχανισμοί χρονικών σφραγίδων. Όταν συχνά συναλλαγές διαβάζουν/αποθηκεύουν τα ίδια δεδομένα δ (δηλ. λ υπάρχουν συγκρούσεις): ) καλύτεροι οι μηχανισμοί κλειδώματος. Υβριδικοί μηχανισμοί μπορούν επίσης να χρησιμοποιηθούν. 63
64 Θέματα ταυτοχρονισμού που θα εξεταστούν Σειριοποίηση (προηγούμενες διαφάνειες) Επιβολή σειριοποίησης με μηχανισμούς κλειδώματος Επιβολή σειριοποίησης με χρονικές σφραγίδες. Αδιέξοδα 64
65 Διαχείριση αδιεξόδου Ένα σύνολο συναλλαγών βρίσκεται σε αδιέξοδο (deadlock), όταν καμία συναλλαγή δεν είναι εφικτό να συνεχίσει την εκτέλεσή της, λόγω αναμονής για την απελευθέρωση κλειδαριών. Το αδιέξοδο αποτελεί παθολογική κατάσταση και πρέπει να αποφεύγεται. 65
66 Διαχείριση αδιεξόδου Η διαχείριση του αδιεξόδου πραγματοποιείται γενικά με δύο μεθόδους: αποφυγή αδιεξόδου (deadlock dl prevention), όπου το σύστημα ελέγχει την πιθανότητα να συμβεί αδιέξοδο και προσπαθεί να το αποφύγει (προτείνεται ί όταν συμβαίνουν πολλά αδιέξοδα), αναγνώριση αδιεξόδου και επανάκτηση (deadlock dl detection and recovery) όπου το σύστημα είναι σε θέση να αναγνωρίσει ένα αδιέξοδο και προβαίνει σε ενέργειες για την κατάργησή του (προτείνεται όταν δεν συμβαίνουν πολλά αδιέξοδα). 66
67 Αναγνώριση και κατάργηση η αδιεξόδου Η αναγνώριση αδιεξόδου σε ένα σύνολο συναλλαγών διαπιστώνεται με τη βοήθεια ενός κατευθυνόμενου γράφου που καλείται γράφος αναμονής (wait graph) Ο γράφος αυτός αποτελείται από ένα σύνολο κορυφών V και ένα σύνολο ακμών E. Για κάθε συναλλαγή υπάρχει και μία αντίστοιχη κορυφή στο γράφο. Αν υπάρχει ακμή από την κορυφή Σ i προς την κορυφή Σ j, τότε αυτό όδηλώνει ότι η συναλλαγή Σ i αναμένει μέχρι η συναλλαγή Σ j να απελευθερώσει την κλειδαριά σε ένα τμήμα δεδομένων δ που πρέπει να προσπελάσει η Σ i. 67
68 Αναγνώριση και κατάργηση η αδιεξόδου Αν στο γράφο αναμονής δεν υπάρχει κύκλος, τότε δεν υπάρχει αδιέξοδο. Αντίθετα, η ύπαρξη έστω και ενός κύκλου σημαίνει ότι ένα υποσύνολο των συναλλαγών βρίσκεται σε αδιέξοδο. Αν συμβαίνουν συχνά αδιέξοδα πρέπει να είναι συχνός και ο έλεγχος του γράφου αναμονής. Το ΣΔΒΔ μπορεί να διατηρεί στατιστικά στοιχεία για τον αριθμό των αδιεξόδων και τη συχνότητα εμφάνισής τους και ανάλογα να προσδιορίζεται και η συχνότητα του ελέγχου για αδιέξοδο. 68
69 Αναγνώριση και κατάργηση η αδιεξόδου 69
70 Κατάργηση η αδιεξόδου Η συχνότερα χρησιμοποιούμενη μέθοδος για την κατάργηση του αδιέξοδου είναι ο τερματισμός μίας η περισσοτέρων συναλλαγών και η επαναφορά των δεδομένων στην κατάσταση που βρισκόταν πριν από την εκτέλεση των συναλλαγών αυτών (ROLLBACK). 70
71 Κατάργηση η αδιεξόδου Η μέθοδος ROLLABACK εκτελείται ως εξής: Βήμα 1. Επιλογή συναλλαγών για ROLLABACK. H επιλογή των συναλλαγών πραγματοποιείται με βάση το ελάχιστο κόστος. Σύμφωνα με τους εξής παράγοντες: ο μέχρι στιγμής χρόνος εκτέλεσης της συναλλαγής και ο υπολειπόμενος χρόνος για την ολοκλήρωση της συναλλαγής, ο αριθμός των δεδομένων που έχουν ενημερωθεί από τη συναλλαγή, ο αριθμός των δεδομένων που πρέπει να προσπελασθούν από τη συναλλαγή, Ο αριθμός των συναλλαγών όπου θα εφαρμοσθεί η λειτουργία ROLLBACK. 71
72 Κατάργηση η αδιεξόδου Βήμα 2. Επιλογή σημείου ROLLBACK. η απλούστερη λύση είναι να γίνει επαναφορά της συναλλαγής στην αρχή, καταργώντας όλες τις αλλαγές που έχει επιφέρει στα δεδομένα, η λύση αυτή έχει μεγάλο κόστος, δό διότι η συναλλαγή μπορεί να έχει ενημερώσει ένα μεγάλο αριθμό δεδομένων, συνήθως, το αδιέξοδο δέξ δ καταργείται εφαρμόζοντας ROLLBACK στις τελευταίες εντολές της συναλλαγής. 72
73 Κατάργηση η αδιεξόδου Βήμα 3. Αποφυγή ατέρμονης αναμονής. η ατέρμονη αναμονή (starvation) είναι ένα φαινόμενο που μπορεί να εμφανισθεί αν επιλέγεται συνεχώς η ίδια συναλλαγή για την εφαρμογή του ROLLBACK, αυτό σημαίνει ότι συνεχώς η ίδια συναλλαγή εμποδίζεται να ολοκληρώσει την εκτέλεσή της, το ΣΔΒΔ μπορεί να αποτρέψει την επιλογή της ίδιας συναλλαγής περισσότερο από έναν αριθμό επιλογών, δίνοντας έτσι την ευκαιρία στη συναλλαγή να ολοκληρώσει την επεξεργασία της. 73
74 Αποφυγή αδιεξόδου βάσει χρονικού διαστήματος Μία μέθοδος αποφυγής του αδιεξόδου είναι ο ορισμός ενός μέγιστου χρονικού διαστήματος για την αναμονή χορήγησης μίας κλειδαριάς. Αν εξαντληθεί το χρονικό διάστημα και η κλειδαριά δεν έχει ακόμη χορηγηθεί στη συναλλαγή, το σύστημα τερματίζει τη διαδικασία και την επαναδημιουργεί. Η μέθοδος αυτή αποφυγής αδιεξόδου χρησιμοποιείται από πολλά ΣΔΒΔ λόγω της απλότητάς της. Η επιλογή κατάλληλου χρονικού διαστήματος δεν είναι πάντα προφανής. 74
75 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Α τρόπος: wait die atde T1 (ts =10) Η Τ3 ζητάει κλειδαριά που έχει η Τ1. Η Τ3 τερματίζεται T3 (ts =25) Η Τ1 ζητάει κλειδαριά που έχει η Τ2. ΗΤ1 περιμένει. T2 (ts =20) Η Τ2 ζητάει κλειδαριά που έχει η Τ3. Η Τ2 περιμένει. 75
76 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Β τρόπος: wound wait at T1 Η Τ1 ζητάει κλειδαριά που έχει η Τ2. Η Τ1 περιμένει. (ts =25) Η Τ3 ζητάει κλειδαριά που έχει η Τ1. Η Τ1 τερματίζεται T3 (ts =10) T2 (ts =20) Η Τ2 ζητάει κλειδαριά που έχει η Τ3. Η Τ2 περιμένει. ρμ 76
77 Αποφυγή αδιεξόδου με χρονικές σφραγίδες Μια άλλη μέθοδος είναι αυτή των χρονικών σφραγίδων (timestamps) και προτείνονται δύο αλγόριθμοι: Wait Die, που επιτρέπει σε μία παλαιότερη συναλλαγή (μικρή χρονική σφραγίδα) να περιμένει την απελευθέρωση μίας κλειδαριάς από μία νεότερη (μεγαλύτερη χρονική σφραγίδα). Διαφορετικά, η συναλλαγή που ζητάει την κλειδαριά τερματίζεται και το σύστημα την επανεκκινεί. Wound Wait, όπου επιτρέπεται σε μία νεότερη συναλλαγή να περιμένει την εκτέλεση μίας παλαιότερης. Αν η παλαιότερη συναλλαγή ζητά τη χορήγηση μίας κλειδαριάς που είναι δεσμευμένη από μία νεότερη συναλλαγή,τότε η νεότερη συναλλαγή τερματίζεται. Οι χρονικές σφραγίδες για αποφυγή αδιεξόδου δεν είναι οι ίδιες με αυτές που χρησιμοποιούνται για τον έλεγχο ταυτοχρονισμού. Μια σημαντική διαφορά είναι ότι οι χρονικές σφραγίδες για αποφυγή αδιεξόδου δεν ενημερώνονται όταν η συναλλαγή επανεκκινείται. 77
78 Ορθότητα τεχνικής με χρονικές σφραγίδες Δεν πρέπει να υπάρχει κύκλος στον αντίστοιχο γράφο αναμονής. Στην τεχνική wait die die, μία συναλλαγή περιμένει μόνο για απελευθέρωση κλειδαριών από νεότερες ερες συναλλαγές όχι κύκλος. Στην τεχνική wound wait, μία συναλλαγή περιμένει μόνο για απελευθέρωση κλειδαριών από παλαιότερες συναλλαγές όχι κύκλος. 78
79 Ατέρμονη αναμονή Και στις δύο τεχνικές (wait die, wound wait), wait), οι παλαιότερες συναλλαγές προκαλούν τερματισμό των νεότερων. Οι συναλλαγές δεν αλλαζούν χρονική σφραγίδα. Η παλαιότερη συναλλαγή ποτέ δεν τερματίζεται από το σύστημα. Μία συναλλαγή που τερματίζεται από το σύστημα, σε κάποια στιγμή θα γίνει η συναλλαγή με την πιο μικρή χρονική σφραγίδα άρα θα εκτελεστεί. 79
80 Σύγκριση τεχνικών και μεθόδων Οι τερματισμοί είναι πιο συχνοί στην τεχνική wait die παρά στην τεχνική wound wait. Επειδή στην wound wait είναι πιο σπάνιο μία νεότερη συναλλαγή να έχει προλάβει να δεσμεύσει κλειδαριά που χρειάζεται και μία παλαιότερη συναλλαγή. Όμως, οι πράξεις που έχει προλάβει να κάνει μία συναλλαγή που τερματίζεται (και χάνονται) λόγω της wait die είναι πολύ λιγότερες από αυτές που χάνονται λόγω της wound die Επειδή η συναλλαγή που τερματίζεται λόγω της wait die είναι ακόμη στη φάση δέσμευσης κλειδαριών. Οι μεθοδολογίες με χρονικές σφραγίδες είναι απλούστερες από αυτές με γράφους αναμονής. Αλλά, οι μεθοδολογίες με χρονικές σφραγίδες τερματίζουν συναλλαγές ακόμη κι αν δεν υπάρχει σίγουρα αδιέξοδο. 80
Έλεγχος Ταυτοχρονισμού
Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book Κεφάλαια 18.1 18.3
Διαβάστε περισσότεραΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης
ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για
Διαβάστε περισσότεραΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης
ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για
Διαβάστε περισσότεραΕπανάκτηση δεδομένων. (εμπλουτισμένο υλικό)
Επανάκτηση δεδομένων (εμπλουτισμένο υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2 Επανάκτηση ηδεδομένων
Διαβάστε περισσότεραΔοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη
Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Βασικές έννοιες της δοσοληψίας Δοσοληψία είναι μία
Διαβάστε περισσότεραΧρονοδιάγραμμα/Χρονοπρόγραμμα
Χρονοδιάγραμμα/Χρονοπρόγραμμα Χρονοδιάγραμμα ή Χρονοπρόγραμμα (Schedule) είναι μια σειρά/ακολουθία ενεργειών που πραγματοποιούνται από μια ή περισσότερες δοσοληψίες. Σημαντικές ενέργειες: ανάγνωση, εγγραφή
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Δοσοληψιών (Transaction Processing) (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του
Διαβάστε περισσότεραΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης
ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Τζικούλης Βασίλειος Credits:Γιάννης Μακρυδάκης Συναλλαγές Η ταυτόχρονες συναλλαγές (δοσοληψίες, transactions) µε µια
Διαβάστε περισσότεραΈλεγχος Ταυτοχρονισμού
Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ Ενότητα 1
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 1: Επεξεργασία Δοσοληψιών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών
οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών
Βάσεις Δεδομένων ΙΙ Διάλεξη 1 η Επεξεργασία Δοσοληψιών Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Ορισμός Προβλήματος Σύστημα Επεξεργασίας Δοσοληψιών Συστήματα
Διαβάστε περισσότεραΈλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη
Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Έλεγχος συγχρονικότητας Διάφορες
Διαβάστε περισσότεραΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)
Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις
Διαβάστε περισσότεραΈλεγχος Συγχρονικότητας. (Concurrency Control)
Έλεγχος Συγχρονικότητας (Concurrency Control) Συγχρονικότητα δοσοληψιών Οι αλληλεπιδράσεις ανάμεσα σε πολλαπλές δοσοληψίες που εκτελούνται ταυτόχρονα (multiple transactions execute concurrently) μπορεί
Διαβάστε περισσότεραΕπαναληπτικές ασκήσεις
Επαναληπτικές ασκήσεις Ασκ 1: Θεωρείστε τα παρακάτω χρονοδιαγράμματα σύγχρονης εκτέλεσης : S 1 = r 1 (A); w 4 (B); w 1 (C); w 3 (D); r 2 (C); w 3 (A); w 1 (A); r 3 (B); w 3 (B); r 2 (D); w 2 (A) S 2 =
Διαβάστε περισσότεραΒάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος 2008-09
Βάσεις Δεδομένων 2 Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας Ημερ: 05/5/2009 Ακ.Έτος 2008-09 Θεωρία-Επανάληψη Δοσοληψία-ορισμός Το πρόβλημα της απώλειας των ενημερώσεων Το πρόβλημα της προσωρινής
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόµου Έλεγχος συνδροµικότητας (παρουσίαση βασισµένη εν µέρη σε σηµειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos) Γενική Επισκόπηση
Διαβάστε περισσότεραΒάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΑ και ΔΥΝΑΤΟΤΗΤΑ ΑΝΑΚΑΜΨΗΣ Όταν οι δοσοληψίες
Διαβάστε περισσότεραΘεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη;
Θεµατολόγιο Κλειδώµατα 2 Phase Locking Πώς γίνεται στην πράξη; Αδιέξοδα 1 Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη; Η σειριοποιησιµότητα όψεων είναι πολύ ακριβή για να ελεγχθεί, ούτως ή άλλως... Οι
Διαβάστε περισσότεραΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)
ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα:
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ
ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ Σε αυτό το κεφάλαιο θα ασχοληθούµε µε βασικές έννοιες που αφορούν τη διαχείριση των συναλλαγών και ειδικότερα τον έλεγχο ταυτοχρονισµού. Ασχολούµαστε πρωταρχικά
Διαβάστε περισσότεραΣυναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ
Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 1 2 3 T read(a) A -= 30 write(a) read(b)
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ Ενότητα 2
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΔοσοληψίες. Κατανεμημένα Συστήματα
Δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS
Διαβάστε περισσότεραΒάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν
Διαβάστε περισσότεραΈλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη
Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Πρωτόκολλα βασισμένα σε γράφο
Διαβάστε περισσότεραΔοσοληψίες. Κατανεμημένα Συστήματα
Δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών
Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες Βάσεις εδοµένων II 2003-2004 Ευαγγελία
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες (Transactions) Μέχρι στιγμής θεωρούσαμε πως υπάρχει μόνο ένας DB χρήστης που εκτελεί μία
Διαβάστε περισσότεραΔιαχείριση Δοσοληψιών
Διαχείριση Δοσοληψιών Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης Βασική πηγή διαφανειών: Silberschatz
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών (συνέχεια)
Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών
οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό
Διαβάστε περισσότεραΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:
ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση
Διαβάστε περισσότεραΑδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)
Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Εισαγωγή Μοντέλο συστήματος Χαρακτηρισμός και ορισμός κατάστασης αδιεξόδου Μέθοδοι χειρισμού αδιεξόδων Αποτροπή αδιεξόδου (Deadlock Prevention) Αποφυγή
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ Ενότητα 2
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών
Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων προσπέλασης µίας βδ, στην περίπτωση: ταυτοχρονισµού αποτυχιών 1 2 Επανάληψη: οσοληψίες Επανάληψη: οσοληψίες
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη
Διαβάστε περισσότεραΠροχωρημένα Θέματα Βάσεων Δεδομένων
Προχωρημένα Θέματα Βάσεων Δεδομένων 1ο Σετ Ασκήσεων ΕΡΩΤΗΜΑ 1 Ατομικότητα : Η ατομικότητα πρακτικά εξασφαλίζει ότι είτε όλες οι πράξεις μιας δοσοληψίας θα εκτελεστούν ή καμμιά από αυτές δεν θα εκτελεστεί.
Διαβάστε περισσότεραΑδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)
Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Το Πρόβλημα του Αδιεξόδου Ένα σύνολο από διεργασίες σε αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους και περιμένει να αποκτήσει και έναν
Διαβάστε περισσότεραΣυστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάλεξη 9η: Transactions - part 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Transaction Management Comparison of Undo
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση
Διαβάστε περισσότεραΘέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν
Διαβάστε περισσότεραΠλειάδες φαντάσματα (phantoms)
Πλειάδες φαντάσματα (phantoms) Τα phantoms είναι πλειάδες που θα έπρεπε να έχουν φραγή αλλά δεν έχουν, γιατί δεν υπήρχαν όταν αποκτήθηκε το lock Παράδειγμα: σχέση R (E#, name, ) constraint: E# is key χρήση
Διαβάστε περισσότεραΚατανεμημένα Συστήματα με Java. Ενότητα # 7: Ατομικές συναλλαγές Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα με Java Ενότητα # 7: Ατομικές συναλλαγές Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΕπαναφορά του Συστήματος (Μέρος Α')
Επαναφορά του Συστήματος (Μέρος Α') Κεφάλαιο 18 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Επανάληψη: Οι ιδιότητες ACID A tomicity (Ατομικότητα):
Διαβάστε περισσότεραΑΔΙΕΞΟΔΑ (Deadlocks) Παράδειγμα 1 Θανάσιμο αγκάλιασμα (deadly embrace)
Παράδειγμα 1 Ένα σύστημα με έναν εκτυπωτή και ένα σαρωτή εγγράφων Δύο διεργασίες Ρ1 και Ρ2 Η Ρ1 δεσμεύει τον εκτυπωτή Η Ρ2 δεσμεύει το σαρωτή Η Ρ1 ζητά το σαρωτή και εμποδίζεται Η Ρ2 ζητά τον εκτυπωτή
Διαβάστε περισσότεραΚεφάλαιο 13 Δοσοληψίες
Κεφάλαιο 13 Δοσοληψίες Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις δοσοληψίες, την έννοια της σειριοποιησιμότητας και των διαφόρων επιπέδων απομόνωσης. Προαπαιτούμενη γνώση
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων
Διαβάστε περισσότεραΣηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά. http://isl.cs.unipi.
Σηµειώσεις Βάσεων εδοµένων ιαχείριση οσοληψιών Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/ version: 2006-11-28 Περιεχόµενα Ορισµός της δοσοληψίας Καταστάσεις
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability
Διαβάστε περισσότεραΒάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας
Βάσεις Δεδομένων ΙΙ Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Τεχνικές Ελέγχου Συνδρομικότητας Ο χρήστης δεν ασχολείται
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες
Διαβάστε περισσότεραΜάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων
Διαβάστε περισσότεραΜάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση
Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης 01 Εκφώνηση Θεωρείστε το παρακάτω B+tree (κάθε κόμβος ευρετηρίου χωρά 4 καταχωρίσεις ευρετηρίου και κάθε κόμβος φύλλο χωρά 4 καταχωρίσεις δεδομένων): (Α)
Διαβάστε περισσότεραΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΑΔΙΕΞΟΔΑ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΑΔΙΕΞΟΔΑ 2 ΠΟΡΟΙ Υπάρχουν δύο τύποι πόρων σε υπολογιστικά συστήματα: Προεκτοπίσιμοι πόροι
Διαβάστε περισσότεραΗΥ360 Αρχεία και Βάσεις εδοµένων
1 ΗΥ360 Αρχεία και Βάσεις εδοµένων ιαχείριση Συναλλαγών II - Tree Protocols Αυγουστάκη Αργυρώ 2 Διαχείριση Συναλλαγών - Επανάληψη Συναλλαγή (Τ) είναι ένα σύνολο από ενέργειες σε κάποιο αντικείμενο της
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ #1 Τ. Σελλής
Διαβάστε περισσότεραΠροχωρημένα Θέματα Βάσεων Δεδομένων
Προχωρημένα Θέματα Βάσεων Δεδομένων Δοσοληψίες & Ταυτοχρονισμός Διδάσκων: Νεκτάριος Κοζύρης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ε.Μ.Π. Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά
Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 1 Περιγραφή των Δεδομένων: Τα μοντέλα ενός ΣΔΒΔ Ένα μοντέλο δεδομένων είναι μια συλλογή από έννοιες που χρησιμοποιούνται για την περιγραφή δεδομένων
Διαβάστε περισσότερα4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.
4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό
Διαβάστε περισσότεραΠροσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού Μ.Στεφανιδάκης Κοινοί πόροι Κοινοί (διαμοιραζόμενοι) πόροι με μία η περισσότερες μονάδες
Διαβάστε περισσότεραΓιατί υϖάρχει τέτοια καθολική κατάσταση;
ΥΛΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΤΩΝ ΑΝΑΓΝΩΣΗΣ/ΕΓΓΡΑΦΗΣ Καταχωρητές που µοιάζουν πιο πολύπλοκοι µπορούν να υλοποιηθούν από απλούστερους καταχωρητές. Multi-valued from Binary Βασικό Αντικείµενο: δυαδικός καταχωρητής ο
Διαβάστε περισσότεραΑδιέξοδα (Deadlocks)
Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος
Διαβάστε περισσότερα1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;
1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι
Διαβάστε περισσότεραΚατανεµηµένες Συναλλαγές Ασφαλείας Πολλών Επιπέδων
Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής Πτυχιακή Εργασία Κατανεµηµένες Συναλλαγές Ασφαλείας Πολλών Επιπέδων Πολυµέρου Γεώργιος Επιβλέπων Λέκτορας Παναγιώτης Κατσαρός
Διαβάστε περισσότεραΤεχνικές Ελέγχου Συνδροµικότητας
Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Ο χρήστης δεν ασχολείται µε τη συνδροµικότητα Το Σ Β εξασφαλίζει «σωστή συνδροµικότητα», γενικά δροµολογεί τις πράξεις των δοσοληψιών ώστε
Διαβάστε περισσότεραTransactions Management. (Διαχείριση Δοσοληψιών)
Transactions Management (Διαχείριση Δοσοληψιών) Επισκόπηση διαλέξεων Αντιμετώπιση αστοχιών συστήματος (failure recovery) Χρήση ιστορικού/πρακτικού - Logging (Undo, Redo, Undo/Redo) Χρονοπρογράμματα Δοσοληψιών
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΨευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w
Διαβάστε περισσότερα3. Προσομοίωση ενός Συστήματος Αναμονής.
3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,
Διαβάστε περισσότεραΛειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)
..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν
Διαβάστε περισσότεραΕπεξεργασία οσοληψιών (συνέχεια)
Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες
Διαβάστε περισσότεραΤο Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε
Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες
Διαβάστε περισσότεραΚατανεμημένες δοσοληψίες
Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability
Διαβάστε περισσότεραΣυστήματα Διαχείρισης Βάσεων Δεδομένων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 10: Transactions - part 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on 2-Phase Locking and Other
Διαβάστε περισσότεραΔιάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι
Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Σφάλματα Κατάρρευσης Τι θα δούμε σήμερα Αλγόριθμος SWMR (ΜΕΠΑ) Ατομικής ΚΚΜ στην παρουσία σφαλμάτων
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Λειτουργικά Συστήματα Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.
Διαβάστε περισσότεραΆσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)
ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική
Διαβάστε περισσότεραΜάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός
Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα
Διαβάστε περισσότεραΚατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής
Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΑδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)
Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne,
Διαβάστε περισσότεραΜάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης
Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης
ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.
Διαβάστε περισσότερα9. Συστολικές Συστοιχίες Επεξεργαστών
Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε
Διαβάστε περισσότεραΙδιοκτησία Αντικειµένου
Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται
Διαβάστε περισσότεραΑρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ
Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ Χρήστες ΣΔΒΔ Απλοί Χρήστες: συγκεκριμένες λειτουργίες σε
Διαβάστε περισσότεραΟ βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C
Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται
Διαβάστε περισσότεραFAIL PASS PASS οριακά
AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον
Διαβάστε περισσότεραi Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:
Διαβάστε περισσότεραΕξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα
Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται
Διαβάστε περισσότεραΔιαχείριση Πολιτισμικών Δεδομένων
Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις
Διαβάστε περισσότερα