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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι

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

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

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

Διάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

MUM ATHENS, GREECE 2015

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

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

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

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών Χειμερινό Εξάμηνο

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

Κατανεμημένες δοσοληψίες

Κατανεμημένα Συστήματα Ι

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κατανεμημένες δοσοληψίες

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Λιβανός Γιώργος Εξάμηνο 2017Β

Κατανεμημένα Συστήματα Ι

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

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

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

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

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

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

Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε?

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

Βάσεις Δεδομένων (Databases)

Αρχεία και Βάσεις Δεδομένων. Εξεταστική Περίοδος Σεπτεμβρίου 2007

ΠΟΛΥ ΜΕΓΑΛΗ : ΜΕΓΑΛΗ : ΜΕΣΑΙΑ: ΜΙΚΡΗ

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

Εικονική Μνήμη (virtual memory)

Κατανεμημένα Συστήματα Ι

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

2.4 Κλασσικά Προβλήματα IPC

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων

Λειτουργικά Συστήματα (Λ/Σ)

Transcript:

Προχωρημένα Θέματα Βάσεων Δεδομένων 1ο Σετ Ασκήσεων ΕΡΩΤΗΜΑ 1 Ατομικότητα : Η ατομικότητα πρακτικά εξασφαλίζει ότι είτε όλες οι πράξεις μιας δοσοληψίας θα εκτελεστούν ή καμμιά από αυτές δεν θα εκτελεστεί. Αν οι διεργασίες δεν πληρούν το κριτήριο της ατομικότητας τότε μπορεί να παραβιαστούν οι κανόνες της βάσης. Ένα παράδειγμα που εξηγεί την ανάγκη της ατομικότητας είναι ένα System Crash κατά τη διάρκεια εκτέλεσης μιας δοσοληψίας. Read (A) A : = A 50 ; Write (A) ; -- CRASH Read (B) ; B : = B + 50 ; Write (B) ; Συνέπεια : Η συνέπεια εξασφαλίζει ότι ένα σύνολο κανόνων και περιορισμών που διέπουν τη βάση δεδομένων θα πληρούνται τόσο πριν όσο και μετά την εκτέλεση μιας δοσοληψίας.για παράδειγμα κατά την μεταφορά χρημάτων από ένα τραπεζικό λογαριασμό σε έναν άλλο πρέπει το άθροισμα του ποσού και στους δύο λογαριασμούς να παραμείνει σταθερό. Ένα παράδειγμα παραβίασης της συνέπειας μπορεί να θεωρηθεί ότι προκύπτει και από το παράδειγμα 1.1 που παρατέθηκε πιο πριν. Αυτό γιατί μετά την εκτέλεση της δοσοληψίας θα έχουμε ότι Α +Β = Α+Β 50.

Γενικά οποιαδήποτε παραβίαση του συνόλου κανόνων που διέπουν τη ΒΔ θεωρείται ότι παραβιάζει τη συνέπειά της. Απομόνωση: Κάθε διεργασία θεωρεί ότι είναι η μόνη η οποία τρέχει στο σύστημα. Δηλαδή, δε βλέπει τις ενδιάμεσες τιμές που ενδεχομένως γράφουν οι υπόλοιπες διεργασίες. Αυτό προστατεύει από προβλήματα που προκύπτουν όταν οι δοσοληψίες μπορούν να δουν τις ενδιάμεσες αλλαγές των δοσοληψιών που δεν έχουν ακόμα τελειώσει. (Dirty Reads).Με άλλα λόγια θα θέλαμε όλες οι δοσοληψίες να εκτελούνται όπως θα εκτελούνταν εάν έτρεχαν σειριακά. Μονιμότητα: Εξασφαλίζει ότι οι αλλαγές μιας δοσοληψίας που επιτυγχάνει θα παραμείνουν στο σύστημα (επιβιώνουν) ακόμη και αν το σύστημα αποτύχει. Έτσι, το σύστημα δε χάνει αλλαγές που επήλθαν από απιτυχημένες δοσοληψίες. Ένα παράδειγμα παραβίασης της μονιμότητας είναι να εκτελεστεί επιτυχώς μια δοσοληψία στέλνοντας το ανάλογο μήνυμα αλλά να «πέσει» το σύστημα (π.χ. λόγω διακοπής ρεύματος) πριν προλάβουν οι μεταβολές να γραφτούν στο δίσκο. ΕΡΩΤΗΜΑ 2 S1:R1(B)R5(A)W4(Γ)W2(B)R1(A)W3(A)W5(Γ) R4(B)R2(A) S2:R2(B)W2(A)R1(B)W2(Γ)R3(Γ)R1(A)R3(A)W1(B)R3(B)W3(A)R1(Γ) α) Για να αποφανθούμε για την σειριοποιησιμότητα συγκρούσεων των χρονοπρογραμμάτων θα κατασκευάσουμε τον αντίστοιχο γράφο για κάθε ένα από αυτά. Για το S1:

Παρατηρούμε ότι ο γράφος σειριοποιησιμότητας για το S1 περιλαμβάνει κύκλο. Έτσι συνάγουμε ότι το χρονοπρόγραμμα S1 δεν είναι σειριοποιήσιμο συγκρούσεων. Για το S2: Παρατηρούμε ότι ο γράφος σειριοποησιμότητας για S2 είναι ακυκλικός.μπορούμε λοιπόν να συμπεράνουμε ότι το χρονοπρόγραμμα S2 είναι σειριοποιήσιμο. Το αντίστοιχο σειριακό χρονοπρόγραμμα προκύπτει άμεσα από την τοπολογική ταξινόμηση του παραπάνω γράφου Τ2->Τ1- >Τ3. Με βάση αυτή την τοπολογική ταξινόμηση συμπεραίνουμε ότι το αντίστοιχο σειριακό χρονοπρόγραμμα θα είναι το: Τ2,Τ1,Τ3. Δηλαδή το: S2 :R2(B)W2(A)W2(Γ)R1(B)R1(A)W1(B)R1(Γ)R3(Γ)R3(A)R3(B)W3(B) β) Το S1 δεν είναι σειριοποιήσιμο συγκρούσεων. Κατά συνέπεια δεν μπορεί να έχει προκύψει από τον αλγόριθμο 2PL. Το S2 έχει ακυκλικό γράφο.οπότε είναι πιθανόν να έχει προκύψει από 2PL.Εισάγοντας κατάλληλα κλειδώματα παρατηρούμε ότι υπάρχει τρόπος να προκύψει από το παραπάνω χρονοπρόγραμμα από 2PL.Αυτό με την προυπόθεση ότι είναι εφικτή η αναβάθμιση του κλειδώματος. S2(B)R2(B)X2(A)W2(A)S1(B)R1(B)X2(Γ)W2(Γ)U2(Α,Β,Γ)S3(Γ)R3(G)S1 (A)X1(B)*S1(Γ)Ρ1(Α)S3(A)R3(A)W1(B)U1(A,B),S3(B)R3(B)X3(A)*W3( A)U3(Α,Β,Γ)R1(Γ)U1(Α,Γ) *Τα εν λόγω κλειδώματα προκύπτουν από αναβάθμιση υπάρχοντος S-lock σε X-lock.

ΕΡΩΤΗΜΑ 3 00 update: T2 writes P1 10 update: T1 writes P1 20 update: T3 writes P1 30 update: T2 writes P1 40 checkpoint 50 update: T1 writes P1 60 update: T2 writes P1 70 T2 commit 80 T2 end 90 update: T3 writes P1 100 T1 abort X CRASH, RESTART Καταρχήν παρατηρώντας το log file που δίδεται από την εκφώνηση μπορούμε να εξάγουμε ότι κατά την λήψη του Checkpoint οι ενεργές δοσοληψίες ήταν οι Τ1 Τ2 και Τ3 (Υπό την προϋπόθεση ότι δεν υπάρχουν άλλες διεργασίες στο σύστημα που δεν φαίνονται στο log). 1. Φάση Ανάλυσης Κατά την φάση της ανάλυσης ο αλγόριθμος διατρέχει το log από το τελευταίο Checkpoint προς τα κάτω. Δηλαδή ξεκινάμε από το LSN=50. Στη συνέχεια θα συμβολίζουμε το Transaction Table με TT και Dirty Page Table με DPT. LSN 50: Adds (T1,50) to TT and (P1,50) to DPT LSN 60: Adds (T2, 60) to TT. Does not change P1 in DPT LSN 70: Changes status of T2 to C LSN 80: Removes T2 entries from TT

LSN 90: Adds (T3,90) to TT. Does not change P1 in DPT LSN 100: Edit T1 Entry in TT to (T1, 100) Άρα στο τέλος της διαδικασίας της ανάλυσης θα έχουμε τα εξής Transaction Table Entries (losers): (T1, 100), (T3, 90) Dirty Page Table Entries: (P1, 50) Committed Transaction (winners): T2 Loser Set = (100, 90) 2. Φάση UNDO Κατά το UNDO θα αναιρέσουμε όλες τις δοσοληψίες που ανήκουν στο σύνολο των losers ξεκινώντας από το τέλος του log και κατευθυνόμενοι προς την αρχή του. Συγκεκριμένα θα ξεκινήσουμε από την υψήλοτερη LSN τιμή στον ΤΤ. Άρα: LSN 100: Removes LSN from Loser Set. Adds prevlsn. Looser Set=(90,50) LSN 90: Removes LSN 90 from loser Set. Undoes the change made from T3 to P1. Adds 20 to Looser Set = (50,20) LSN 50 Removes LSN 50 from loser Set. Undoes change made from T1 to P1. Adds 10 to LS. Looser Set = (20, 10) LSN 20: Removes LSN 20 from loser Set. Undoes change made from T3 to P1. Follow prevlsn to continue. LSN 10: Remove LSN 10 from loser Set. Undoes change made from T1 to P1. Follow prevlsn to continue. Φάση REDO Κατά το REDO διατρέχουμε το log file από το LSN=50 που είναι το μικρότερο LSN στο DPT. LSN 50: No change made

LSN 60: Redoes update done from T2 to P1 if needed LSN 70: No action LSN 80: No action LSN 90: No action LSN 100: No action