Βάσεις Δεδομένων II 2003-2004 Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Advertisements

Indexing.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
©Silberschatz, Korth and Sudarshan1ΒΔ ΙΙ: Σύστημα επαναφοράς Σύστημα Επαναφοράς (Recovery System)  Κατηγοριοποίηση αποτυχιών/βλαβών  Δομή αποθήκευσης.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
1 Επεξεργασία Συναλλαγών. 2 Συναλλαγές m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις.
Βάσεις Δεδομένων II Περίληψη: Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
©Silberschatz, Korth and Sudarshan1 ΒΔ ΙΙ: Διαχείριση συναλλαγών Διαχείριση Συναλλαγών (Transaction Management)  Ορισμός της συναλλαγής  Καταστάσεις.
ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ1. 2 Θεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Διαισθητικά, η.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
Βάσεις Δεδομένων II Ενότητα 6: Ανάκαμψη Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Κατανεμημένα Συστήματα με Java
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
1 Βάσεις Δεδομένων ΙII Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ Διαχείριση συναλλαγών Transaction Management T Manavis.
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Κανονικοποίηση Σχήματος.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ανανηψιμότητα Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Κεφάλαιο 17 Εισαγωγή στη Θεωρία των Δοσοληψιών. Δοσοληψίες Η Έννοια της Δοσοληψίας Κατάσταση Δοσοληψίας Ταυτόχρονες Εκτελέσεις Σειριοποιησιμότητα Ανάκαμψη.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Βάσεις Δεδομένων II Περίληψη: Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Περίληψη: Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Δυναμικός Κατακερματισμός
Προβλήματα Ικανοποίησης Περιορισμών
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Συναρτησιακές Εξαρτήσεις
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
ΑΛΓΟΡΙΘΜΟΣ.
ΕΦΑΡΜΟΓΗ Κ.Ε.Α. Γνωριμία με την πλατφόρμα διαχείρισης του Κοινωνικού Εισοδήματος Αλληλεγγύης για χρήστες Δήμων Η.ΔΙ.Κ.Α. Α.Ε.
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Κατανεμημένα Συστήματα
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Κατανεμημένα Συστήματα
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Ύλη  Έννοιες Επεξεργασίας Δοσοληψιών  Τεχνικές Ελέγχου Συνδρομικότητας  Τεχνικές Ανάκαμψεις από Σφάλματα  Κατανεμημένες και Παράλληλες Βάσεις Δεδομένων  Βάσεις Δεδομένων και Διαδίκτυο  Βάσεις Δεδομένων και Συστήματα Ομοτίμων (peer-to-peer systems)  Διαχείριση Χωρικών Δεδομένων Κοιτάξτε τη web σελίδα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Διαδικαστικά  Θα υπάρχει τελική εξέταση  Κάποιες ενδιάμεσες ασκήσεις (2 σύνολα) για κατανόηση της ύλης  Ίσως κάποια γενική άσκηση στα «νέα» θέματα (web, p2p) που θα μετρά μόνο θετικά στο βαθμό (+1 ή 2 μονάδες)

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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Δοσοληψίες m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σημαντικό να κρατείται η cpu απασχολημένη με πολλά προγράμματα χρηστών  Πολυχρηστικά ΣΔΒΔ Διαπλεγμένο μοντέλο ταυτόχρονης εκτέλεσης ΑΑ Β Β

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Δοσοληψίες Δοσοληψία (transaction) εκτέλεση ενός προγράμματος που προσπελαύνει ή τροποποιεί το περιεχόμενο της βάσης δεδομένων το πώς βλέπει το ΣΔΒΔ τα προγράμματα των χρηστών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Δοσοληψίες Δοσοληψία (transaction) Ένα πρόγραμμα χρήστη μπορεί να εκτελεί πολλές λειτουργίες στα δεδομένα που ανακτά από τη ΒΔ, αλλά το ΣΔΒΔ ενδιαφέρεται μόνο για τα δεδομένα που διαβάζονται/γράφονται στη ΒΔ Ανάγνωση(Χ) - R(X) Εγγραφή(Χ) - W(X)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Συνδρομικότητα σε ΣΔΒΔ  Οι χρήστες υποβάλουν δοσοληψίες και πρέπει να μπορούν να θεωρούν ότι κάθε δοσοληψία εκτελείται μόνη της.  Η συνδρομικότητα (concurrency) επιτυγχάνεται από το ΣΔΒΔ που διαπλέκει τις πράξεις (αναγνώσεις/εγγραφές) των διαφόρων συναλλαγών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Ανάκαμψη από Αποτυχίες  Όταν μια δοσοληψία υποβάλλεται στο ΣΔΒΔ το σύστημα πρέπει να εξασφαλίσει ότι (α) είτε όλες οι πράξεις της θα ολοκληρωθούν είτε (β) καμία δε θα εκτελεστεί - δηλαδή δε θα έχει καμία επίδραση στη ΒΔ -- ακόμα και αν συμβούν αποτυχίες  Αυτή είναι μια σημαντική ιδιότητα που πρέπει να εξασφαλίσει το ΣΔΒΔ - Ο χρήστης πρέπει να μπορεί να θεωρεί ότι όλο το πρόγραμμα (πράξεις) εκτελούνται σε ένα βήμα είτε καμία πράξη δεν εκτελείται (ατομικότητα των δοσοληψιών)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Ανάκαμψη από Αποτυχίες Είδη Αποτυχιών Δυο κατηγορίες: καταστροφή ή όχι της μόνιμης αποθήκευσης (δίσκου) Παραδείγματα αποτυχιών...

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Δοσοληψίες Πιο αναλυτικά...

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Προβλήματα Λόγω Συνδρομικότητας zΘεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Διαισθητικά, η T1 μεταφέρει Ν κρατήσεις θέσεων από μια πτήση (Χ) και τις μεταφέρει σε μία άλλη (Y). Η T2 απλώς κρατά Μ θέσεις στην πρώτη πτήση (τη Χ) v Δεν υπάρχει καμία εγγύηση ότι η T1 θα εκτελεστεί πριν την T2 η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσμα πρέπει να είναι ισοδύναμο με τη μία ή την άλλη περίπτωση (δηλαδή, με κάποια σειριακή εκτέλεση των δύο δοσοληψιών)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Προβλήματα Λόγω Συνδρομικότητας BEGIN R(X) read 100 X=Χ-N X= 70 W(X) write X = 70 R(Y) read 90 Y=Y+N Y = 120 W(Y) write Y = 120 END BEGIN R(X) read 70 X=Χ+M X = 75 W(X) write X = 75 END T1 T2 σειριακή εκτέλεση Τ1  Τ2 BEGIN 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 END BEGIN R(X) read 100 X=Χ+M X = 105 W(X) write 105 END T1 T2 σειριακή εκτέλεση Τ2  Τ1 Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις T1 μεταφέρει Ν κρατήσεις θέσεων από την πτήση Χ στη Y. T2 κρατά Μ θέσεις στη Χ. Σωστό Χ = 75, Υ = 120

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Προβλήματα Λόγω Συνδρομικότητας BEGIN R(X) read 100 X=Χ-N X = 70 W(X) write X = 105 END T1 T2 Απώλεια Ενημερώσεων W(X) write X =70 R(Y) Y = 90 BEGIN R(X) read 100 X=Χ+M X = 105 Y=Y+N Y = 110 W(Y) write Y = 110 END Η τιμή του X είναι λανθασμένη Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Προβλήματα Λόγω Συνδρομικότητας BEGIN R(X) read 100 X=Χ-N X = 70 W(X) write X = 70 T1 T2 Προσωρινή Ενημέρωση BEGIN R(X) read 70 X=Χ+M X = 75 W(X) write X =75 END Y=Y+N Τι θα συμβεί αν η Τ1 αποτύχει - η Τ2 θα έχει διαβάσει «ανύπαρκτη τιμή» Dirty Read Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Προβλήματα Λόγω Συνδρομικότητας BEGIN R(X) read 100 T1 T2 Μη Επαναλήψιμη Ανάγνωση BEGIN R(X) read 100 X=Χ+M X = 105 W(X) write X = 105 END R(X) H τιμή του Χ που διαβάζει η Τι είναι διαφορετική!! Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Πράξεις μιας Δοσοληψίας Ας προσπαθήσουμε να ορίσουμε το πρόβλημα στη γενική του μορφή

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 Πράξεις μιας Δοσοληψίας BEGIN R(X) W(X) END COMMIT (επικύρωση) - επιτυχία - όλες οι τροποποιήσεις επικυρώνονται και δεν μπορούν να αναιρεθούν ABORT (ακύρωση ή ανάκληση) - αποτυχία - όλες οι τροποποιήσεις πρέπει να αναιρεθούν Πράξεις Δοσοληψιών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Πράξεις μιας Δοσοληψίας  Μια δοσοληψία μπορεί να να επικυρωθεί (commit) αφού ολοκληρώσει όλες τις πράξεις της ενώ μπορεί να ακυρωθεί (abort) αφού εκτελέσει κάποιες από τις πράξεις της  Το ΣΔΒΔ logs όλες τις πράξεις έτσι ώστε να μπορεί να αναιρέσει (undo) τις πράξεις μιας ακυρωμένης (aborted) δοσοληψίας.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 Καταστάσεις μιας Δοσοληψίας RUNNING R / W END ABORT COMMIT ABORT

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Συνδρομικότητα σε ΣΔΒΔ ΥΠΟΘΕΣΕΙΣ Κάθε δοσοληψία πρέπει να αφήνει τη ΒΔ σε μια συνεπή κατάσταση αν η ΒΔ ήταν σε συνεπή κατάσταση όταν άρχισε η δοσοληψία (συνέπεια)  Το ΣΔΒΔ επιβάλει κάποιους ΠΑ (Περιορισμούς Ακεραιότητας) με βάση τους ΠΑ που έχουν δηλωθεί στις εντολές CREATE TABLE  Πέρα από αυτό, το ΣΔΒΔ δεν καταλαβαίνει τη σημασιολογία των δεδομένων (π.χ., δεν καταλαβαίνει πώς να υπολογίσει το επιτόκιο) Αποτελέσματα της διαπλεγμένης εκτέλεσης δοσοληψιών (έλεγχος συνδρομικότητας) και των αποτυχιών (ανάκαμψη)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Επιθυμητές Ιδιότητες μιας Δοσοληψίας Α tomicity (ατομικότητα) - είτε όλες οι πράξεις είτε καμία C onsistency (συνέπεια) - διατήρηση συνέπειας της ΒΔ I solation (απομόνωση) - δεν αποκαλύπτει ενδιάμεσα αποτελέσματα D urability (μονιμότητα ή διάρκεια) - μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Ιδιότητες Δοσοληψιών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Επιθυμητές Ιδιότητες μιας Δοσοληψίας Αtomicity (ατομικότητα) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ Consistency (συνέπεια) ΥΠΕΥΘΥΝΟΤΗΤΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ Isolation (απομόνωση) ΕΛΕΓΧΟΣ ΣΥΝΔΡΟΜΙΚΟΤΗΤΑΣ Durability (μονιμότητα ή διάρκεια) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Επιθυμητές Ιδιότητες μιας Δοσοληψίας Isolation (απομόνωση) ΕΛΕΓΧΟΣ ΣΥΝΔΡΟΜΙΚΟΤΗΤΑΣ Βαθμός απομόνωσης 0 :: δεν επικαλύπτει ασταθείς αναγνώσεις (dirty reads) δοσοληψιών με μεγαλύτερο βαθμό Βαθμός απομόνωσης 1 :: δεν παρουσιάζει απώλειες ενημέρωσης Βαθμός απομόνωσης 2 :: ούτε απώλειες ενημέρωσης, ούτε ασταθείς αναγνώσεις Βαθμός απομόνωσης 3 :: επίπεδο 2 + επαναλήψιμες αναγνώσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Επεξεργασία Δοσοληψιών Τώρα που καταλάβαμε το πρόβλημα:: μπορούμε να βρούμε ένα θεωρητικό μοντέλο που να το εκφράζει;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Επεξεργασία Δοσοληψιών Ορισμοί 1. δοσοληψία 2. διαπεπλεγμένη εκτέλεση δοσοληψιών (χρονοπρόγραμμα) 3. σωστό -- αποδεκτό χρονοπρόγραμμα Στη συνέχεια... (στο επόμενο μάθημα) Τεχνικές για να πετύχουμε σωστά χρονοπρογράμματα (έλεγχος συνδρομικότητας)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Ορισμός Δοσοληψίας Μια δοσοληψία είναι μια ακολουθία από πράξεις εγγραφής και ανάγνωσης που τελειώνει με μια πράξη επικύρωσης (commit) ή με μια πράξη ακύρωσης (abort)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Ορισμός Δοσοληψίας zΘεωρείστε τις δύο συναλλαγές (Xacts) του παραδείγματος: T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Τ1: R(X) W(X) R(Y) W(Y) C v T2: R(X) W(X) C

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Ορισμός Χρονοπρογράμματος Εκφράζει μια συγκεκριμένη εκτέλεση ενός συνόλου δοσοληψιών Οι πράξεις των δοσοληψιών εμφανίζονται στο χρονοπρόγραμμα με τη σειρά που εκτελούνται Συγκεκριμένα Ένα χρονοπρόγραμμα (schedule) S των δοσοληψιών T 1, T 2,.., T n είναι μια διάταξη των πράξεων τους με τον περιορισμό ότι για κάθε δοσοληψία T i που συμμετέχει στο S οι πράξεις της T i στο S πρέπει να εμφανίζονται με την ίδια σειρά που εμφανίζονται στην T i

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 Ορισμός Χρονοπρογράμματος R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 T1 T2 Θα χρησιμοποιούμε δείκτη στις πράξεις που να δείχνει σε ποια δοσοληψία αναφέρoνται S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Ορισμός Χρονοπρογράμματος R 1 (X) W 2 (X) C 2 T1 T2 W 1 (X) R 1 (Y) R 2 (X) 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 Τόσα διαφορετικά χρονοπρογράμματα όσες και πιθανές εκτελέσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Ορισμός Χρονοπρογράμματος R 1 (X) W 1 (X) T1 T2 R 2 (X) W 2 (X) C 2 A1A1 S: R 1 (X) W 1 (X) R 2 (X) W 2 (X) C 2 A 1

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Ορισμός Χρονοπρογράμματος 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; Διαισθητικά «δεν διαφέρουν»

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Ορισμός Χρονοπρογράμματος Σύγκρουση πράξεων σε χρονοπρόγραμμα Δύο πράξεις σε ένα χρονοπρόγραμμα συγκρούονται αν (α) ανήκουν σε διαφορετικές δοσοληψίες, (β) προσπελαύνουν το ίδιο στοιχείο, και (γ) μια από αυτές είναι πράξη εγγραφής (W)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Ορισμός Χρονοπρογράμματος σημασία έχει η σχετική θέση (διάταξη) των πράξεων που συγκρούονται 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 ισοδύναμα (διαφέρουν μόνο στη διάταξη πράξεων που δε συγκρούονται)  μερική διάταξη

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 Ορισμός Χρονοπρογράμματος Επίσης, ζητάμε να μην περιέχει ενεργές δοσοληψίες (πλήρες) Ένα πλήρες χρονοπρόγραμμα (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 Ευαγγελία Πιτουρά 37 Ορισμός Χρονοπρογράμματος Επικυρωμένη προβολή C(S) ενός χρονοπρογράμματος S η οποία περιλαμβάνει μόνο τις πράξεις του S που ανήκουν σε επικυρωμένες δοσοληψίες

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Επεξεργασία Δοσοληψιών Ορισμοί  1. δοσοληψία  2. διαπεπλεγμένη εκτέλεση δοσοληψιών (χρονοπρόγραμμα)  3. σωστό -- αποδεκτό χρονοπρόγραμμα Ισοδυναμία με σειριακό χρονοπρόγραμμα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Σειριοποιησιμότητα Σειριακά Χρονοπρογράμματα: χρονοπρογράμματα που δεν διαπλέκουν πράξεις διαφορετικών δοσοληψιών (οι πράξεις κάθε δοσοληψίας εκτελούνται διαδοχικά, χωρίς παρεμβολή πράξεων από άλλη δοσοληψία) Ένα σειριακό χρονοπρόγραμμα είναι σωστό Παρατήρηση: Αν κάθε δοσοληψία διατηρεί τη συνέπεια, τότε κάθε σειριακό χρονοπρόγραμμα διατηρεί τη συνέπεια S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Σειριοποιησιμότητα Ισοδύναμα Χρονοπρογράμματα : Για κάθε κατάσταση της ΒΔ, το αποτέλεσμα της εκτέλεσης του πρώτου χρονοπρογράμματος είναι το ίδιο με το αποτέλεσμα του δεύτερου χρονοπρογράμματος Ένα χρονοπρόγραμμα ισοδύναμο με ένα σειριακό είναι σωστό

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 41 Σειριοποιησιμότητα Ισοδύναμα Χρονοπρογράμματα : Για κάθε κατάσταση της ΒΔ, το αποτέλεσμα της εκτέλεσης του πρώτου χρονοπρογράμματος είναι το ίδιο με το αποτέλεσμα του δεύτερου χρονοπρογράμματος Αρκεί; Είναι δυνατόν να ελεγχθεί;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 42 Σειριοποιησιμότητα Σειριοποιήσιμο Χρονοπρόγραμμα : Ένα χρονοπρόγραμμα που είναι ισοδύναμο με κάποιο σειριακό Τι σημαίνει ισοδύναμο;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 43 Ισοδυναμία Χρονοπρογραμμάτων Τι σημαίνει ισοδύναμο; Ισοδυναμία βάσει συγκρούσεων Ισοδυναμία όψεων

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 44 Ισοδυναμία Χρονοπρογραμμάτων βάσει Συγκρούσεων  Ισοδύναμα Χρονοπρογράμματα βάσει Συγκρούσεων: Δυο χρονοπρογράμματα είναι ισοδύναμα βάσει συγκρούσεων αν η διάταξη κάθε ζεύγους συγκρουόμενων πράξεων είναι ίδια και στα δυο χρονοπρογράμματα.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 45 Ισοδυναμία Χρονοπρογραμμάτων βάσει Συγκρούσεων S1: R 1 (X) R 2 (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 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 46 Σειριοποιησιμότητα βάσει Συγκρούσεων Σειριοποιησιμότητα βάσει Συγκρούσεων: Ένα χρονοπρόγραμμα S είναι σειριοποιήσιμο βάσει συγκρούσεων αν είναι ισοδύναμο βάσει συγκρούσεων με κάποιο σειριακό χρονοπρόγραμμα S’. Σε αυτήν την περίπτωση μπορούμε να αναδιατάξουμε τις μη συγκρουόμενες πράξεις στο S μέχρι να σχηματίσουμε ένα ισοδύναμο σειριακό χρονοπρόγραμμα.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 47 Σειριοποιησιμότητα βάσει Συγκρούσεων S1 : R 1 (X) R 2 (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 S2: R 2 (X) R 1 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 48 Προβλήματα Λόγω Συνδρομικότητας zΘεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN A=A+100, B=B-100 END T2:BEGIN A=1.06*A, B=1.06*B END v Διαισθητικά, η πρώτη μεταφέρει $100 από το λογαριασμό B στο λογαριασμό A. Η δεύτερη καταθέτει και στους δύο τόκο 6%. v Δεν υπάρχει καμία εγγύηση ότι η T1 θα εκτελεστεί πριν την T2 η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσμα πρέπει να είναι ισοδύναμο με τη μία ή την άλλη περίπτωση (δηλαδή, με κάποια σειριακή εκτέλεση των δύο δοσοληψιών)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 49 Παραδείγματα zΘεωρείστε ένα πιθανό χρονοπρόγραμμα: T1: A=A+100, B=B-100 T2: A=1.06*A, B=1.06*B v Αυτό είναι OK. Αλλά: T1: A=A+100, B=B-100 T2: A=1.06*A, B=1.06*B v Το δεύτερο χρονοπρόγραμμα: T1: R 1 (A) W 1 (A), R 1 (B), W 2 (B) T2: R 2 (A), W 2 (A) R 2 (B)W 2 (B) Τ1 μεταφέρει $100 από το λογαριασμό B στον A. Τ2 καταθέτει και στους δύο τόκο 6%.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 50 Παραδείγματα zΑνάγνωση Uncommitted δεδομένων (WR Συγκρούσεις “dirty reads”, προσωρινή ενημέρωση): zΜη επαναλήψιμες αναγνώσεις (RW Συγκρούσεις): T1: R 1 (A) W 1 (A) R 1 (B)W 1 (B), Abort T2:R 2 (A) W 2 (A), C T1:R 1 (A) R 1 (A) W 1 (A) C T2:R 2 (A) W 2 (A) C

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 51 Παραδείγματα zΑπώλειες Ενημερώσεων (WW Συγκρούσεις): T1:W 1 (A) W 1 (B) C T2:W 2 (A) W 2 (B) C

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 52 Έλεγχος Σειριοποιησιμότητας Υπάρχει τρόπος να ελέγξουμε αποδοτικά αν ένα χρονοπρόγραμμα είναι σωστό, δηλαδή σειριοποιήσιμο βάσει συγκρούσεων;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 53 Έλεγχος Σειριοποιησιμότητας Γράφος προήγησης (precedence graph) ή γράφος σειριοποιησιμότητας (serialization graph) Κόμβος :: Δοσοληψία Ακμή T i  T j αν μια πράξη της T i προηγείται μιας συγκρουόμενης πράξης της Τ j

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 54 Έλεγχος Σειριοποιησιμότητας T1: R 1 (A) W 1 (A), R 1 (B) W 1 (B) T2: R 2 (A) W 2 (A) R 2 (B) W 2 (B) T1 T2 A B Η εττικέτα στην ακμή δείχνει σε πιο δεδομένο συγκρούονται

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 55 Έλεγχος Σειριοποιησιμότητας 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 Ευαγγελία Πιτουρά 56 Έλεγχος Σειριοποιησιμότητας Θεώρημα Ένα χρονοπρόγραμμα είναι σειριοποιήσιμο (βάσει συγκρούσεων) αν και μόνο αν ο γράφος προήγησής του είναι ακυκλικός.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 57 Συμπέρασμα χρονοπρογράμματα ισοδύναμα με σειριακά αφήνουν τη βάση δεδομένων σε συνεπή κατάσταση Δυο είδη σειριοποιησιμότητας Με βάση όψεις (πιο γενική, αλλά δεν υπάρχει λογαριθμικός αλγόριθμος) Με βάση συγκρούσεις (υπάρχει αλγόριθμος (γράφος συνδρομικότητας)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 58 Σειριοποιησιμότητας χρονοπρογράμματα ισοδύναμα με σειριακά αφήνουν τη βάση δεδομένων σε συνεπή κατάσταση Αρκεί; Όχι, στην περίπτωση αποτυχιών Θα δούμε κάποιες ιδιότητες που το εξασφαλίζουν

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 59 Ισοδυναμία Όψεων zΔυο χρονοπρογράμματα S1 και S2 είναι ισοδύναμα όψεων ανν: y Αν στο S1, η Ti διαβάζει την αρχική τιμή του A, τότε η Ti επίσης διαβάζει την αρχική τιμή του A στο S2 y Αν στο S1, η Ti διαβάζει την τιμή του A που έγραψε η Tj, τότε η Ti διαβάζει την τιμή του A που έγραψε η Tj και στο S2 y Αν στο S1, η Ti γράφει την τελική τιμή του A, τότε η Ti γράφει την τελική τιμή του A και στο S2 T1: R(A) W(A) T2: W(A) T3: W(A) T1: R(A),W(A) T2: W(A) T3: W(A)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 60 Χρονοπρογράμματα και Δυνατότητα Ανάκαμψης Χρονοπρογράμματα με δυνατότητα ανάκαμψης αν καμιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδομένο που διαβάζει η Τ ζητούμενο: όταν μια δοσοληψία επικυρωθεί δεν θα χρειαστεί ποτέ να ανακληθεί

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 61 Χρονοπρογράμματα και Δυνατότητα Ανάκαμψης Χρονοπρογράμματα με δυνατότητα ανάκαμψης: καμιά δοσοληψία Τ στο 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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 62 Χρονοπρογράμματα και Δυνατότητα Ανάκαμψης Χρονοπρογράμματα που αποφεύγουν τη διάδοση ανακλήσεων αν κάθε δοσοληψία Τ στο S διαβάζει μόνο στοιχεία που έχουν γραφεί από επικυρωμένες δοσοληψίες πρόβλημα: διαδιδόμενη ανάκληση (όταν μια δοσοληψία πρέπει να ανακληθεί γιατί διάβασε κάποιο στοιχείο από μια δοσοληψία που απέτυχε)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 63 Χρονοπρογράμματα και Δυνατότητα Ανάκαμψης Αυστηρά Χρονοπρογράμματα οι δοσοληψίες δεν μπορούν ούτε να διαβάσουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία που έγραψε το Χ Δυνατότητα επιστροφής στην before image W 1 (X, 5) W 2 (X, 9) A 1

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 64 Δοσοληψίες Ορίσαμε το πρόβλημα στο επόμενο μάθημα:: Τεχνικές Ελέγχου Συνδρομικότητας στο μεθεπόμενο μάθημα:: Τεχνικές Ανάκαμψης από Σφάλματα