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

Σχετικά έγγραφα
Επεξεργασία οσοληψιών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σημεία ελέγχου (Checkpoints)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αποκατάσταση συστήματος Βάσεις Δεδομένων

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

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

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

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

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 8. Transaction Management Overview

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Το εσωτερικό ενός Σ Β

PRINCIPLES OF TRANSACTION-ORIENTED DATABASE RECOVERY. Theo Haerder Andreas Reuter. Μαρία Κουτσουλιέρη

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Ειδικά Θζματα Βάςεων Δεδομζνων

10 η Διάλεξη Python Βάσεις δεδομένων στη python

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

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ΘΕΜΑ 1 ο. S <-- 0 ιάβασε Υ Όσο α <= Υ επανάλαβε S <-- S +α. Τέλος_επανάληψης

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

Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 8. Transaction Management Overview

Πανεπιστήµιο Θεσσαλίας

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Εισαγωγή στα Συστήματα Βάσεων εδομένων

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

Transcript:

Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις εδοµένων και Συστήµατα Οµοτίµων (peer-to-peer systems) ιαχείριση Χωρικών εδοµένων Κοιτάξτε τη web σελίδα Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 2 ιαδικαστικά ιαδικαστικά Θα υπάρχει τελική εξέταση Κάποιες ενδιάµεσες ασκήσεις (2 σύνολα) για κατανόηση της ύλης Επεξεργασία οσοληψιών Ίσως κάποια γενική άσκηση στα «νέα» θέµατα (web, p2p) που θα µετρά µόνο θετικά στο βαθµό (+1 ή 2 µονάδες) Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 3 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 4 οσοληψίες οσοληψίες Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό να κρατείται η cpu απασχοληµένη µε πολλά προγράµµατα χρηστών Πολυχρηστικά Σ Β ιαπλεγµένο µοντέλο ταυτόχρονης εκτέλεσης Α Β Α Β οσοληψία (transaction) εκτέλεση ενός προγράµµατος που προσπελαύνει ή τροποποιεί το περιεχόµενο της βάσης δεδοµένων το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 5 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 6

οσοληψίες οσοληψία (transaction) Ένα πρόγραµµα χρήστη µπορεί να εκτελεί πολλές λειτουργίες στα δεδοµένα που ανακτά από τη Β, αλλά το Σ Β ενδιαφέρεται µόνο για τα δεδοµένα που διαβάζονται/γράφονται στη Β Ανάγνωση(Χ) - R(X) Εγγραφή(Χ) - W(X) Συνδροµικότητα σε Σ Β Οι χρήστες υποβάλουν δοσοληψίες και πρέπει να µπορούν να θεωρούν ότι κάθε δοσοληψία εκτελείται µόνη της. Η συνδροµικότητα (concurrency) επιτυγχάνεται από το Σ Β που διαπλέκει τις πράξεις (αναγνώσεις/εγγραφές) των διαφόρων συναλλαγών Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 7 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 8 Ανάκαµψη από Αποτυχίες Ανάκαµψη από Αποτυχίες Όταν µια δοσοληψία υποβάλλεται στο Σ Β το σύστηµα πρέπει να εξασφαλίσει ότι (α) είτε όλες οι πράξεις της θα ολοκληρωθούν είτε (β) καµία δε θα εκτελεστεί - δηλαδή δε θα έχει καµία επίδραση στη Β -- ακόµα και αν συµβούν αποτυχίες Αυτή είναι µια σηµαντική ιδιότητα που πρέπει να εξασφαλίσει το Σ Β - Ο χρήστης πρέπει να µπορεί να θεωρεί ότι όλο το πρόγραµµα (πράξεις) εκτελούνται σε ένα βήµα είτε καµία πράξη δεν εκτελείται (ατοµικότητα των δοσοληψιών) Είδη Αποτυχιών υο κατηγορίες: καταστροφή ή όχι της µόνιµης αποθήκευσης (δίσκου) Παραδείγµατα αποτυχιών... Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 9 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 10 Πιο αναλυτικά... οσοληψίες Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 11 Θεωρείστε δύο συναλλαγές (Xacts): : R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), : R(X) X=X+M, W(X) ιαισθητικά, η µεταφέρει Ν κρατήσεις θέσεων από µια πτήση (Χ) και τις µεταφέρει σε µία άλλη (Y). Η απλώς κρατά Μ θέσεις στην πρώτη πτήση (τη Χ) εν υπάρχει καµία εγγύηση ότι η θα εκτελεστεί πριν την η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσµα πρέπει να είναι ισοδύναµο µε τη µία ή την άλλη περίπτωση (δηλαδή, µε κάποια σειριακή εκτέλεση των δύο δοσοληψιών) Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 12

Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις µεταφέρει Ν κρατήσεις θέσεων από την πτήση Χστη Y. κρατά Μ θέσεις στη Χ. Σωστό Χ = 75, Υ = 120 σειριακή εκτέλεση X=Χ-N X= 70 W(X) write X = 70 Τ1 Τ2 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 R(X) read 70 X=Χ+M X = 75 W(X) write X = 75 X=Χ+M X = 105 W(X) write 105 R(X) read 105 X=Χ-N X = 75 W(X) write X = 75 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 σειριακή εκτέλεση Τ2 Τ1 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 13 Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις X=Χ-N X = 70 W(X) write X =70 R(Y) Y = 90 Y=Y+N Y = 110 W(Y) write Y = 110 W(X) write X = 105 X=Χ+M X = 105 Ητιµή του X είναι λανθασµένη Απώλεια Ενηµερώσεων Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 14 Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις X=Χ-N X = 70 W(X) write X = 70 Y=Y+N Dirty Read R(X) read 70 X=Χ+M X = 75 W(X) write X =75 Προσωρινή Ενηµέρωση Τι θα συµβεί αν η Τ1 αποτύχει - η Τ2 θα έχει διαβάσει «ανύπαρκτη τιµή» Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 15 Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις R(X) X=Χ+M X = 105 W(X) write X = 105 H τιµή του Χ που διαβάζει η Τι είναι διαφορετική!! Μη Επαναλήψιµη Ανάγνωση Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 16 Πράξεις µιας οσοληψίας Πράξεις µιας οσοληψίας Πράξεις οσοληψιών Ας προσπαθήσουµε να ορίσουµε το πρόβληµα στη γενική του µορφή R(X) W(X) COMMIT (επικύρωση) - επιτυχία - όλες οι τροποποιήσεις επικυρώνονται και δεν µπορούν να αναιρεθούν ABORT (ακύρωση ή ανάκληση) - αποτυχία - όλες οι τροποποιήσεις πρέπει να αναιρεθούν Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 17 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 18

Πράξεις µιας οσοληψίας Καταστάσεις µιας οσοληψίας R / W Μια δοσοληψία µπορεί να να επικυρωθεί (commit) αφού ολοκληρώσει όλες τις πράξεις της ενώ µπορεί να ακυρωθεί (abort) αφού εκτελέσει κάποιες από τις πράξεις της Το Σ Β logs όλες τις πράξεις έτσι ώστε να µπορεί να αναιρέσει (undo) τις πράξεις µιας ακυρωµένης (aborted) δοσοληψίας. RUNNING ABORT COMMIT ABORT Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 19 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 20 Συνδροµικότητα σε Σ Β ΥΠΟΘΕΣΕΙΣ Κάθε δοσοληψία πρέπει να αφήνει τη Β σε µια συνεπή κατάσταση αν η Β ήταν σε συνεπή κατάσταση όταν άρχισε η δοσοληψία (συνέπεια) Το Σ Β επιβάλει κάποιους ΠΑ (Περιορισµούς Ακεραιότητας) µε βάση τους ΠΑ που έχουν δηλωθεί στις εντολές CREATE TABLE Πέρα από αυτό, το Σ Β δεν καταλαβαίνει τη σηµασιολογία των δεδοµένων (π.χ., δεν καταλαβαίνει πώς να υπολογίσει το επιτόκιο) Αποτελέσµατα της διαπλεγµένης εκτέλεσης δοσοληψιών (έλεγχος συνδροµικότητας) και των αποτυχιών (ανάκαµψη) Ιδιότητες οσοληψιών Επιθυµητές Ιδιότητες µιας οσοληψίας Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση) - δεν αποκαλύπτει ενδιάµεσα αποτελέσµατα Durability (µονιµότητα ή διάρκεια) -µετά την επικύρωση µιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 21 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 22 Επιθυµητές Ιδιότητες µιας οσοληψίας Επιθυµητές Ιδιότητες µιας οσοληψίας Αtomicity (ατοµικότητα) Consistency (συνέπεια) Isolation (αποµόνωση) Durability (µονιµότητα ή διάρκεια) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ ΥΠΕΥΘΥΝΟΤΗΤΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ ΕΛΕΓΧΟΣ ΣΥΝ ΡΟΜΙΚΟΤΗΤΑΣ ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ Isolation (αποµόνωση) ΕΛΕΓΧΟΣ ΣΥΝ ΡΟΜΙΚΟΤΗΤΑΣ Βαθµός αποµόνωσης 0 :: δεν επικαλύπτει ασταθείς αναγνώσεις (dirty reads) δοσοληψιών µε µεγαλύτερο βαθµό Βαθµός αποµόνωσης 1 :: δεν παρουσιάζει απώλειες ενηµέρωσης Βαθµός αποµόνωσης 2 :: ούτε απώλειες ενηµέρωσης, ούτε ασταθείς αναγνώσεις Βαθµός αποµόνωσης 3 :: επίπεδο 2 + επαναλήψιµες αναγνώσεις Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 23 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 24

Επεξεργασία οσοληψιών Επεξεργασία οσοληψιών Τώρα που καταλάβαµε το πρόβληµα:: µπορούµε να βρούµε ένα θεωρητικό µοντέλο που να το εκφράζει; Ορισµοί 1. δοσοληψία 2. διαπεπλεγµένη εκτέλεση δοσοληψιών (χρονοπρόγραµµα) 3. σωστό -- αποδεκτό χρονοπρόγραµµα Στη συνέχεια... (στο επόµενο µάθηµα) Τεχνικές για να πετύχουµε σωστά χρονοπρογράµµατα (έλεγχος συνδροµικότητας) Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 25 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 26 Ορισµός οσοληψίας Ορισµός οσοληψίας Θεωρείστε τις δύο συναλλαγές (Xacts) του παραδείγµατος: Μια δοσοληψία είναι µια ακολουθία από πράξεις εγγραφής και ανάγνωσης που τελειώνει µε µια πράξη επικύρωσης (commit) ή µε µια πράξη ακύρωσης (abort) : R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), : R(X) X=X+M, W(X) Τ1: R(X) W(X) R(Y) W(Y) C : R(X) W(X) C Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 27 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 28 Εκφράζει µια συγκεκριµένη εκτέλεση ενός συνόλου δοσοληψιών Οι πράξεις των δοσοληψιών εµφανίζονται στο χρονοπρόγραµµα µε τη σειρά που εκτελούνται Συγκεκριµένα Ένα χρονοπρόγραµµα (schedule) S των δοσοληψιών T 1, T 2,.., T n είναι µια διάταξη των πράξεων τους µε τον περιορισµό ότι για κάθε δοσοληψία T i που συµµετέχει στο S οι πράξεις της T i στο S πρέπει να εµφανίζονται µε την ίδια σειρά που εµφανίζονται στην T i Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 29 Θα χρησιµοποιούµε δείκτη στις πράξεις που να δείχνει σε ποια δοσοληψία αναφέρoνται R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 30

R 1 (X) W 1 (X) R 1 (Y) R 2 (X) W 2 (X) C 2 Τόσα διαφορετικά χρονοπρογράµµατα όσες και πιθανές εκτελέσεις W 1 (Y) C 1 S: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 R 1 (X) W 1 (X) A 1 R 2 (X) W 2 (X) C 2 S: R 1 (X) W 1 (X) R 2 (X) W 2 (X) C 2 A 1 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 31 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 32 ιάταξη πράξεων S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Ποια είναι η σχέση των χρονοπρογραµµάτων S1 και S2; Σύγκρουση πράξεων σε χρονοπρόγραµµα ύο πράξεις σε ένα χρονοπρόγραµµα συγκρούονται αν (α) ανήκουν σε διαφορετικές δοσοληψίες, (β) προσπελαύνουν το ίδιο στοιχείο, και (γ) µια από αυτές είναι πράξη εγγραφής (W) ιαισθητικά «δεν διαφέρουν» Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 33 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 34 σηµασία έχει η σχετική θέση (διάταξη) των πράξεων που συγκρούονται S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Τα S1 και S2 ισοδύναµα (διαφέρουν µόνο στη διάταξη πράξεων που δε συγκρούονται) µερική διάταξη Επίσης, ζητάµε να µην περιέχει ενεργές δοσοληψίες (πλήρες) Ένα πλήρες χρονοπρόγραµµα (schedule) S των δοσοληψιών T 1, T 2,.., T n είναι ένα σύνολο από πράξεις και µια µερική διάταξη των πράξεων αυτών µε τους ακόλουθους περιορισµούς: (i) οι πράξεις του S είναι ακριβώς οι πράξεις των T 1, T 2,.., T n συµπεριλαµβανοµένης µιας πράξης ακύρωσης ή επικύρωσης ως τελευταίας πράξης σε κάθε δοσοληψία στο χρονοπρόγραµµα (ii) για κάθε δοσοληψία T i που συµµετέχει στο S οι πράξεις της T i στο S πρέπει να εµφανίζονται µε την ίδια σειρά που εµφανίζονται στην T i (iii) Για κάθε ζεύγος συγκρουόµενων πράξεων, µια από τις δύο πρέπει να προηγείται της άλλης στο χρονοπρόγραµµα Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 35 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 36

Επεξεργασία οσοληψιών Επικυρωµένη προβολή C(S) ενός χρονοπρογράµµατος S η οποία περιλαµβάνει µόνο τις πράξεις του S που ανήκουν σε επικυρωµένες δοσοληψίες Ορισµοί 1. δοσοληψία 2. διαπεπλεγµένη εκτέλεση δοσοληψιών (χρονοπρόγραµµα) 3. σωστό -- αποδεκτό χρονοπρόγραµµα Ισοδυναµία µε σειριακό χρονοπρόγραµµα Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 37 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 38 Σειριοποιησιµότητα Σειριοποιησιµότητα Σειριακά Χρονοπρογράµµατα: χρονοπρογράµµατα που δεν διαπλέκουν πράξεις διαφορετικών δοσοληψιών (οι πράξεις κάθε δοσοληψίας εκτελούνται διαδοχικά, χωρίς παρεµβολή πράξεων από άλλη δοσοληψία) Παρατήρηση: Αν κάθε δοσοληψία διατηρεί τη συνέπεια, τότε κάθε σειριακό χρονοπρόγραµµα διατηρεί τη συνέπεια Ένα σειριακό χρονοπρόγραµµα είναι σωστό S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 39 Ισοδύναµα Χρονοπρογράµµατα : Για κάθε κατάσταση της Β, το αποτέλεσµα της εκτέλεσης του πρώτου χρονοπρογράµµατος είναι το ίδιο µε το αποτέλεσµα του δεύτερου χρονοπρογράµµατος Ένα χρονοπρόγραµµα ισοδύναµο µε ένα σειριακό είναι σωστό Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 40 Σειριοποιησιµότητα Σειριοποιησιµότητα Ισοδύναµα Χρονοπρογράµµατα : Για κάθε κατάσταση της Β, το αποτέλεσµα της εκτέλεσης του πρώτου χρονοπρογράµµατος είναι το ίδιο µε το αποτέλεσµα του δεύτερου χρονοπρογράµµατος Αρκεί; Είναι δυνατόν να ελεγχθεί; Σειριοποιήσιµο Χρονοπρόγραµµα : Ένα χρονοπρόγραµµα που είναι ισοδύναµο µε κάποιο σειριακό Τι σηµαίνει ισοδύναµο; Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 41 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 42

Ισοδυναµία Χρονοπρογραµµάτων Ισοδυναµία Χρονοπρογραµµάτων βάσει Συγκρούσεων Τι σηµαίνει ισοδύναµο; Ισοδυναµία βάσει συγκρούσεων Ισοδυναµία όψεων Ισοδύναµα Χρονοπρογράµµατα βάσει Συγκρούσεων: υο χρονοπρογράµµατα είναι ισοδύναµα βάσει συγκρούσεων αν η διάταξη κάθε ζεύγους συγκρουόµενων πράξεων είναι ίδια και στα δυο χρονοπρογράµµατα. Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 43 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 44 Ισοδυναµία Χρονοπρογραµµάτων βάσει Συγκρούσεων Σειριοποιησιµότητα βάσει Συγκρούσεων Σειριοποιησιµότητα βάσει Συγκρούσεων: S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Παραδείγµατα S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S3: R 2 (X) W 2 (X) C 2 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 S4: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 W 2 (X) C 2 Ένα χρονοπρόγραµµα S είναι σειριοποιήσιµο βάσει συγκρούσεων αν είναι ισοδύναµο βάσει συγκρούσεων µε κάποιο σειριακό χρονοπρόγραµµα S. Σε αυτήν την περίπτωση µπορούµε να αναδιατάξουµε τις µη συγκρουόµενες πράξεις στο S µέχρι να σχηµατίσουµε ένα ισοδύναµο σειριακό χρονοπρόγραµµα. Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 45 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 46 Σειριοποιησιµότητα βάσει Συγκρούσεων S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Σειριοποιήσιµα; Sα: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Sβ: R 2 (X) W 2 (X) C 2 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 47 Θεωρείστε δύο συναλλαγές (Xacts): : A=A+100, B=B-100 : A=1.06*A, B=1.06*B ιαισθητικά, η πρώτη µεταφέρει $100 από το λογαριασµό B στο λογαριασµό A. Η δεύτερη καταθέτει και στους δύο τόκο 6%. εν υπάρχει καµία εγγύηση ότι η θα εκτελεστεί πριν την η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσµα πρέπει να είναι ισοδύναµο µε τη µία ή την άλλη περίπτωση (δηλαδή, µε κάποια σειριακή εκτέλεση των δύο δοσοληψιών) Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 48

Τ1 µεταφέρει $100 από το λογαριασµό B στον A. Τ2 καταθέτει και στους δύο τόκο 6%. Παραδείγµατα Παραδείγµατα Θεωρείστε ένα πιθανό χρονοπρόγραµµα: : A=A+100, B=B-100 : A=1.06*A, B=1.06*B Αυτό είναι OK. Αλλά: : A=A+100, B=B-100 : A=1.06*A, B=1.06*B Το δεύτερο χρονοπρόγραµµα: : R 1 (A) W 1 (A), R 1 (B), W 2 (B) : R 2 (A), W 2 (A) R 2 (B)W 2 (B) Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 49 Ανάγνωση Uncommitted δεδοµένων (WR Συγκρούσεις dirty reads, προσωρινή ενηµέρωση): : R 1 (A) W 1 (A) R 1 (B)W 1 (B), Abort : R 2 (A) W 2 (A), C Μη επαναλήψιµες αναγνώσεις (RW Συγκρούσεις): : R 1 (A) R 1 (A) W 1 (A) C : R 2 (A) W 2 (A) C Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 50 Παραδείγµατα Έλεγχος Σειριοποιησιµότητας Απώλειες Ενηµερώσεων (WW Συγκρούσεις): : W 1 (A) W 1 (B) C : W 2 (A) W 2 (B) C Υπάρχει τρόπος να ελέγξουµε αποδοτικά αν ένα χρονοπρόγραµµα είναι σωστό, δηλαδή σειριοποιήσιµο βάσει συγκρούσεων; Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 51 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 52 Έλεγχος Σειριοποιησιµότητας Έλεγχος Σειριοποιησιµότητας Γράφος προήγησης (precedence graph) ή γράφος σειριοποιησιµότητας (serialization graph) Κόµβος :: οσοληψία Ακµή T i T j αν µια πράξη της T i προηγείται µιας συγκρουόµενης πράξης της Τ j : R 1 (A) W 1 (A), R 1 (B) W 1 (B) : R 2 (A) W 2 (A) R 2 (B) W 2 (B) A B Η εττικέτα στην ακµή δείχνει σε πιο δεδοµένο συγκρούονται Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 53 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 54

Έλεγχος Σειριοποιησιµότητας Έλεγχος Σειριοποιησιµότητας S1: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 S2: R 1 (X) R 2 (X) W 2 (X) C 2 W 1 (X) R 1 (Y) W 1 (Y) C 1 Γράφοι: Θεώρηµα Ένα χρονοπρόγραµµα είναι σειριοποιήσιµο (βάσει συγκρούσεων) αν και µόνο αν ο γράφος προήγησής του είναι ακυκλικός. Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 55 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 56 Συµπέρασµα Σειριοποιησιµότητας χρονοπρογράµµατα ισοδύναµα µε σειριακά αφήνουν τη βάση δεδοµένων σε συνεπή κατάσταση χρονοπρογράµµατα ισοδύναµα µε σειριακά αφήνουν τη βάση δεδοµένων σε συνεπή κατάσταση υο είδη σειριοποιησιµότητας Με βάση όψεις (πιο γενική, αλλά δεν υπάρχει λογαριθµικός αλγόριθµος) Με βάση συγκρούσεις (υπάρχει αλγόριθµος (γράφος συνδροµικότητας) Αρκεί; Όχι, στην περίπτωση αποτυχιών Θα δούµε κάποιες ιδιότητες που το εξασφαλίζουν Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 57 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 58 Ισοδυναµία Όψεων Χρονοπρογράµµατα και υνατότητα Ανάκαµψης υο χρονοπρογράµµατα S1 και S2 είναι ισοδύναµα όψεων ανν: Αν στο S1, η Ti διαβάζει την αρχική τιµή του A, τότε η Ti επίσης διαβάζει την αρχική τιµή του A στο S2 Αν στο S1, η Ti διαβάζει την τιµή του A που έγραψε η Tj, τότε η Ti διαβάζει την τιµή του A που έγραψε η Tj και στο S2 Αν στο S1, η Ti γράφει την τελική τιµή του A, τότε η Ti γράφει την τελική τιµή του A και στο S2 : R(A) W(A) : W(A) T3: W(A) : R(A),W(A) : W(A) T3: W(A) ζητούµενο: όταν µια δοσοληψία επικυρωθεί δεν θα χρειαστεί ποτέ να ανακληθεί Χρονοπρογράµµατα µε δυνατότητα ανάκαµψης αν καµιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδοµένο που διαβάζει η Τ Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 59 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 60

Χρονοπρογράµµατα και υνατότητα Ανάκαµψης Χρονοπρογράµµατα και υνατότητα Ανάκαµψης Χρονοπρογράµµατα µε δυνατότητα ανάκαµψης: καµιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδοµένο που διαβάζει η Τ R 1 (X) W 1 (X) R 2 (X) R 1 (Y) W 2 (X) C 2 A 1 R 1 (X) W 1 (X) R 2 (X) R 1 (Y) W 2 (X) W 1 (Y) C 1 C2 πρόβληµα: διαδιδόµενη ανάκληση (όταν µια δοσοληψία πρέπει να ανακληθεί γιατί διάβασε κάποιο στοιχείο από µια δοσοληψία που απέτυχε) Χρονοπρογράµµατα που αποφεύγουν τη διάδοση ανακλήσεων αν κάθε δοσοληψία Τ στο S διαβάζει µόνο στοιχεία που έχουν γραφεί από επικυρωµένες δοσοληψίες Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 61 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 62 Χρονοπρογράµµατα και υνατότητα Ανάκαµψης οσοληψίες Αυστηρά Χρονοπρογράµµατα οι δοσοληψίες δεν µπορούν ούτε να διαβάσουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία που έγραψε το Χ υνατότητα επιστροφής στην before image W 1 (X, 5) W 2 (X, 9) A 1 Ορίσαµε το πρόβληµα στο επόµενο µάθηµα:: Τεχνικές Ελέγχου Συνδροµικότητας στο µεθεπόµενο µάθηµα:: Τεχνικές Ανάκαµψης από Σφάλµατα Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 63 Βάσεις εδοµένων II 2003-2004 Ευαγγελία Πιτουρά 64