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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

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

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

Κεντρική Μονάδα Επεξεργασίας

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

Φροντιστήριο #9 Ασκήσεις σε Γράφους 18/5/2018

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

Υπολογιστικό Πρόβληµα

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Σχεδίαση και Ανάλυση Αλγορίθμων: Εργαστήριο 3 ο Βασικοί Τύποι Δεδομένων στη LEDA Τοπολογική διάταξη. Τοπολογική Ταξινόμηση Στοιχείων

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

Σχεδίαση & Ανάλυση Αλγορίθμων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

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

ΗΥ118: Διακριτά Μαθηματικά - Εαρινό Εξάμηνο 2017 Τελική Εξέταση Ιουνίου - Τετάρτη, 14/06/2017 ΛΥΣΕΙΣ

Φροντιστήριο #9 Λυμένες Ασκήσεις σε Γράφους

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

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

Εισαγωγή στους Αλγορίθμους

Αμοιβαίος αποκλεισμός

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Σειρά Προβλημάτων 3 Λύσεις

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

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

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

Σειρά Προβλημάτων 4 Λύσεις

Transcript:

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

Θεωρία-Επανάληψη Δοσοληψία-ορισμός Το πρόβλημα της απώλειας των ενημερώσεων Το πρόβλημα της προσωρινής ενημέρωσης Το πρόβλημα της λανθασμένης συνάθροισης Χρονοπρόγραμμα(ή χρονικό) Σειριακό χρονοπρόγραμμα Σειριοποιήσιμο χρονοπρόγραμμα Ισοδυναμία Χρονοπρογραμμάτων Βάση αποτελέσματος Βάση συγκρούσεων Βάση όψεων Γράφος προτεραιότητας Αλγόριθμος ελέγχου σειριοποιησιμότητας αντιθέσεων

Θεωρία-Επανάληψη Τεχνικές κλειδώματος δύο φάσεων Δυαδικά κλειδώματα Διαμοιραζόμενα και αποκλειστικά κλειδώματα Εξασφάλιση σειριοποιησιμότητας με κλείδωμα δύο φάσεων Αντιμετώπιση των αδιεξόδων και της λιμοκτονίας Γράφος αναμονής έχει κύκλο

Δοσοληψία-ορισμός Είναι μια λογική μονάδα επεξεργασίας της βάσης δεδομένων που περιλαμβάνει μια ή περισσότερες πράξεις προσπέλασης στη βάση δεδομένων. Αυτές μπορεί να περιλαμβάνουν πράξεις εισαγωγής, διαγραφής, τροποποίησης ή ανάκτησης. Το πρόβλημα της απώλειας των ενημερώσεων εμφανίζεται όταν οι πράξεις δυο δοσοληψιών, που προσπελαύνουν τα ίδια στοιχειώδη δεδομένα, διαπλέκονται κατά τρόπο που καθιστά την τιμή κάποιου στοιχειώδους δεδομένου λανθασμένη. Το πρόβλημα της προσωρινής ενημέρωσης εμφανίζεται όταν μια δοσοληψία ενημερώνει ένα στοιχείο της βάσης δεδομένων και στη συνέχεια αποτυγχάνει για κάποιο λόγο. Μια άλλη δοσοληψία προσπελαύνει το στοιχείο που έχει ενημερωθεί, πριν αυτό επανέλθει στην αρχική του τιμή.(dirty data) Το πρόβλημα της λανθασμένης συνάθροισης αν μια δοσοληψία υπολογίζει μια συναθροιστική συνάρτηση σ ένα πλήθος εγγραφών ενόσω άλλες δοσοληψίες ενημερώνουν κάποιες από αυτές τις εγγραφές, η συναθροιστική συνάρτηση μπορεί να χρησιμοποιήσει κάποιες τιμές πριν ενημερωθούν και άλλες αφού ενημερωθούν.

Χρονοπρόγραμμα(ή χρονικό) S των δοσοληψιών Τ1, Τ2,, Τn είναι μια διάταξη των πράξεων των δοσοληψιών η οποία υπόκειται στον περιορισμό ότι, για κάθε δοσοληψία Τ i που συμμετέχει στο S, οι πράξεις της Τ i στο S πρέπει να εμφανιστούν με την ίδια σειρά που εμφανίζονται στην Τ i. Σειριακό χρονοπρόγραμμα για κάθε δοσοληψία Τ που συμμετέχει στο χρονοπρόγραμμα, όλες οι πράξεις της Τ να εκτελούνται διαδοχικά στο χρονοπρόγραμμα Σειριοποιήσιμο χρονοπρόγραμμα αν είναι ισοδύναμο με κάποιο σειριακό

Ισοδυναμία Χρονοπρογραμμάτων Βάση αποτελέσματος Παράγουν την ίδια τελική κατάσταση της βάσης δεδομένων Βάση Αντιθέσεων Αν η διάταξη κάθε ζεύγους αντιτιθέμενων πράξεων είναι η ίδια και στα δύο χρονοπρογράμματα. Δυο πράξεις σ ένα χρονοπρόγραμμα είναι σε αντίθεση αν ανήκουν σε διαφορετικές δοσοληψίες προσπελαύνουν το ίδιο στοιχείο χ τουλάχιστον μια από τις 2 είναι η εγγραφή Βάση όψεων Δύο χρονοπρογράμματα καλούνται ισοδύναμα όψεων αν ισχύουν οι εξής συνθήκες : Το ίδιο σύνολο δοσοληψιών συμμετέχει και στο χρονοπρόγραμμα S και στο S και τα S και S περιλαμβάνουν τις ίδιες πράξεις των συγκεκριμένων δοσοληψιών Για κάθε πράξη r i (X) της Τ i στο S, αν η τιμή της Χ που διαβάζεται από την πράξη έχει γραφτεί από μια πράξη w j (X) της Τ j (ή αν είναι η αρχική τιμή του Χ πριν την έναρξη του χρονοπρογράμματος), η ίδια συνθήκη πρέπει να ισχύει για την τιμή του Χ που διαβάζεται από την πράξη r i (X) της T i στο S. Αν η πράξη w k (Y) της T k είναι η τελευταία πράξη που τροποποιεί το στοιχείο Υ στο S, τότε η w k (Y) της T k πρέπει να είναι η τελευταία πράξη που τροποποιεί το Y στο S.

Γράφος προτεραιότητας Κατευθυνόμενος γράφος G=(N,E) Σύνολο κόμβων N={Τ 1,Τ 2,,Τ n } Σύνολο ακμών Ε={α 1,α 2,...α m } Κάθε ακμή α i στον γράφο έχει την μορφή (T j T k ) Μιατέτοιαακμήδημιουργείταιστονγράφο, αν μία από τις πράξεις στο T j εμφανίζεται στο χρονοπρόγραμμα πριν από μία πράξη σε αντίθεση στο T k. Εάν ο γράφος δεν περιέχει κύκλο το χρονοπρόγραμμα είναι σειριοποιήσιμο.

Αλγόριθμος ελέγχου σειριοποιησιμότητας αντιθέσεων 1. Για κάθε δοσοληψία T i που συμμετέχει στο χρονοπρόγραμμα S, δημιούργησε έναν κόμβο T i στο γράφο προτεραιότητας 2. Για κάθε περίπτωση στο S όπου η Τj εκτελεί μία πράξη ανάγνωσης_στοιχείου(x) μετά από μία εντολή εγγραφή_στοιχείου(χ) που εκτελείται από την T i δημιούργησε μία ακμή (T i T j ) στον γράφο προτεραιότητας. 3. Για κάθε περίπτωση στο S όπου η Τj εκτελεί μία πράξη εγγραφή_στοιχείου(χ) μετά από μία εντολή ανάγνωσης_στοιχείου(x) που εκτελείται από την T i δημιούργησε μία ακμή (T i T j ) στον γράφο προτεραιότητας. 4. Για κάθε περίπτωση στο S όπου η Τj εκτελεί μία πράξη εγγραφή_στοιχείου(χ) αφού η T i εκτελέσει μία εντολή εγγραφή_στοιχείου(χ), δημιούργησε μία ακμή (T i T j ) στον γράφο προτεραιότητας. 5. Το χρονοπρόγραμμα S είναι σειριοποιήσιμο αν και μόνον αν ο γράφος προήγησης δεν έχει κυκλώματα

Ασκήσεις

Άσκηση 1 Υποθέστε τις δοσοληψίες Τ1 και Τ2 Υποθέστε ότι η συνθήκη συνέπειας της βάσης δεδομένων είναι (Α=0 or Β=0) και (β) οι αρχικές τιμές των Α και Β είναι 0 (Α=Β=0). Τ1 Τ2 Read Read(B) if A = 0 then B:=B+1; Write(B) Read Read(B) if B = 0 then A:=A+1; Write Ζητούμενα: 1. Δείξτε ότι κάθε σειριακή εκτέλεση των δυο δοσοληψιών διατηρεί την συνέπεια της βάσης δεδομένων 2. Αναφέρετε μία μη σειριακή (συνδρομική) εκτέλεση των Τ1 και Τ2 η οποία παράγει ένα μη σειριοποιήσιμο χρονοπρόγραμμα. 3. Υπάρχει συνδρομική εκτέλεση των T1 και Τ2 ηοποίανα παράγεται ένα σειριοποιήσιμο χρονοπρόγραμμα;

Άσκηση 1 Λύση ερώτημα 1 1. Δείξτε ότι κάθε σειριακή εκτέλεση των δυο χρονοπρογραμμάτων διατηρεί την συνέπεια της βάσης δεδομένων Τ1 Τ2 Εκτελείται η Τ1 :Α=0, Β=1 Εκτελείται η Τ2 :Α=0, Β=1 Η βάση σε συνεπή κατάσταση γιατί Α=0 Τ2 Τ1 Εκτελείται η Τ2 :Α=1, Β=0 Εκτελείται η Τ1 :Α=1, Β=0 Η βάση σε συνεπή κατάσταση γιατί Β=0 Τ1 Τ2 Read Read(B) if A = 0 then B:=B+1; Write(B) Read Read(B) if B = 0 then A:=A+1; Write

Άσκηση 1 Λύση ερώτημα 2 2. Αναφέρετε μία μη σειριακή (συνδρομική) εκτέλεση των Τ1 και Τ2 η οποία παράγει ένα μη σειριοποιήσιμο χρονοπρόγραμμα. Read Read(B) if A = 0 then B:=B+1; Write(B) Λύση: Read 1 Read 1 (B) Τ2 Read Read(B) if B = 0 then A:=A+1; Write Read 2 Read 2 (B) if 1 A = 0 then B:=B+1; Write 1 (B) Τ1 Τ2 if 2 B = 0 then A:=A+1; Write 2 Τ1 Υπάρχει κύκλος Το πρόγραμμα είναι μη σειριοποιήσιμο

Άσκηση 1 Λύση ερώτημα 3 3. Υπάρχει συνδρομική εκτέλεση των T1 και Τ2 η οποίανα παράγεται ένα σειριοποιήσιμο χρονοπρόγραμμα; Read Read(B) if A = 0 then B:=B+1; Write(B) Λύση: Read 1 Read 1 (B) Τ2 Read Read(B) if B = 0 then A:=A+1; Write Read 2 if 1 A = 0 then B:=B+1; Write 1 (B) Read 2 (B) if 2 B = 0 then A:=A+1; Τ1 Τ2 Write 2 Τ1 Δεν υπάρχει κύκλος Το πρόγραμμα είναι σειριοποιήσιμο

Άσκηση 2 Έστω οι ακόλουθες 2 δοσοληψίες 1. Προσθέστε εντολές κλειδώματος και ξεκλειδώματος ώστε οι δύο δοσοληψίες να ακολουθούν το πρωτόκολλο κλειδώματος δύο φάσεων 2. Στις δοσοληψίες που προέκυψαν από το ερώτημα (1), υπάρχει περίπτωση αδιεξόδου (deadlock); Τ1 Τ2 Read Read(B) if A = 0 then B:=B+1; Write(B) Read Read(B) if B = 0 then A:=A+1; Write

Άσκηση 2 Λύση ερώτημα 1 1. Προσθέστε εντολές κλειδώματος και ξεκλειδώματος ώστε οι δύο δοσοληψίες να ακολουθούν το πρωτόκολλο κλειδώματος δύο φάσεων Λύση: Τ1 Τ2 Read Read(B) if A = 0 then B:=B+1; Write(B) Read Read(B) if B = 0 then A:=A+1; Write S_Lock 1 Read 1 S_Lock 1 (B) Read 1 (B) S_Lock 2 Read 2 if A = 0 then B:=B+1; X_Lock 1 (B) Write1(B) Unlock1(B) Unlock1 S_Lock 2 (B) Read2(B) if B = 0 then A:=A+1; X_Lock2 Write2 Unlock2 Unlock2(B)

Άσκηση 2 Λύση ερώτημα 2 Στις δοσοληψίες που προέκυψαν από το ερώτημα (1), υπάρχει περίπτωση αδιεξόδου (deadlock); Λύση: Περίπτωση που υπάρχει deadlock S_Lock 1 Read 1 S_Lock 1 (B) Read 1 (B) S_Lock 2 Read 2 if S_Lock A = 0 2 then (B) B:=B+1; X_Lock if A = 0 1 then (B) B:=B+1; X_Lock 1 (B) X Τ1 Τ2 Read Read(B) if A = 0 then B:=B+1; Write(B) Read Read(B) if B = 0 then A:=A+1; Write Write1(B) 1 Unlock1(B) Read 2 S_Lock if B = 0 2 then (B) A:=A+1; X_Lock Read 2 (B) 2 X Write if B = 0 then A:=A+1; 2 X_Lock Unlock 2 2 Unlock Write 2 1 (B) Unlock 2

Άσκηση 3 Στα παρακάτω Ri(X) σημαίνει ότι η δοσοληψία i διαβάζει το δεδομένο Χ και Wi(X) σημαίνει ότι η δοσοληψία i γράφει το δεδομένο Χ. Για κάθε ένα από τα παρακάτω προγράμματα (schedules) απαντήστε τις παρακάτω ερωτήσεις: 1. Είναι το πρόγραμμα σειριοποιήσιμο; Αν ναι, δώστε όλα τα ισοδύναμα σειριακά προγράμματα. Αν όχι, εξηγείστε σύντομα γιατί. 2. Μπορεί να προκύψει το πρόγραμμα αυτό από πρωτόκολλο συντονισμού με κλείδωμα σε δυο φάσεις (two-phase locking); Σύντομα εξηγείστε γιατί ναι ή γιατί όχι. Πρόγραμμα 1 R1(X) R2(X) R3(Y) W2(X) W1(Z) W2(Y) R4(X) W2(Z) Πρόγραμμα 2 R1(X) R1(Z) W2(X) R3(Y) R2(Y) R3(X) W3(Z) W1(Y) R2(Z) Πρόγραμμα 3 W1(Z) R3(Y) R2(Z) W3(X) R3(Z) W4(X) W2(Y) R4(Y)

Λύση Άσκησης 3 - Ερώτημα 1 Πρόγραμμα 1 R1(X) R2(X) R3(Y) W2(X) W1(Z) W2(Y) R4(X) W2(Z) Σχεδιάζουμε τον γράφο σειριοποιησιμότητας Στον παραπάνω γράφο δεν υπάρχει κανένας κύκλος συνεπώς το αντίστοιχο πρόγραμμα είναι σειριοποιήσιμο. Τα ισοδύναμα σειριακά προγράμματα είναι τα: 1. Τ1 Τ3 Τ2 Τ4 2. Τ3 Τ1 Τ2 Τ4.

Λύση Άσκησης 3 - Ερώτημα 1 Πρόγραμμα 2 R1(X) R1(Z) W2(X) R3(Y) R2(Y) R3(X) W3(Z) W1(Y) R2(Z) Για το δεύτερο πρόγραμμα ο αντίστοιχος γράφος σειριοποιησιμότητας είναι ο παρακάτω: Εφόσον σχηματίζονται πέντε κύκλοι: 1. T1 T2 T3 T1, 2. T1 T2, 3. T1 T3, 4. T2 T3 και 5. T1 T3 T2 T1, το πρόγραμμα δεν είναι σειριοποιήσιμο.

Λύση Άσκησης 3 - Ερώτημα 1 Πρόγραμμα 3 W1(Z) R3(Y) R2(Z) W3(X) R3(Z) W4(X) W2(Y) R4(Y) Τέλος για το τρίτο πρόγραμμα ο γράφος σειριοποιησιμότητας φαίνεται στο επόμενο σχήμα. Στον παραπάνω γράφο δεν υπάρχει κανένας κύκλος συνεπώς το αντίστοιχο πρόγραμμα είναι σειριοποιήσιμο. Το ισοδύναμο σειριακό πρόγραμμα είναι το Τ1 Τ3 Τ2 Τ4.

Λύση Άσκησης 3 - Ερώτημα 2 Πρόγραμμα 1 R1(X) R2(X) R3(Y) W2(X) W1(Z) W2(Y) R4(X) W2(Z) Πρόγραμμα 2 R1(X) R1(Z) W2(X) R3(Y) R2(Y) R3(X) W3(Z) W1(Y) R2(Z) Πρόγραμμα 3 W1(Z) R3(Y) R2(Z) W3(X) R3(Z) W4(X) W2(Y) R4(Y) Το πρόγραμμα 2 δεν είναι δυνατόν να προκύψει από το πρωτόκολλο συντονισμού με κλείδωμα σε δυο φάσεις (two-phase locking) διότι δεν είναι σειριοποιήσιμο. Αντίθετα το πρώτο και το τρίτο πρόγραμμα μπορούν να προκύψουν από το πρωτόκολλο συντονισμού με κλείδωμα σε δυο φάσεις με τον ακόλουθο τρόπο: Πρώτο πρόγραμμα: S1(X) R1(X) X1(Z) U1(X) X2(X) R2(X) S3(Y) R3(Y) U3(Y) C3 W2(X) W1(Z) U1(Z) C1 X2(Y) W2(Y) X2(Z) U2(X) S4(X) R4(X) U4(X) C4 W2(Z) U2(Y,Z) C2 Τρίτο πρόγραμμα: X1(Z) W1(Z) U1(Z) C1 S3(Y) R3(Y) S2(Z) R2(Z) X3(X) W3(X) S3(Z) R3(Z) U3(X,Y,Z) C3 X4(X) W4(X) X2(Y) W2(Y) U2(Y,Z) C2 S4(Y) R4(Y) U4(X,Y) C4

Άσκηση 4 Ας υποθέσουμε ότι έχουμε πέντε δοσοληψίες που κάνουν τα ακόλουθα: Δοσοληψία 1 Δοσοληψία 2 Δοσοληψία 3 Δοσοληψία 4 Δοσοληψία 5 R1(Z) R1(X) W1(U) R2(X) W2(X) R3(X) R3(Y) W3(Z) R4(Z) R4(X) R4(Y) W5(U) W5(Y) R5(Y) και σε μια εκτέλεση τους παράγεται το Πρόγραμμα 1 ενώ σε μία άλλη το Πρόγραμμα 2. Πρόγρ. 1 Πρόγρ. 2 R2(X) W5(U) R1(Z) W2(X) R1(X) W5(Y) R3(X) R4(Z) R3(Y) R4(X) R5(Y) W3(Z) R4(Y) W1(U) R3(X) R1(Z) W5(U) R1(X) R4(Z) R2(X) R3(Y) W2(X) W5(Y) W1(U) R4(X) R5(Y) W3(Z) R4(Y) Για κάθε ένα από τα παραπάνω προγράμματα (α) αποδείξτε ότι είναι ή δεν είναι σειριοποιήσιμο, (β) σε περίπτωση που είναι, δώστε όλα τα ισοδύναμα σειριακά προγράμματα, και (γ) σε περίπτωση που δεν είναι, δώστε ένα λίγο αλλαγμένο πρόγραμμα που θα το έκανε σειριοποιήσιμο. Το νέο πρόγραμμα θα πρέπει να είναι ένα έγκυρο χρονοπρόγραμμα, το οποίο να προκύπτει από τις δοσοληψίες που δίνονται στην εκφώνηση. Δηλαδή, δεν μπορείτε να προσθέσετε ή να αφαιρέσετε πράξεις (εγγραφής, ανάγνωσης) ή να αλλάξετε τη σειρά των πράξεων σε κάθε δοσοληψία.

Λύση Άσκησης 4 Πρόγρ. 1 R2(X) W5(U) R1(Z) W2(X) R1(X) W5(Y) R3(X) R4(Z) R3(Y) R4(X) R5(Y) W3(Z) R4(Y) W1(U) Γράφος σειριοποιησιμότητας: Εφόσον ο γράφος δεν έχει κύκλους, το πρώτο πρόγραμμα είναι σειριοποιήσιμο.

Λύση Άσκησης 4 Εφόσον ο γράφος για το πρώτο πρόγραμμα δεν έχει κύκλους, αυτό είναι σειριοποιήσιμο και τα ισοδύναμασειριακάπρόγραμμα, έτσι όπως προκύπτουν από την τοπολογική ταξινόμηση του γράφου σειριοποιησιμότητας, είναι τα: 1. Τ2 Τ5 Τ1 T4 T3 2. Τ2 Τ5 Τ4 T1 T3 3. Τ5 Τ2 Τ1 T4 T3 4. Τ5 Τ2 Τ4 T1 T3

Λύση Άσκησης 4 Πρόγρ. 2 R3(X) R1(Z) W5(U) R1(X) R4(Z) R2(X) R3(Y) W2(X) W5(Y) W1(U) R4(X) R5(Y) W3(Z) R4(Y) Γράφος σειριοποιησιμότητας: Το δεύτερο πρόγραμμα δεν είναι σειριοποιήσιμο διότι ο αντίστοιχος γράφος σειριοποιησιμότητας περιέχει τέσσερις κύκλους: 1. T1 T3 T5 T1, 2. T3 T2 T4 T3, 3. T3 T5 T4 T3, 4. T1 T2 T4 T3 T5 T1.

Λύση Άσκησης 4 Το χρονοπρόγραμμα μπορεί να γίνει σειριοποιήσιμο με τις παρακάτω αλλαγές: Πρόγρ. 2 R3(X) R1(Z) W5(U) R1(X) R4(Z) R2(X) R3(Y) W2(X) W5(Y) W1(U) R4(X) R5(Y) W3(Z) R4(Y) Πρόγρ. 2 R3(X) R1(Z) W5(U) R1(X) R4(Z) R2(X) R3(Y) W2(X) W5(Y) R3(Y) W1(U) R4(X) R5(Y) W3(Z) R4(Y) W2(X)

Λύση Άσκησης 4 Πρόγρ. 2 R3(X) R1(Z) W5(U) R1(X) R4(Z) R2(X) W5(Y) R3(Y) W1(U) R4(X) R5(Y) W3(Z) R4(Y) W2(X) Τα ισοδύναμα σειριακά προγράμματα είναι τα: 1. Τ5 Τ1 Τ4 Τ3 Τ2 και 2. Τ5 Τ4 Τ1 Τ3 Τ2.

Τέλος!!!! Ύλη κεφάλαια 17 18 του βιβλίου : R. Elmasri - S.B. Navathe, Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων Β' τόμος 4η έκδοση αναθεωρημένη, Eκδοσεις Δίαυλος, 2005.