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

Σχετικά έγγραφα
Ειδικά Θζματα Βάςεων Δεδομζνων

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

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

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

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

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

Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

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

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

Βάςεισ Δεδομζνων Ι. Ενότθτα 10: Συνακροιςτικζσ ςυναρτιςεισ. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

Γενικά Μαθηματικά ΙΙ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Γενικά Μαθηματικά ΙΙ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Aντιπτζριςη (ΕΠ027) Ενότητα 6

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f.

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

Βάςεισ Δεδομζνων Ι. Ενότητα 1: υςτήματα Βάςεων Δεδομζνων. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ

Aντιπτζριςη (ΕΠ027) Ενότητα 5

Aντιπτζριςθ (ΕΠ027) Ενότθτα 12

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Γενικά Μαθηματικά ΙΙ Αςκήςεισ 11 ησ Ενότητασ

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

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

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

ΘΕΜΑΣΑ ΕΞΕΣΑΕΩΝ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Βάςεισ Δεδομζνων Ι. Ενότθτα 11: SQL-Ερωτιματα Ομαδοποίθςθσ με υνζνωςθ Πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Βάςεισ Δεδομζνων Λ. Ενότθτα 8: SQL Γλώςςα χειριςμοφ δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

Γενικά Μαθηματικά ΙΙ

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Aντιπτζριςη (ΕΠ027) Ενότητα 10

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Γενικά Μαθηματικά ΙΙ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

Κλαςικι Ηλεκτροδυναμικι

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

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

Αςφάλεια και Προςταςία Δεδομζνων

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

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ςυςτιματα γραμμικϊν εξιςϊςεων

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Η ψηφιακή τεχνολογία ςτην ερευνητική δραςτηριότητα Έλεγχοσ αξιοπιςτίασ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

Εκκλθςιαςτικό Δίκαιο ΙΙΙ (Μεταπτυχιακό)

Aντιπτζριςη (ΕΠ027) Ενότητα 9

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

Οντοκεντρικόσ Προγραμματιςμόσ

Γενικά Μαθηματικά ΙΙ

Σφντομεσ Οδθγίεσ Χριςθσ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Βάςεισ Δεδομζνων Ι. Ενότθτα 9: SQL-φηευξθ πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Ιδιότθτεσ πεδίων Γενικζσ.

Θεςιακά ςυςτιματα αρίκμθςθσ

Κοινωνική Δημογραφία

Διαγλωςςική Επικοινωνία

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

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

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath

EMUNI A.U.Th. SUMMER SCHOOL

Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

Οδθγόσ για τθν αξιοποίθςθ τθσ διαςφνδεςθσ του myschool με το Εκνικό Δθμοτολόγιο

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

ΜΕΣΑΔΟΗ ΘΕΡΜΟΣΗΣΑ. Μιςθρλισ Δθμιτριοσ ΧΟΛΗ ΣΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΣΜΗΜΑ ΜΗΧΑΝΟΛΟΓΙΑ ΣΕ

Aντιπτζριςη (ΕΠ027) Ενότητα 2

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Ειςαγωγή ςτην πληροφορική

Ειςαγωγή ςτη διδακτική των γλωςςών

Ελλθνικι Δθμοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 13 : Άλλοι Μετρθτζσ Φϊτιοσ Βαρτηιϊτθσ

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Βάςεισ Δεδομζνων Ι. Ενότθτα 2: χεδιαςμόσ Βάςθσ Δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

Ερωτήσεις επανάληψης. Ενδοκρινείς αδένες. Τμήμα Ιαηρικής Πανεπιζηήμιο Παηρών

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

Βάςεισ Δεδομζνων Ι. Ενότθτα 3: Μετατροπι ςχιματοσ Ο/ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 4: Πρϊτοσ Θερμοδυναμικόσ Νόμοσ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Εργαςτιριο Βάςεων Δεδομζνων

Transcript:

Ειδικά Θζματα Βάςεων Δεδομζνων Ενότητα 6: Ανάκαμψη και ςυναλλαγζσ Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ

Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτϊσ. 2

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

Ενότητα 6 Ανάκαμψη και ςυναλλαγζσ Δρ. Τςιμπίρθσ Αλκιβιάδθσ 4

Περιεχόμενα ενότητασ Συναλλαγζσ Ταυτοχρονιςμόσ ςε ΣΔΒΔ Πράξεισ μιασ ςυναλλαγισ Ημερολόγιο ςυςτιματοσ (log) Οι ιδιότθτεσ μιασ ACID ςυναλλαγισ Οριςμόσ ςυναλλαγισ Οριςμόσ χρονοπρογράμματοσ Σφγκρουςθ πράξεων ςε χρονοπρογραμματιςμό Σειριοποιθςιμότθτα Ιςοδυναμία Χρονοπρογραμμάτων βάςει Συγκροφςεων Σειριοποιθςιμότθτα βάςει Συγκροφςεων Ανάκαμψθ από Αποτυχίεσ Ανάκαμψθ μζςων Επικφρωςθ δφο φάςεων 5

Σκοποί ενότητασ Στο κεφάλαιο αυτό περιγράφονται οι ςυναλλαγζσ, δθλαδι θ εκτζλεςθ ενόσ ι περιςςοτζρων προγραμμάτων που προςπελαφνουν ι τροποποιοφν το περιεχόμενο τθσ βάςθσ δεδομζνων. Εξθγοφνται οι ιδιότθτεσ ACID μιασ ςυναλλαγισ κακϊσ και τισ πράξεισ ςτα χρονοπρογράμματα. Παρουςιάηονται τα είδθ των αποτυχιϊν κακϊσ και τρόπουσ ανάκαμψθσ ενόσ ΣΔΒΔ από πικανι αςτοχία ςυςτιματοσ ι μζςων. 6

Συναλλαγζσ Η ταυτόχρονθ εκτζλεςθ προγραμμάτων χρθςτϊν είναι απαραίτθτθ για τθν καλι απόδοςθ ενόσ ΣΔΒΔ. Επειδι οι προςπελάςεισ ςτο δίςκο είναι ςυχνζσ και ςχετικά αργζσ, είναι ςθμαντικό να κρατείται θ CPU απαςχολθμζνθ με πολλά προγράμματα χρθςτϊν. Πολυχρθςτικά ΣΔΒΔ Διαπλεγμζνο μοντζλο ταυτόχρονησ εκτζλεςησ Α Β Α Β 7

Συναλλαγζσ Συναλλαγή (transaction) : η εκτζλεςη ενόσ προγράμματοσ που προςπελαφνει ι τροποποιεί το περιεχόμενο τθσ βάςθσ δεδομζνων. το πϊσ βλζπει το ΣΔΒΔ τα προγράμματα των χρθςτϊν 8

Συναλλαγζσ Συναλλαγή (transaction) : Ζνα πρόγραμμα χριςτθ μπορεί να εκτελεί πολλζσ λειτουργίεσ ςτα δεδομζνα που ανακτά από τθ ΒΔ, αλλά το ΣΔΒΔ ενδιαφζρεται μόνο για τα δεδομζνα που διαβάζονται/γράφονται ςτθ ΒΔ. Ανάγνωςθ (Χ) - R(X) Εγγραφι (Χ) - W(X) 9

Ταυτοχρονιςμόσ ςε ΣΔΒΔ Οι χριςτεσ υποβάλουν ςυναλλαγζσ, πρζπει να μποροφν να κεωροφν ότι κάκε ςυναλλαγι εκτελείται μόνη τησ. O Ταυτοχρονιςμόσ ή ςυνδρομικότητα (concurrency) επιτυγχάνεται από το ΣΔΒΔ που διαπλζκει τισ πράξεισ (αναγνϊςεισ/εγγραφζσ) των ςυναλλαγϊν αυτϊν. 10

Συναλλαγζσ Κάκε Συναλλαγι πρζπει να αφινει τθ ΒΔ ςτθν κατάςταςθ που ιταν όταν άρχιςε θ Συναλλαγι. Το ΣΔΒΔ επιβάλει κάποιουσ ΠΑ (Περιοριςμοφσ Ακεραιότητασ) με βάςθ τουσ ΠΑ που ζχουν δθλωκεί ςτισ εντολζσ CREATE TABLE. Πζρα από αυτό, το ΣΔΒΔ δεν καταλαβαίνει τθ ςθμαςιολογία των δεδομζνων (π.χ., δεν καταλαβαίνει πϊσ να υπολογίςει το επιτόκιο). 11

Πράξεισ μιασ ςυναλλαγήσ Πράξεισ ςυναλλαγϊν BEGIN R(X) W(X) END COMMIT (επικφρωςη) - επιτυχία - όλεσ οι τροποποιιςεισ επικυρϊνονται και δεν μποροφν να αναιρεκοφν. ABORT ή ROLLBACK (ακφρωςη ή ανάκληςη) - αποτυχία - όλεσ οι τροποποιιςεισ πρζπει να αναιρεκοφν. 12

Πράξεισ μιασ ςυναλλαγήσ Μια Συναλλαγι μπορεί να επικυρωκεί (commit) αφοφ ολοκλθρϊςει όλεσ τισ πράξεισ τθσ. Μπορεί να ακυρωκεί (abort- ROLLBACK ) όμωσ, αφοφ εκτελζςει κάποιεσ από τισ πράξεισ τθσ. Το ΣΔΒΔ καταγράφει (logs) όλεσ τισ πράξεισ ζτςι ϊςτε να μπορεί να αναιρζςει (undo) τισ πράξεισ μιασ ακυρωμζνθσ (aborted) Συναλλαγισ. 13

Πράξεισ μιασ ςυναλλαγήσ R / W COMMIT RUNNING END ABORT ABORT 14

Ημερολόγιο Συςτήματοσ (log) Για να είναι δυνατι θ ανάκαμψθ από αποτυχίεσ, καταχωροφνται πλθροφορίεσ για τισ πράξεισ των Συναλλαγϊν. Αποκθκεφονται ςτο δίςκο. Τφποι πλθροφορίασ: ζναρξθ Συναλλαγισ εγγραφι ςτοιχείου (παλιά, νζα) ανάγνωςθ ςτοιχείου επικφρωςθ/ακφρωςθ Είναι δυνατι θ αναίρεςθ (undo) ι θ επανάλθψθ (redo) μιασ Συναλλαγισ. 15

Οι ιδιότητεσ μιασ ACID ςυναλλαγήσ Atomicity (ατομικότητα) - είτε όλεσ οι πράξεισ εκτελοφνται, είτε καμία. Consistency (ςυνζπεια) - διατιρθςθ ςυνζπειασ τθσ ΒΔ δθλαδι μεταςχθματίηει μια ςυνεπι κατάςταςθ τθσ βάςθσ δεδομζνων ςε μια άλλθ ςυνεπι κατάςταςθ, χωρίσ κατανάγκθ να διατθρεί τθ ςυνζπεια ςε όλα τα ενδιάμεςα ςθμεία. Isolation (απομόνωςη) - δεν αποκαλφπτει ενδιάμεςα αποτελζςματα. Durability (μονιμότητα ή διάρκεια) - μετά τθν επικφρωςθ μιασ Συναλλαγισ οι αλλαγζσ δεν είναι δυνατόν να χακοφν. 16

Οριςμόσ ςυναλλαγήσ Μια Συναλλαγή είναι μια ακολουκία από πράξεισ εγγραφισ και ανάγνωςθσ που τελειϊνει με μια πράξθ επικφρωςθσ (commit) ι με μια πράξθ ακφρωςθσ (abort -rollback). Θεωρείςτε τισ δφο ςυναλλαγζσ (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 Τ1: R(X) W(X) R(Y) W(Y) C T2: R(X) W(X) C 17

Οριςμόσ χρονοπρογράμματοσ Ζνα χρονοπρόγραμμα (schedule) S των Συναλλαγϊν T 1, T 2,.., T n είναι μια διάταξθ των πράξεων τουσ με τον περιοριςμό ότι για κάκε Συναλλαγι T i που ςυμμετζχει ςτο S οι πράξεισ τθσ T i ςτο S πρζπει να εμφανίηονται με τθν ίδια ςειρά που εμφανίηονται ςτθν T i. Οι πράξεισ των Συναλλαγϊν εμφανίηονται ςτο χρονοπρόγραμμα με τθ ςειρά που εκτελοφνται. 18

Οριςμόσ χρονοπρογράμματοσ Θα χρθςιμοποιοφμε δείκτθ ςτισ πράξεισ που να δείχνει ςε ποια Συναλλαγι. T1 R1(X) W1(X) R1(Y) W1(Y) C1 T2 R2(X) W2(X) C2 S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 19

Οριςμόσ χρονοπρογράμματοσ T1 R1(X) W1(X) R1(Y) W1(Y) C1 T2 R2(X) W2(X) C2 S: R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 20

Σφγκρουςη πράξεων ςε χρονοπρογραμματιςμό Δφο πράξεισ ςε ζνα χρονοπρόγραμμα ςυγκροφονται αν: (α) ανικουν ςε διαφορετικζσ Συναλλαγζσ (β) προςπελαφνουν το ίδιο ςτοιχείο (γ) μια από αυτζσ είναι πράξθ εγγραφισ (W) Ερϊτηςη: Ποια είναι θ ςχζςθ των χρονοπρογραμμάτων S1 και S2; 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 είναι ιςοδφναμα, διαφζρουν μόνο ςτθ διάταξθ πράξεων που δε ςυγκροφονται άρα ζχουμε μερικι διάταξθ. 21

Οριςμόσ χρονοπρογραμματιςμοφ Ζνα πλιρεσ χρονοπρόγραμμα (schedule) S των Συναλλαγϊν T 1, T 2,.., T n είναι ζνα ςφνολο από πράξεισ και μια μερικι διάταξθ των πράξεων αυτϊν με τουσ ακόλουκουσ περιοριςμοφσ: (α) οι πράξεισ του S είναι ακριβϊσ οι πράξεισ των T 1, T 2,.., T n ςυμπεριλαμβανομζνθσ μιασ πράξθσ ακφρωςθσ ι επικφρωςθσ ωσ τελευταίασ πράξθσ ςε κάκε Συναλλαγι ςτο χρονοπρόγραμμα. (β) για κάκε Συναλλαγι T i που ςυμμετζχει ςτο S οι πράξεισ τθσ T i ςτο S πρζπει να εμφανίηονται με τθν ίδια ςειρά που εμφανίηονται ςτθν T i (γ) Για κάκε ηεφγοσ ςυγκρουόμενων πράξεων, μια από τισ δφο πρζπει να προθγείται τθσ άλλθσ ςτο χρονοπρόγραμμα. 22

Σειριοποιηςιμότητα Σειριακά Χρονοπρογράμματα: Χρονοπρογράμματα που δεν διαπλζκουν πράξεισ διαφορετικϊν Συναλλαγϊν δθλαδι οι πράξεισ κάκε Συναλλαγισ εκτελοφνται διαδοχικά, χωρίσ παρεμβολι πράξεων από άλλθ Συναλλαγι. Παρατήρηςη: Αν κάκε Συναλλαγι διατθρεί τθ ςυνζπεια, τότε κάκε ςειριακό χρονοπρόγραμμα διατθρεί τθ ςυνζπεια. Ζνα ςειριακό χρονοπρόγραμμα, όπωσ το παρακάτω, είναι ςωςτό S: R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 23

Σειριοποιηςιμότητα Ιςοδφναμα Χρονοπρογράμματα : Για κάκε κατάςταςθ τθσ ΒΔ, το αποτζλεςμα τθσ εκτζλεςθσ του πρϊτου χρονοπρογράμματοσ είναι το ίδιο με το αποτζλεςμα του δεφτερου χρονοπρογράμματοσ. Ζνα χρονοπρόγραμμα ιςοδφναμο με ζνα ςειριακό. 24

Σειριοποιηςιμότητα Σειριοποιήςιμο Χρονοπρόγραμμα : Ζνα χρονοπρόγραμμα που είναι ισοδύναμο με κάποιο ςειριακό Τι ςημαίνει ιςοδφναμο; Ιςοδυναμία βάςει ςυγκροφςεων Ιςοδυναμία όψεων 25

Ιςοδυναμία Χρονοπρογραμμάτων βάςει Συγκροφςεων Δυο χρονοπρογράμματα είναι ιςοδφναμα βάςει ςυγκροφςεων αν θ διάταξθ κάκε ηεφγουσ ςυγκρουόμενων πράξεων είναι ίδια και ςτα δυο χρονοπρογράμματα. Παραδείγματα: 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 26

Σειριοποιηςιμότητα βάςει Συγκροφςεων Σειριοποιηςιμότητα βάςει Συγκροφςεων: Ζνα χρονοπρόγραμμα S είναι ςειριοποιιςιμο βάςει ςυγκροφςεων αν είναι ιςοδφναμο βάςει ςυγκροφςεων με κάποιο ςειριακό χρονοπρόγραμμα S. Σε αυτιν τθν περίπτωςθ μποροφμε να αναδιατάξουμε τισ μθ ςυγκρουόμενεσ πράξεισ ςτο S μζχρι να ςχθματίςουμε ζνα ιςοδφναμο ςειριακό χρονοπρόγραμμα. 27

Σειριοποιηςιμότητα βάςει Συγκροφςεων 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 28

Ανάκαμψη από Αποτυχίεσ Όταν μια Συναλλαγι υποβάλλεται ςτο ΣΔΒΔ το ςφςτθμα πρζπει να εξαςφαλίςει ότι : (α) είτε όλεσ οι πράξεισ τθσ κα ολοκλθρωκοφν είτε. (β) καμία δε κα εκτελεςτεί- δθλαδι δε κα ζχει καμία επίδραςθ ςτθ ΒΔ -- ακόμα και αν ςυμβοφν αποτυχίεσ. Αυτι είναι μια ςθμαντικι ιδιότθτα που πρζπει να εξαςφαλίςει το ΣΔΒΔ - Ο χριςτθσ πρζπει να μπορεί να κεωρεί ότι όλο το πρόγραμμα (πράξεισ) εκτελοφνται ςε ζνα βιμα είτε καμία πράξθ δεν εκτελείται (ατομικότθτα των Συναλλαγϊν) 29

Ανάκαμψη από Αποτυχίεσ Είδη Αποτυχιϊν : Δυο κατθγορίεσ: καταςτροφι ι όχι τθσ μόνιμθσ αποκικευςθσ (δίςκου). Παραδείγματα αποτυχιϊν: Αςτοχίεσ ςυςτιματοσ (διακοπι ρεφματοσ). Αςτοχίεσ μζςων (καταςτροφι δίςκου). 30

Ανάκαμψη από Αποτυχίεσ Ερϊτηςη: Πϊσ κα ξζρει το ςφςτθμα κατά τθν επανεκκίνθςθ ποιεσ ςυναλλαγζσ πρζπει να αναιρζςει και ποιεσ να επανεκτελζςει; Απάντηςη: Σε κάποια προκακοριςμζνα χρονικά διαςτιματα κατά κανόνα, όποτε ζχει γραφεί ζνασ προκακοριςμζνοσ αρικμόσ καταχωρίςεων ςτο αρχείο πεπραγμζνων log το ςφςτθμα αυτόματα κζτει ζνα ςθμείο ελζγχου (checkpoint). 31

Ανάκαμψη από Αποτυχίεσ Η τοποκζτθςθ ενόσ ςθμείου ελζγχου ςθμαίνει: (α) φυςικι καταγραφι "καταναγκαςτικι καταγραφι" των περιεχομζνων των περιοχϊν προςωρινισ αποκικευςθσ ςτθ φυςικι βάςθ δεδομζνων, και (β) φυςικι καταγραφι μιασ ειδικισ εγγραφισ ςθμείου ελζγχου (checkpoint record) ςτο φυςικό αρχείο πεπραγμζνων. Η εγγραφι του ςθμείου ελζγχου δίνει μια λίςτα όλων των ςυναλλαγϊν που ιταν ςε εξζλιξθ τθ ςτιγμι που τζκθκε το ςθμείο ελζγχου. 32

Ανάκαμψη από Αποτυχίεσ 33

Ανάκαμψη από Αποτυχίεσ Κατά τθν επανεκκίνθςθ λοιπόν, το ςφςτθμα πρϊτα ακολουκεί τθν παρακάτω διαδικαςία, για να αναγνωρίςει όλεσ τισ ςυναλλαγζσ των τφπων T2-T5: 1. Η διαδικαςία ξεκινάει με δφο λίςτεσ ςυναλλαγϊν, τθ λίςτα αναιρζςεων (UNDO) και τθ λίςτα επανεκτελζςεων (REDO). Αρχικά, θ λίςτα UNDO είναι εξ οριςμοφ ίςθ με τθ λίςτα όλων των ςυναλλαγϊν ςτθν πιο πρόςφατθ εγγραφι ςθμείου ελζγχου' θ λίςτα REDO είναι εξ οριςμοφ κενι. 2. Γίνεται αναηιτθςθ προσ τα εμπρόσ μζςα ςτο αρχείο πεπραγμζνων, ξεκινϊντασ από τθν εγγραφι του ςθμείου ελζγχου. 34

Ανάκαμψη από Αποτυχίεσ 3. Αν βρεκεί ςτο log μια καταχϊριςθ BEGIN TRANSACTION για τθ ςυναλλαγι Τ, προςτίκεται θ T ςτθ λίςτα UNDO. 4. Αν βρεκεί ςτο αρχείο πεπραγμζνων μια καταχϊριςθ COMMIT για τθ ςυναλλαγι Τ, μεταφζρεται θ Τ από τθ λίςτα UNDO ςτθ λίςτα REDO. 5. Όταν θ αναηιτθςθ φτάςει ςτο τζλοσ του αρχείου πεπραγμζνων, οι λίςτεσ UNDO και REDO προςδιορίηουν, αντίςτοιχα, τισ ςυναλλαγζσ των τφπων Τ3 και T5 και τισ ςυναλλαγζσ των τφπων T2 και Τ4. 35

Ανάκαμψη μζςων Για τθν ανάκαμψθ από μια τζτοια αςτοχία, απαιτείται να γίνει επαναφόρτωςθ (ι επαναφορά - restore) τθσ βάςθσ δεδομζνων από ζνα εφεδρικό αντίγραφο (database backup). Ζπειτα χρθςιμοποιείτε το αρχείο πεπραγμζνων - τόςο το ενεργό όςο και το αρχειακό μζροσ του, για να επανεκτελεςτοφν - όλεσ οι ςυναλλαγζσ που ολοκλθρϊκθκαν μετά από τθ ςτιγμι που πάρκθκε το εφεδρικό αντίγραφο. Οι ςυναλλαγζσ που ιταν ακόμα ςε εξζλιξθ τθ ςτιγμι τθσ αςτοχίασ, ζχουν "αναιρεκεί" (για τθν ακρίβεια, ζχουν χακεί), ζτςι και αλλιϊσ. 36

Ανάκαμψη μζςων Προκφπτει θ ανάγκθ να ζχουμε ζνα βοθκθτικό πρόγραμμα : αποτφπωςησ/επαναφοράσ (dump/restore), ή εκφόρτωςησ/επαναφόρτωςησ (unload/reload), εφεδρικϊν αντιγράφων. Το μζροσ αυτοφ του βοθκθτικοφ προγράμματοσ που αςχολείται με τθν αποτφπωςθ (dump) χρθςιμοποιείται για τθ δθμιουργία εφεδρικϊν αντιγράφων τθσ βάςθσ δεδομζνων Αντίγραφα μπορεί να τθροφνται ςε ταινία ι ςε κάποιο άλλο αρχειακό μζςο αποκικευςθσ, δεν είναι απαραίτθτο να βρίςκονται ςε ζνα μζςο άμεςθσ προςπζλαςθσ) Μετά από μια αςτοχία μζςου, γίνεται επαναφορά (restore) και ξανα-δθμιουργιται θ βάςθ δεδομζνων από ζνα κακοριςμζνο εφεδρικό αντίγραφο. 37

Επικφρωςη δφο φάςεων Α. Καταναγκαςτικι καταγραφι όλων των καταχωρίςεων πεπραγμζνων τθσ ςυναλλαγισ ςε μόνιμο μζςο αποκικευςθσ. ότι και αν ςυμβεί μετά, ο διαχειριςτισ πόρων κα ζχει μια μόνιμθ Εγγραφι τθσ εργαςίασ που ζκανε για λογαριαςμό τθσ ςυναλλαγισ, και ζτςι κα μπορεί να επικυρϊςει τισ ενθμερϊςεισ τθσ ι να τισ αναςκευάςει, ανάλογα με τθν περίπτωςθ. Β. Επικφρωςθ ι αναςκευι τθ ςυναλλαγισ τοπικά, ανάλογα με τθν τελικι υπόδειξθ (commit, rollback). 38