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

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

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

Διοικητική Λογιστική

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

Βάσεις Περιβαλλοντικών Δεδομένων

Ασφάλεια Πληροφοριακών Συστημάτων

Διοικητική Λογιστική

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

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Δομή διαδικτυακών Πολυμέσων

Βάσεις Περιβαλλοντικών Δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Τεχνικό Σχέδιο - CAD

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Διδακτική Πληροφορικής

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Τεχνικό Σχέδιο - CAD

Διδακτική Πληροφορικής

Τεχνικό Σχέδιο - CAD

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

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

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διδακτική Πληροφορικής

Διοικητική Λογιστική

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διαχείριση Πολιτισμικών Δεδομένων

Διδακτική Πληροφορικής

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

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

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τεχνικό Σχέδιο - CAD

Διδακτική Πληροφορικής

Εισαγωγή στην Πληροφορική

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Πληροφορική

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Διδακτική Πληροφορικής

Βάσεις Περιβαλλοντικών Δεδομένων

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

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

Διοικητική Λογιστική

Τεχνολογία Πολιτισμικού Λογισμικού

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Βάσεις Περιβαλλοντικών Δεδομένων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διοικητική Λογιστική

Εισαγωγή στην Πληροφορική

Διοικητική Λογιστική

Διοικητική Λογιστική

Βάσεις Περιβαλλοντικών Δεδομένων

Οργάνωση και Λειτουργία Ταξιδιωτικής Βιομηχανίας Ι

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ασφάλεια Πληροφοριακών Συστημάτων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Πληροφορική

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Τεχνολογία Πολιτισμικού Λογισμικού

Εισαγωγή στην Πληροφορική

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνολογία Πολιτισμικού Λογισμικού

Δομημένος Προγραμματισμός

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Πληροφορική

Τεχνικό Σχέδιο - CAD. Εισαγωγή στα Προγράμματα CAD. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διδακτική Πληροφορικής

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ασφάλεια Πληροφοριακών Συστημάτων

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΠΟΛΙΤΙΚΗ & ΝΟΜΟΘΕΣΙΑ ΜΑΘΗΜΑ 1

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνικό Σχέδιο - CAD

Τεχνικό Σχέδιο - CAD

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Πληροφορική

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων

Οργάνωση και Λειτουργία Ταξιδιωτικής Βιομηχανίας Ι

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Περιβαλλοντικών Δεδομένων

Transcript:

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

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

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

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

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

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

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

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

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

Λύση - μέρος 1 Τεχνική κλειδώματος X-locks: αποκλειστικό (exclusive) κλειδί η κλειδί εγγραφής S-locks: διαμοιραζόμενο (shared) κλειδί ή κλειδί ανάγνωσης <και άλλα... > Πίνακας συμβατότητας T2 wants T1 has S S T X 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 T2 L(A) Read(A) U(A) 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 ) Αυστηρό πρωτόκολλο δύο φάσεων. Μία δοσοληψία δεν απελευθερώνει κανένα αποκλειστικό κλειδί εωσότου επικυρωθεί ή ακυρωθεί Άκαμπτο πρωτόκολλο δύο φάσεων. Είναι ακόμα πιο αυστηρό. Εδώ όλα τα κλειδώματα διατηρούνται έως την επικύρωση / ακύρωση. Σε αυτό το πρωτόκολλο οι συναλλαγές μπορούν να σειριοποιηθούν με τη σειρά που επικυρώνονται.

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

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.