ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI

Σχετικά έγγραφα
Βάσεις Δεδομένων ΙΙ Ενότητα 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Βάσεις Δεδομένων ΙΙ Ενότητα 1

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Επεξεργασία οσοληψιών (συνέχεια)

Έλεγχος Ταυτοχρονισμού

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη;

Επεξεργασία οσοληψιών

Επεξεργασία οσοληψιών

ΗΥ360 Αρχεία και Βάσεις εδοµένων

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

Έλεγχος Ταυτοχρονισμού

Επεξεργασία οσοληψιών

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ

Επεξεργασία οσοληψιών

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Διαχείριση Δοσοληψιών

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Τεχνικές Ελέγχου Συνδροµικότητας

Σηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά.

Δοσοληψίες. Κατανεμημένα Συστήματα

Επαναληπτικές ασκήσεις

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.

Επεξεργασία οσοληψιών (συνέχεια)

Δοσοληψίες. Κατανεμημένα Συστήματα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας

Έλεγχος Ταυτοχρονισμού

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Κατανεμημένα Συστήματα με Java. Ενότητα # 7: Ατομικές συναλλαγές Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ

Χρονοδιάγραμμα/Χρονοπρόγραμμα

Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού

Κεφάλαιο 13 Δοσοληψίες

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό)

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Έλεγχος Συγχρονικότητας. (Concurrency Control)

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Προχωρημένα Θέματα Βάσεων Δεδομένων

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

Ιδιοκτησία Αντικειµένου

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Transactions Management. (Διαχείριση Δοσοληψιών)

Επεξεργασία Ερωτήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Λειτουργικά Συστήματα (ΗΥ222)

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.

Κατανεμημένες δοσοληψίες

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ

Επαναφορά του Συστήματος (Μέρος Α')

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Προχωρημένα Θέματα Βάσεων Δεδομένων

Εισαγωγή στους Αλγορίθμους

Κατανεμημένες δοσοληψίες

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Certified Data Base Designer (CDBD)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Επεξεργασία Ερωτήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Υ- 07 Παράλληλα Συστήματα Transac9onal memory

Κατανεμημένες Βάσεις Δεδομένων

Επεξεργασία Ερωτήσεων

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Επεξεργασία Ερωτήσεων

Τεχνικές Ανάνηψης Περιεχόµενα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

FUHR FUHR MULTISAFE. Αυτόμ ατη προστασία για αίσθηση ασφάλειας. Ο αυτόματος μηχανισμός κλειδώματος, που δεν αντιγράφεται

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

ΕΓΧΕΙΡΙΔΙΟ ΥΠΗΡΕΣΙΑΣ ΣΥΛΛΟΓΙΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΓΓΡΑΦΩΝ

Κατανεμημένες δοσοληψίες

Βάσεις Δεδομένων ΙΙ. Διάλεξη 4 η Aρχιτεκτονικές ΣΒΔ. Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Πλειάδες φαντάσματα (phantoms)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόµου Έλεγχος συνδροµικότητας (παρουσίαση βασισµένη εν µέρη σε σηµειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos)

Γενική Επισκόπηση Σχεσιακό Μοντέλο - SQL Συναρτησιακές Εξαρτήσεις & Κανονικοποίηση Φυσικός σχεδιασµός & εικτοδότηση Βελτιστοποίηση ερωτήσεων Επεξεργασία δοσοληψιών Έλεγχος συνδροµικότητας Ανάκαµψη

Ορισµός & Επιθυµητές Ιδιότητες των οσοληψιών Μια λογική µονάδα επεξεργασίας της Β που περιλαµβάνει µία ή περισσότερες πράξεις προσπέλασης στη Β, π.χ., µετακίνησε 10 από το απόθεµα στην πληρωµή Αtomicity (Ατοµικότητα) είτε όλες οι πράξεις είτε καµία Consistency (Συνέπεια) διατήρηση συνέπειας της Β Isolation (Αποµόνωση) δεν εµπλέκεται µε άλλη δοσοληψία που εκτελείται ταυτόχρονα Durability (Μονιµότητα ή διάρκεια) µετά την επικύρωση µιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν

Συνδροµικότητα επισκόπηση Για ποιο λόγο την χρειαζόµαστε; Τι σηµαίνει σωστή παρεµβολή; Γράφος προτεραιότητας Πώς µπορούν να επιτευχθούν αυτόµατα σωστές παρεµβολές; Έλεγχος συνδροµικότητας

Πρόβληµα Ταυτόχρονη προσπέλαση δεδοµένων (αναλογιστείτε το πρόβληµα χαµένης ενηµερωσης ) Πώς µπορεί να επιλυθεί;

Πρόβληµα χαµένης ενηµέρωσης χωρίς την τεχνική κλειδώµατος χρόνος T1 Read(N) Read(N) N=N-1 Write(N) T2 Read(N) N= N-1 Write(N)

Λύση µέρος 1 Τεχνική κλειδώµατος! (δηµοφιλέστερη λύση) - Locks ιαχειριστής κλειδώµατος: δέχεται ή απορρίπτει τα αιτήµατα κλειδώµατος

Πρόβληµα χαµένης ενηµέρωσης µε κλειδιά T1 T2 ιαχειριστής κλειδώµατος χρόνος lock( ) Read( ) = -1 Write( ) Unlock( ) lock( ) T2: waits Read( )... έχεται το κλείδωµα Απορρίπτει το κλείδωµα ίνει το κλειδί στην T2

Τεχνική κλειδώµατος Αλλά, τι γίνεται στην περίπτωση που όλοι θέλουν να διαβάσουν το Ν ;

Λύση µέρος 1 Τεχνική κλειδώµατος X-locks: αποκλειστικό (exclusive) κλειδί ή κλειδί εγγραφής S-locks: διαµοιραζόµενο (shared) κλειδί ή κλειδί ανάγνωσης <και άλλα... > Πίνακας συµβατότητας T2 wants T1 has S X S T F X F F

Λύση µέρος 1 Οι δοσοληψίες ζητούν κλειδιά (ή ενηµερώσεις) Ο διαχειριστής κλειδιών δέχεται η απορρίπτει τα αιτήµατα Οι δοσοληψίες ελευθερώνουν τα κλειδιά Ο διαχειριστής κλειδιών ενηµερώνει τον πίνακα κλειδιών

Λύση µέρος 1 Μία δοσοληψία παίρνει ένα κλειδί σε ένα στοιχείο εάν το ζητούµενο κλειδί είναι συµβατό µε τα κλειδιά που υπάρχουν ήδη στο αντικείµενο Οποιοσδήποτε αριθµός δοσοληψιών µπορεί να διατηρεί διαµοιραζόµενα κλειδιά σε ένα στοιχείο Εαν κάποια δοσοληψία διατηρεί ένα αποκλειστικό κλειδί σε ένα στοιχείο καµία άλλη δοσοληψία δε µπορεί να έχει οποιοδήποτε κλειδί στο στοιχείο Εάν δεν γίνει δεκτό ένα αίτηµα κλειδιού, η αιτούσα δοσοληψία περιµένει εως ότου αρθούν (επιστραφούν) όλα τα µη συµβατά κλειδιά από άλλες δοσοληψίες

Λύση µέρος 2 Τα κλειδιά δεν είναι αρκετά π.χ., ασυνεπής ανάλυση

Ασυνεπής ανάλυση χρόνος T1 Read(A) A=A-10 Write(A) T2 Read(A) Sum = A Read(B) Sum += B Γράφος προτεραιότητας? Read(B) B=B+10 Write(B)

Ασυνεπής ανάλυση w/ locks time T1 L(A) Read(A)... U(A) T2 L(A)... L(B)... Το πρόβληµα παραµένει! Λύση;;

Γενική λύση: Πρωτόκολλο(α) Ένα πρωτόκολλο κλειδώµατος είναι ένα σύνολο κανόνων το οποίο ακολουθείται από όλες τις δοσοληψίες κατά τις αιτήσεις και τις άρσεις κλειδιών. Τα πρωτόκολλα κλειδώµατος περιορίζουν το σύνολο των πιθανών χρονοπρογραµµάτων. Το δηµοφιλέστερο πρωτόκολλο: Πρωτόκολλο κλειδώµατος δύο φάσεων 2 Phase Locking -(2PL)

2PL (Κλείδωµα δύο φάσεων) Φάση 1: Φάση επέκτασης Η δοσοληψία µπορεί να ζητήσει κλειδιά Η δοσοληψία δεν απελευθερώνει κλειδιά Φάση 2: Φάση συρρίκνωσης Η δοσοληψία µπορεί να ελευθερώσει κλειδιά Η δοσοληψία δεν αποκτάει άλλα κλειδιά Το πρωτόκολλο εξασφαλίζει σειριοποιησιµότητα Οι δοσοληψίες µπορούν να σειριοποιηθούν σύµφωνα µε την σειρά των σηµείων κλειδώµατος (lock points) (δηλ. τα χρονικά σηµεία στα οποία η δοσοληψία απόκτησε το τελευταίο της κλειδί

2PL X-lock έκδοση: οι δοσοληψίες δεν ζητούν κλειδιά µετά το πρώτο unlock ΘΕΩΡΗΜΑ: εάν όλες οι δοσοληψίες υπακούν στο 2PL όλα τα χρονοπρογράµµατα είναι σειριοποιήσιµα

2PL παράδειγµα ασυνεπής ανάλυση γιατί όχι το 2PL; Πώς θα ήταν µε το 2PL?

2PL X/S lock version Οι δοσοληψίες δεν κάνουν κανένα αίτηµα κλειδώµατος/αναβάθµισης, µετά το πρώτο ξεκλείδωµα/υποβάθµιση Γενικά: φάση επέκτασης και συρρίκνωσης

2PL παρατηρήσεις - Περιορίζει την συνδροµικότητα - Μπορεί να οδηγήσει σε αδιέξοδα - 2PLC (διατήρηση κλειδωµάτων ως το commit ) Αυστηρό πρωτόκολλο δύο φάσεων. Μία δοσοληψία δεν απελευθερώνει κανένα αποκλειστικό κλειδί µέχρι να επικυρωθεί ή ακυρωθεί Άκαµπτο πρωτόκολλο δύο φάσεων. Είναι ακόµα πιο αυστηρό. Εδώ όλα τα κλειδώµατα διατηρούνται έως την επικύρωση / ακύρωση. Σε αυτό το πρωτόκολλο οι συναλλαγές µπορούν να σειριοποιηθούν µε τη σειρά που επικυρώνονται.

Συνδροµικότητα επισκόπιση Τι σηµαίνει σωστή παρεµβολή; Γράφος προτεραιότητας Πως επιτυγχάνονται σωστές παρεµβολές αυτόµατα; έλεγχος συνδροµικότητας κλειδιά + πρωτόκολλα 2PL, 2PLC Πρωτόκολλα γράφων Κλείδωµα πολλαπλής κλιµάκωσης χωρίς κλειδιά: αισιόδοξο

Πρωτόκολλα διαφορετικά από το 2-PL βάσει γράφων - Υπόθεση: Έχουµε µία εκ των προτέρων γνώση όσον αφορά την σειρά µε την οποία θα προσπελαστούν τα δεδοµένα - (Ιεραρχική) διάταξη των δεδοµένων, όπως για παράδειγµα των σελίδων ενός B-tree A B C

Πρωτόκολλα διαφορετικά από το 2-PL βάσει γράφων Τα πρωτόκολλα γράφων είναι µια εναλλακτική του πρωτόκολλου κλειδώµατος δύο φάσεων Επιβάλλεται µία µερική διάταξη στο σύνολο D = {d 1, d 2,..., d h } όλων των στοιχείων Εάν d i d j τότε οποιαδήποτε δοσοληψία προσπελαύνει τα d i και d j πρέπει να προσπελάσει το d i πριν από το d j. Το σύνολο D θεωρείται ως ένα κατευθυνόµενο άκυκλο γράφηµα, το οποίο καλείται database graph. Το πρωτόκολλο δένδρου (tree-protocol ) είναι ένα απλό είδος πρωτόκολλου γράφου

Π.χ., πρωτόκολλο δένδρου (Xlock version) - an xact µπορεί να ζητήσει οποιοδήποτε στοιχείο, στο πρώτο αίτηµα κλειδιού can - Από εκεί και έπειτα, µπορεί να ζητήσει µόνο στοιχεία για τα οποία κατέχει το γονεϊκό κλειδί - Μπορεί να απελευθερώσει κλειδιά οποιαδήποτε στιγµή - ΕΝ µπορεί να ζητήσει ένα στοιχείο δύο φορές

Πρωτόκολλο δένδρου - παράδειγµα T1 T2 L(B) L(D) L(H) U(D) L(E) U(E) L(D) U(B) U(H) L(G) U(D) U(G) G D B H E A C I F -2PL; -Ακολουθεί το πρωτόκολλο δένδρου; - Σωστό ;

Πρωτόκολλο δένδρου - Ισοδύναµο µε το πρωτόκολλο κλειδώµατος δύο φάσεων; - Αδιέξοδα; - Πλεονεκτήµατα και µειονεκτήµατα;

Πρωτόκολλο δένδρου Το πρωτόκολλο δένδρου εξασφαλίζει την σειριοποίηση συγκρούσεων και την µη ύπαρξη αδιεξόδων Το ξεκλείδωµα µπορεί να εµφανιστεί νωρίτερα στο πρωτόκολλο κλειδώµατος δένδρου απ ότι στο πρωτόκολλο κλειδώµατος δύο φάσεων Μικρότεροι χρόνοι αναµονής, αύξηση συνδροµικότητας Το πρωτόκολλο δεν έχει αδιέξοδα, δεν απαιτούνται υποχωρήσεις Η ακύρωση µίας δοσοληψίας µπορεί να οδηγήσει σε διαδοχικές υποχωρήσεις Ωστόσο, στο πρωτόκολλο κλειδώµατος δένδρου, µία δοσοληψία µπορεί να πρέπει να κλειδώσει στοιχεία τα οποία δεν προσπελαύνει Αυξηµένη επιβάρυνση κλειδώµατος, και επιπρόσθετος χρόνος αναµονής Πιθανή µείωση συνδροµικότητας Χρονοπρογράµµατα που είναι αδύνατα στο κλείδωµα δύο φάσεων γίνονται δυνατά στο πρωτόκολλο δένδρου και αντίστροφα

Άλλα πρωτόκολλα - Κλιµάκωση κλειδώµατος Αρχείο; Εγγραφή; Σελίδα; Πίνακας; - Πλεονεκτήµατα και µειονεκτήµατα - (Ιδανικά, κάθε δοσοληψία θα έπρεπε να αποκτά µερικά κλειδιά)

Πολλαπλή κλιµάκωση Παράδειγµα: Β Πίνακας 1 Πίνακας 2 εγγραφή1 εγγραφή2 εγγραφή-n ιδιότ1 ιδιότ2 ιδιότ1

Πολλαπλή κλιµάκωση Επιτρέπει στα δεδοµένα να έχουν διάφορα µεγέθη Ορίζει µία ιεραρχία κλιµάκωσης δεδοµένων Μπορεί να αναπαρασταθεί γραφικά ως ένα δένδρο (αλλά δεν συγχέεται µε το πρωτόκολλο κλειδώµατος δένδρου) Όταν µία δοσοληψία κλειδώνει ένα κόµβο στο δένδρο αποκλειστικά, κλειδώνει εµµέσως όλους τους κόµβους απογόνους µε τον ίδιο τρόπο Κλιµάκωση (Granularity) του κλειδώµατος (επίπεδο του δέντρου στο οποίο γίνεται το κλείδωµα): Λεπτό (fine granularity) (χαµηλά στο δέντρο): υψηλός παραλληλισµός, υψηλό κόστος κλειδώµατος (overhead) Τραχύ (coarse granularity) (ψηλά στο δέντρο): χαµηλό κόστος κλειδώµατος, χαµηλός παραλληλισµός.

Τύποι κλειδιών; Εκτός από τα κλειδώµατα S και X, υπάρχουν τρία ακόµα είδη κλειδωµάτων όταν έχουµε πολλαπλή κλιµάκωση: Πρόθεσης-διαµοιραζόµενη (intention-shared) (IS): σηµαίνει κάποιο κλείδωµα σε χαµηλότερο επίπεδο του δέντρου, αλλά µόνο µε διαµοιραζόµενες κλειδαριές. Πρόθεσης-αποκλειστική (intention-exclusive) (IX): σηµαίνει κάποιο κλείδωµα σε χαµηλότερο επίπεδο του δέντρου µε αποκλειστικές ή διαµοιραζόµενες κλειδαριές. ιαµοιραζόµενη και πρόθεσης-αποκλειστικής (shared and intention-exclusive) (SIX): το υποδέντρο που βρίσκεται σε αυτόν τον κόµβο κλειδώνεται διαµοιραζόµενο και επίσης κάποια αποκλειστική κλειδαριά υπάρχει σε κάποιο χαµηλότερο επίπεδο. Τα κλειδώµατα πρόθεσης επιτρέπουν σε έναν κόµβο ανώτερου επιπέδου να κλειδωθεί σε S ή X µορφή, χωρίς να χρειάζεται να ελεχθούν όλοι οι απόγονοι-κόµβοι.

Πρωτόκολλο - Κάθε xact αποκτά το κατάλληλο κλειδί στο υψηλότερο επίπεδο - φτάνει σε επιθυµητά χαµηλότερα επίπεδα - Τα κλειδώµατα πρόθεσης επιτρέπουν σ ένα κόµβο υψηλότερου επιπέδου να κλειδωθεί σε S ή Χ µορφή χωρίς να πρέπει να ελεγχθούν όλοι οι απόγονοι-κόµβοι

Πρωτόκολλο Μία δοσοληψία T i µπορεί να κλειδώσει έναν κόµβο Q, χρησιµοποιώντας τους ακόλουθους κανόνες: 1. Παρατηρείται ο πίνακας συµβατότητας κλειδωµάτων 2. Η ρίζα του δένδρου πρέπει να κλειδωθεί πρώτη και µπορεί να κλειδωθεί µε οποιοδήποτε τρόπο 3. Ένας κόµβος Q µπορεί να κλειδωθεί από την T i σε S ή IS µορφή µόνο εάν ο Q είναι κλειδωµένος από την T i σε κάποια από την IX ή IS µορφή 4. Ένας κόµβος Q µπορεί να κλειδωθεί από τηνt i σε X, SIX ή IX µορφή µόνο εάν ο γονιός του Q είναι κλειδωµένος από τηνt i σε IX ή SIX µορφή 5. Η T i µπορεί να κλειδώσει έναν κόµβο εάν δεν έχει ξεκλειδώσει προηγουµένως κανέναν κόµβο 6. Η T i µπορεί να ξεκλειδώσει τον Q µόνο εάν κανένα από τα παιδιά του Q δεν είναι κλειδωµένα από την T i. Να παρατηρηθεί ότι τα κλειδώµατα λαµβάνουν χώρα από τη ρίζα προς τα φύλλα ενώ ελευθερώνονται µε µία σειρά από τα φύλλα προς τη ρίζα

Πίνακας συµβατότητας T2 ζητά T1 έχει IS IX S SIX X IS t t t t f IX t t f f f S t f t f f SIX t f f f f X f f f f f

Συµπεράσµατα - ACID για δοσοληψίες - συνδροµικότητα: - σειριοποιησιµότητα (γράφος προτεραιότητας) - µία (δηµοφιλής) λύση: κλειδιά + - πρωτόκολλο κλειδώµατος δύο φάσεων - πρωτόκολλα γράφων, πολλαπλή κλιµάκωση