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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα

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

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

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

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

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

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

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

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

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

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

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

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

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

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

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

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

Τ και τιµή του Β θετική µετατρέπεται ισοδύναµα στην εντολή Όσο ως εξής:

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

Μάριος Αγγελίδης

2 Ο ΔΙΑΓΩΝΙΣΜΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΟΝ Γ ΛΥΚΕΙΟΥ ΖΗΤΗΜΑ 1ο

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Transcript:

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα: Αξιολόγηση o Έννοιες Επεξεργασίας οσοληψιών o Έλεγχος Συνδροµικότητας o Ανάκαµψη από Σφάλµατα o Αρχιτεκτονικές (Κατανεµηµένες & Παράλληλες Βάσεις εδοµένων, Συστήµατα Οµότιµων Κόµβων) o Εξόρυξη εδοµένων o Βάσεις εδοµένων και ιαδίκτυο 2 (µικρά) Σύνολα Ασκήσεων (µε πιθανών 1-2 απλές προγραµµατιστικές ερωτήσεις) σε οµάδες των 2 ατόµων προαιρετικά (µε την έννοια ότι δεν απαιτείται ελάχιστος βαθµός) 30% του βαθµού 1 Εργασία σε «νέα θέµατα» προαιρετική µετράει αθροιστικά + 1 ή 2 µονάδες Τελική Εξέταση (µε κλειστά βιβλία) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 3 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 4 Σχετικά µε το µάθηµα: Αξιολόγηση Σχετικά µε το µάθηµα:faq Τελικός Βαθµός = ΜΙΝ {10, (15%* Βαθµός 1ου Σύνολο + 15% * Βαθµός 2ου Συνόλου + 70% * Βαθµός Τελικού ιαγωνίσµατος + 15(?)% * Εργασία) } 1. Μπορώ να πάρω το µάθηµα χωρίς να έχω παρακολουθήσει τις Βάσεις Ι ΟΧΙ 2. Μπορώ να πάρω το µάθηµα αν δεν έχω περάσει τις Βάσεις Ι ΝΑΙ 3. Πόσος είναι ο όγκος δουλειάς (εργασίες) σε σχέση µε τις Βάσεις Ι Λιγότερος! (ας πούµε το 1/3-1/4) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 5 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 6

Το Πρόβληµα Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό να κρατείται η cpu απασχοληµένη µε πολλά προγράµµατα χρηστών Πολυχρηστικά (multi-user) Σ Β ιαπλεγµένο µοντέλο ταυτόχρονης εκτέλεσης Α Β Α Β Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 7 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 8 Το Πρόβληµα οσοληψίες Η «διαπλοκή» γίνεται από το Σ Β και πρέπει να είναι «αδιαφανής» στο χρήστη. Ο χρήστης πρέπει να πιστεύει ότι είναι ο µόνος που χρησιµοποιεί το σύστηµα Τα πράγµατα γίνονται πιο δύσκολα όταν υπάρχουν αποτυχίες ιαπλεγµένο µοντέλο ταυτόχρονης εκτέλεσης Α Β Α Β οσοληψία (transaction) εκτέλεση ενός προγράµµατος που προσπελαύνει ή τροποποιεί το περιεχόµενο της βάσης δεδοµένων το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 9 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 10 οσοληψία (transaction) οσοληψίες Ένα πρόγραµµα χρήστη µπορεί να εκτελεί πολλές λειτουργίες στα δεδοµένα που ανακτά από τη Β, αλλά το Σ Β ενδιαφέρεται µόνο για τα δεδοµένα που διαβάζονται/γράφονται στη Β 2 Πράξεις Ανάγνωση(Χ) - R(X) Εγγραφή(Χ) - W(X) Συνδροµικότητα σε Σ Β (ορισµοί) Οι χρήστες υποβάλουν δοσοληψίες και πρέπει να µπορούν να θεωρούν ότι κάθε δοσοληψία εκτελείται µόνη της (Ιδιότητα της Αποµόνωσης - ISOLATION) Η συνδροµικότητα (concurrency) επιτυγχάνεται από το Σ Β που διαπλέκει τις πράξεις (αναγνώσεις/εγγραφές) των διαφόρων συναλλαγών Στόχος: «Σωστή» ιαπλοκή Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 11 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 12

Ανάκαµψη από Αποτυχίες Ανάκαµψη από Αποτυχίες Επίσης, όταν µια δοσοληψία υποβάλλεται στο Σ Β το σύστηµα πρέπει να εξασφαλίσει ότι είτε: (α) όλες οι πράξεις της θα ολοκληρωθούν, είτε (β) καµία δε θα εκτελεστεί - δηλαδή δε θα έχει καµία επίδραση στη Β -- ακόµα και αν συµβούν αποτυχίες Αυτή είναι µια σηµαντική ιδιότητα που πρέπει να εξασφαλίσει το Σ Β - Ο χρήστης πρέπει να µπορεί να θεωρεί ότι όλο το πρόγραµµα (πράξεις) εκτελούνται σε ένα βήµα είτε καµία πράξη δεν εκτελείται (Ιδιότητα της Ατοµικότητα των δοσοληψιών -ATOMICITY) Είδη Αποτυχιών υο κατηγορίες: καταστροφή ή όχι της µόνιµης αποθήκευσης (δίσκου) Παραδείγµατα αποτυχιών... Προγραµµατιστικά Εξωτερικού περιβάλλοντος Του ίδιου του συστήµατος (π.χ. Αδιέξοδα) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 13 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 14 Πιο αναλυτικά... οσοληψίες Θεωρείστε δύο συναλλαγές (Xacts): Προβλήµατα Λόγω Συνδροµικότητας (παράδειγµα) : R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), : R(X) X=X+M, W(X) Χ, Υ κρατήσεις πτήση Χ και Υ µεταφέρει Ν κρατήσεις θέσεων από την πτήση Χ στη Y. κρατά Μ θέσεις στη Χ. εν υπάρχει καµία εγγύηση ότι η θα εκτελεστεί πριν την η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσµα πρέπει να είναι ισοδύναµο µε τη µία ή την άλλη περίπτωση (δηλαδή, µε κάποια σειριακή εκτέλεση των δύο δοσοληψιών) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 15 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 16 Χ = 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 2004-2005 Ευαγγελία Πιτουρά 17 Χ = 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 2004-2005 Ευαγγελία Πιτουρά 18

Χ = 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 2004-2005 Ευαγγελία Πιτουρά 19 Χ = 100 κρατήσεις Υ = 90 κρατήσεις Μεταφορά Ν = 30 κρατήσεων Νέα κράτηση Μ = 5 θέσεις R(X) X=Χ+M X = 105 W(X) write X = 105 Προβλήµατα Λόγω Συνδροµικότητας H τιµή του Χ που διαβάζει η Τι είναι διαφορετική!! Μη Επαναλήψιµη Ανάγνωση Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 20 Πράξεις µιας οσοληψίας Πράξεις µιας οσοληψίας Πράξεις οσοληψιών Ας προσπαθήσουµε να ορίσουµε το πρόβληµα στη γενική του µορφή R(X) W(X) COMMIT (επικύρωση) - επιτυχία - όλες οι τροποποιήσεις επικυρώνονται και δεν µπορούν να αναιρεθούν ABORT (ακύρωση ή ανάκληση) - αποτυχία - όλες οι τροποποιήσεις πρέπει να αναιρεθούν Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 21 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 22 Πράξεις µιας οσοληψίας Καταστάσεις µιας οσοληψίας R / W Μια δοσοληψία µπορεί να να επικυρωθεί (commit) αφού ολοκληρώσει όλες τις πράξεις της ενώ µπορεί να ακυρωθεί (abort) αφού εκτελέσει κάποιες από τις πράξεις της Το Σ Β logs όλες τις πράξεις έτσι ώστε να µπορεί να αναιρέσει (undo) τις πράξεις µιας ακυρωµένης (aborted) δοσοληψίας. RUNNING ABORT COMMIT ABORT Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 23 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 24

Συνδροµικότητα σε Σ Β ΥΠΟΘΕΣΕΙΣ Κάθε δοσοληψία πρέπει να αφήνει τη Β σε µια συνεπή κατάσταση αν η Β ήταν σε συνεπή κατάσταση όταν άρχισε η δοσοληψία (συνέπεια) Το Σ Β επιβάλει κάποιους ΠΑ (Περιορισµούς Ακεραιότητας) µε βάση τους ΠΑ που έχουν δηλωθεί στις εντολές CREATE TABLE Πέρα από αυτό, το Σ Β δεν καταλαβαίνει τη σηµασιολογία των δεδοµένων (π.χ., δεν καταλαβαίνει πώς να υπολογίσει το επιτόκιο) Αποτελέσµατα της διαπλεγµένης εκτέλεσης δοσοληψιών (έλεγχος συνδροµικότητας) και των αποτυχιών (ανάκαµψη) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 25 Ιδιότητες οσοληψιών Επιθυµητές Ιδιότητες µιας οσοληψίας Αtomicity (Ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (Συνέπεια) - διατήρηση συνέπειας της Β Isolation (Αποµόνωση) - δεν αποκαλύπτει ενδιάµεσα αποτελέσµατα Durability (Μονιµότητα ή διάρκεια) - µετά την επικύρωση µιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 26 Επιθυµητές Ιδιότητες µιας οσοληψίας Επεξεργασία οσοληψιών Αtomicity (ατοµικότητα) Consistency (συνέπεια) Isolation (αποµόνωση) Durability (µονιµότητα ή διάρκεια) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ ΥΠΕΥΘΥΝΟΤΗΤΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ ΕΛΕΓΧΟΣ ΣΥΝ ΡΟΜΙΚΟΤΗΤΑΣ ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ Τώρα που καταλάβαµε το πρόβληµα, µπορούµε να βρούµε ένα θεωρητικό µοντέλο που να το εκφράζει; Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 27 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 28 Επεξεργασία οσοληψιών Ορισµός οσοληψίας Ορισµοί 1. δοσοληψία 2. διαπλεγµένη εκτέλεση δοσοληψιών (χρονοπρόγραµµα) 3. σωστό -- αποδεκτό χρονοπρόγραµµα Στη συνέχεια... (στο επόµενο µάθηµα) Μια δοσοληψία είναι µια ακολουθία από πράξεις εγγραφής και ανάγνωσης που τελειώνει µε µια πράξη επικύρωσης (commit) ή µε µια πράξη ακύρωσης (abort) Τεχνικές για να πετύχουµε σωστά χρονοπρογράµµατα (έλεγχος συνδροµικότητας) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 29 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 30

Ορισµός οσοληψίας Θεωρείστε τις δύο συναλλαγές (Xacts) του παραδείγµατος: : 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 Θα χρησιµοποιούµε δείκτη στις πράξεις που να δείχνει σε ποια δοσοληψία αναφέρoνται R 1 (X) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 31 Χρονοπρόγραµµα: εκφράζει µια συγκεκριµένη εκτέλεση ενός συνόλου δοσοληψιών Οι πράξεις των δοσοληψιών εµφανίζονται στο χρονοπρόγραµµα µε τη σειρά που εκτελούνται Συγκεκριµένα Ένα χρονοπρόγραµµα (schedule) S των δοσοληψιών T 1, T 2,.., T n είναι µια διάταξη των πράξεων τους µε τον περιορισµό ότι για κάθε δοσοληψία T i που συµµετέχει στο S οι πράξεις της T i στο S πρέπει να εµφανίζονται µε την ίδια σειρά που εµφανίζονται στην T i Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 32 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Χρησιµοποιούµε δείκτη στις πράξεις που να δείχνει σε ποια δοσοληψία αναφέρoνται χρονοπρόγραµµα 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 S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 33 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 34 R 1 (X) W 1 (X) A 1 R 2 (X) W 2 (X) C 2 ιάταξη πράξεων 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; ιαισθητικά «δεν διαφέρουν» S: R 1 (X) W 1 (X) R 2 (X) W 2 (X) C 2 A 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 35 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 36

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

Σειριοποιησιµότητα Σειριοποιησιµότητα Ισοδύναµα Χρονοπρογράµµατα: Για κάθε κατάσταση της Β, το αποτέλεσµα της εκτέλεσης του πρώτου χρονοπρογράµµατος είναι το ίδιο µε το αποτέλεσµα του δεύτερου χρονοπρογράµµατος Ένα χρονοπρόγραµµα ισοδύναµο µε ένα σειριακό είναι σωστό Ισοδύναµα Χρονοπρογράµµατα: Για κάθε κατάσταση της Β, το αποτέλεσµα της εκτέλεσης του πρώτου χρονοπρογράµµατος είναι το ίδιο µε το αποτέλεσµα του δεύτερου χρονοπρογράµµατος Αρκεί; Είναι δυνατόν να ελεγχθεί; Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 43 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 44 Σειριοποιησιµότητα Ισοδυναµία Χρονοπρογραµµάτων Σειριοποιήσιµο Χρονοπρόγραµµα: Ένα χρονοπρόγραµµα που είναι ισοδύναµο µε κάποιο σειριακό Τι σηµαίνει ισοδύναµο; Τι σηµαίνει ισοδύναµο; Ισοδυναµία βάσει συγκρούσεων (πιο περιοριστική αλλά υπάρχει αποδοτικός τρόπος να ελεγχθεί ) Ισοδυναµία όψεων (πιο γενική, αλλά ο έλεγχος έχει αποδειχθεί ότι είναι NP-complete πρόβληµα Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 45 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 46 Ισοδυναµία Χρονοπρογραµµάτων βάσει Συγκρούσεων Ορισµός Συγκρούσεων (επανάληψη) Ισοδύναµα Χρονοπρογράµµατα βάσει Συγκρούσεων: υο χρονοπρογράµµατα είναι ισοδύναµα βάσει συγκρούσεων αν η διάταξη κάθε ζεύγους συγκρουόµενων πράξεων είναι ίδια και στα δυο χρονοπρογράµµατα. ύο πράξεις σε ένα χρονοπρόγραµµα συγκρούονται αν (α) ανήκουν σε διαφορετικές δοσοληψίες, (β) προσπελαύνουν το ίδιο στοιχείο, και (γ) µια από αυτές είναι πράξη εγγραφής (W) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 47 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 48

Ισοδυναµία Χρονοπρογραµµάτων βάσει Συγκρούσεων Σειριοποιησιµότητα βάσει Συγκρούσεων Σειριοποιησιµότητα βάσει Συγκρούσεων: 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 2004-2005 Ευαγγελία Πιτουρά 49 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 50 Σειριοποιησιµότητα βάσει Συγκρούσεων Παραδείγµατα 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 Ανάγνωση 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 2004-2005 Ευαγγελία Πιτουρά 51 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 52 Παραδείγµατα Έλεγχος Σειριοποιησιµότητας Απώλειες Ενηµερώσεων (WW Συγκρούσεις): : W 1 (A) W 1 (B) C : W 2 (A) W 2 (B) C Υπάρχει τρόπος να ελέγξουµε αποδοτικά αν ένα χρονοπρόγραµµα είναι σωστό, δηλαδή σειριοποιήσιµο βάσει συγκρούσεων; Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 53 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 54

Έλεγχος Σειριοποιησιµότητας Έλεγχος Σειριοποιησιµότητας Γράφος προήγησης (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 2004-2005 Ευαγγελία Πιτουρά 55 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 56 Έλεγχος Σειριοποιησιµότητας Έλεγχος Σειριοποιησιµότητας 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 Γράφοι: Θεώρηµα Ένα χρονοπρόγραµµα είναι σειριοποιήσιµο (βάσει συγκρούσεων) αν και µόνο αν ο γράφος προήγησής του είναι ακυκλικός. Αν ακυκλικός, µια διαπεράσή του (topological sort) µας δείχνει και µε ποιο σειριακό Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 57 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 58 Συµπέρασµα Ισοδυναµία Όψεων χρονοπρογράµµατα ισοδύναµα µε σειριακά αφήνουν τη βάση δεδοµένων σε συνεπή κατάσταση υο είδη σειριοποιησιµότητας Με βάση όψεις (πιο γενική, αλλά δεν υπάρχει λογαριθµικός αλγόριθµος) Με βάση συγκρούσεις (υπάρχει αλγόριθµος (γράφος συνδροµικότητας) υο χρονοπρογράµµατα S1 και S2 είναι ισοδύναµα όψεων ανν: Αν στο S1, η T i διαβάζει την αρχική τιµή του A, τότε η T i επίσης διαβάζει την αρχική τιµή του A στο S2 Αν στο S1, η T i διαβάζει την τιµή του A που έγραψε η T j, τότε η T i διαβάζει την τιµή του A που έγραψε η T j και στο S2 Αν στο S1, η T i γράφει την τελική τιµή του A, τότε η T i γράφει την τελική τιµή του A και στο S2 : R(A) W(A) : W(A) T3: W(A) : R(A),W(A) : W(A) T3: W(A) Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 59 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 60

Σειριοποιησιµότητα Χρονοπρογράµµατα και υνατότητα Ανάκαµψης χρονοπρογράµµατα ισοδύναµα µε σειριακά αφήνουν τη βάση δεδοµένων σε συνεπή κατάσταση Αρκεί; Όχι, στην περίπτωση αποτυχιών Θα δούµε κάποιες ιδιότητες που το εξασφαλίζουν ζητούµενο: όταν µια δοσοληψία επικυρωθεί δεν θα χρειαστεί ποτέ να ανακληθεί Χρονοπρογράµµατα µε δυνατότητα ανάκαµψης αν καµιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδοµένο που διαβάζει η Τ Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 61 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 62 Χρονοπρογράµµατα και υνατότητα Ανάκαµψης Χρονοπρογράµµατα και υνατότητα Ανάκαµψης Χρονοπρογράµµατα µε δυνατότητα ανάκαµψης: καµιά δοσοληψία Τ στο 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 2004-2005 Ευαγγελία Πιτουρά 63 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 64 Χρονοπρογράµµατα και υνατότητα Ανάκαµψης οσοληψίες Αυστηρά Χρονοπρογράµµατα οι δοσοληψίες δεν µπορούν ούτε να διαβάσουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία που έγραψε το Χ υνατότητα επιστροφής στην before image Ορίσαµε το πρόβληµα στο επόµενο µάθηµα:: Τεχνικές Ελέγχου Συνδροµικότητας στο µεθεπόµενο µάθηµα:: Τεχνικές Ανάκαµψης από Σφάλµατα W 1 (X, 5) W 2 (X, 9) A 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 65 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 66