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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Σηµειώσεις Βάσεων εδοµένων ιαχείριση οσοληψιών Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά version: Περιεχόµενα Ορισµός της δοσοληψίας Καταστάσεις µιας δοσοληψίας Υλοποίηση της Ατοµικότητας και της ιάρκειας Συνδροµικές εκτελέσεις (concurrency) Ανάκαµψη δοσοληψιών (recovery) Υλοποίηση της Αποµόνωσης Έλεγχος σειριοποιησιµότητας Βασική πηγή διαφανειών: Silberschatz et al., Database System Concepts, 4/e Μετάφραση στα Ελληνικά: Γιάννης Θεοδωρίδης, ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 1

2 Ορισµός της δοσοληψίας Μια δοσοληψία ή συναλλαγή (transaction) είναι ένα τµήµα της εκτέλεσης προγράµµατος, που προσπελαύνει και πιθανόν ενηµερώνει διάφορα αντικείµενα δεδοµένων. Μια δοσοληψία πρέπει να βλέπει µια συνεπή βάση και όταν επικυρωθεί η δοσοληψία, ηβάσηδεδοµένων πρέπει να είναι πάλι συνεπής. Κατά τη διάρκεια της δοσοληψίας η βάση µπορεί να είναι ασυνεπής. υο βασικά θέµαταπρέπεινααντιµετωπιστούν: ιαφόρων ειδών αποτυχίες, όπως αποτυχίες υλικού και πτώσεις συστήµατος (crash) Ησυνδροµική εκτέλεση πολλαπλών δοσοληψιών. 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ιδιότητες ACID Γιαναπροστατέψουµε την ακεραιότητα των δεδοµένων, το σύστηµα της βάσης δεδοµένων πρέπει να εγγυάται: Ατοµικότητα (Atomicity). Είτε όλες οι πράξεις της δοσοληψίας ανακλώνται στη βάση δεδοµένων είτε καµία. Συνέπεια (Consistency). Η εκτέλεση της δοσοληψίας σε αποµόνωση προστατεύει τη συνέπεια της βάσης δεδοµένων. Αποµόνωση (Isolation). Μολονότι πολλαπλές δοσοληψίες µπορεί να εκτελούνται συνδροµικά, κάθε δοσοληψία πρέπει να αγνοεί τις υπόλοιπες συνδροµικές δοσοληψίες. Τα ενδιάµεσα αποτελέσµατα µιας δοσοληψίας πρέπει να «κρύβονται» από άλλες δοσοληψίες που εκτελούνται συνδροµικά. ιάρκεια (Durability). Αφού µια δοσοληψία ολοκληρωθεί επιτυχώς, οι αλλαγές που έχει κάνει στη βάση δεδοµένων υπάρχουν, ακόµα και αν προκύψουν αποτυχίες του συστήµατος. 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 2

3 Παράδειγµα µεταφοράς κεφαλαίου (1) οσοληψία για τη µεταφορά 50 από το λογαριασµό A στο λογαριασµό B: 1. read(a) 2. A := A write(a) 4. read(b) 5. B := B write(b) Απαίτηση συνέπειας: το άθροισµα τωνa και B δεν αλλάζει µε την εκτέλεση της δοσοληψίας. Απαίτηση ατοµικότητας: εάν η δοσοληψία αποτύχει µετά το βήµα 3 και πριν το βήµα 6, το σύστηµα πρέπει να διαβεβαιώνει ότι οι αλλαγές που έγιναν δεν αντανακλώνται στη βάση, αλλιώς θα οδηγηθούµε σεασυνεπή βάση δεδοµένων. 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα µεταφοράς κεφαλαίου (2) (συν.) Απαίτηση διάρκειας: µόλις ο χρήστης ενηµερωθεί ότι η δοσοληψία έχει ολοκληρωθεί (δηλ, έχει γίνει η µεταφορά των 50 ), οι αλλαγές στη βάση δεδοµένων πρέπει να παραµείνουν παρά τις οποιεσδήποτε αποτυχίες. Απαίτηση αποµόνωσης: εάν µεταξύ των βηµάτων 3 και 6, επιτραπεί σε µια άλλη δοσοληψία να προσπελάσει τη µερικώς ενηµερωµένη βάση, εκείνη θα δει µιαασυνεπήβάσηδεδοµένων (το άθροισµα A + B θα είναι µικρότερο από όσο θα έπρεπε να είναι). Μπορούµε να εγγυηθούµε την αποµόνωση, αν εκτελέσουµε τις δοσοληψίες σειριακά, δηλαδή τη µια µετά την άλλη. Παρ όλα αυτά, η συνδροµική εκτέλεση πολλαπλών δοσοληψιών έχει σηµαντικά πλεονεκτήµατα, όπως θα δούµε. 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 3

4 Καταστάσεις µιας δοσοληψίας (1) Ενεργή (Active), η αρχική κατάσταση. Η δοσοληψία παραµένει σε αυτήν την κατάσταση όσο εκτελείται. Μερικώς επικυρωµένη (Partially committed), µετά την εκτέλεση και της τελευταίας εντολής. Αποτυχηµένη (Failed), µετάτηδιαπίστωσηότιδεµπορεί να προχωρήσει η κανονική εκτέλεση. Ακυρωµένη (Aborted), αφού έχει υποχωρήσει η δοσοληψία (rollback) και η βάση έχει επιστρέψει στην κατάσταση που ήταν πριν την έναρξη της δοσοληψίας. Υπάρχουν τώρα δυο δυνατότητες: Επανέναρξη της δοσοληψίας µόνο αν δεν υπάρχει κάποιο εσωτερικό λογικό λάθος «Θανάτωση» της δοσοληψίας. Επικυρωµένη (Committed), µετά την επιτυχή ολοκλήρωση. 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Καταστάσεις µιας δοσοληψίας (2) 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 4

5 Υλοποίηση ατοµικότητας και διάρκειας (1) Το τµήµα διαχείρισης ανάκαµψηςενόςσυστήµατος βάσης δεδοµένων υλοποιεί την υποστήριξη της ατοµικότητας και της διάρκειας. Το σχήµα shadow-database: Υποθέτει ότι µόνο µια δοσοληψία είναι ενεργή µια χρονική στιγµή. Ένας δείκτης που ονοµάζεται db_pointer δείχνει συνεχώς στο τρέχον συνεπέςαντίγραφοτηςβάσης. Όλες οι ενηµερώσεις γίνονται στο αντίγραφο-σκιά (shadow copy) της βάσης και ο db_pointer ετοιµάζεται ώστε να δείχνει στο ενηµερωµένο αντίγραφο-σκιά µόνο αφού η δοσοληψία µερικώς επικυρωθεί και όλες οι ενηµερωµένες σελίδες αντανακλαστούν στο δίσκο. Στην περίπτωση αποτυχίας της δοσοληψίας, µπορεί να χρησιµοποιηθεί το παλιό συνεπές αντίγραφο που δείχνεται από τον db_pointer και το αντίγραφο σκιά µπορεί να διαγραφεί. 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Υλοποίηση ατοµικότητας και διάρκειας (2) Το shadow-database σχήµα: Υποθέτειότιοιδίσκοιδεναποτυγχάνουν Είναι χρήσιµο π.χ. για κειµενογράφους, αλλά ΕΝ είναι αποδοτικό για µεγάλες βάσεις δεδοµένων: η εκτέλεση µιας απλής δοσοληψίας απαιτεί την αντιγραφή ολόκληρης της βάσης δεδοµένων. 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 5

6 Συνδροµικές εκτελέσεις Πολλαπλές δοσοληψίες µπορούν να τρέχουν συνδροµικά στο σύστηµα. Τα πλεονεκτήµατα που προκύπτουν είναι: Αύξηση της εκµετάλλευσης του επεξεργαστή και του δίσκου, που οδηγεί σε καλύτερη ρυθµαπόδοση (throughput) της δοσοληψίας: µια δοσοληψία µπορεί να χρησιµοποιεί τη CPU την ώρα που µια άλλη διαβάζει από ή γράφει στο δίσκο. Μείωση του µέσου χρόνου απόκρισης για δοσοληψίες: µικρές δοσοληψίες δε χρειάζεται να περιµένουν να τελειώσουν µεγάλες δοσοληψίες. Σχήµατα ελέγχου συνδροµικότητας µηχανισµοί για την επίτευξη αποµόνωσης, δηλ, µηχανισµοί ελέγχου της αλληλεπίδρασης µεταξύ των συνδροµικών δοσοληψιών µε στόχο την αποφυγή της καταστροφής της συνέπειας της βάσης δεδοµένων. 11 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Χρονοπρογράµµατα Χρονοπρογράµµατα (Schedules): ακολουθίες που δηλώνουν τη χρονολογική σειρά µε την οποία εκτελούνται εντολές από συνδροµικές δοσοληψίες Ένα χρονοπρόγραµµα για ένα σύνολο από δοσοληψίες πρέπει: να αποτελείται από το σύνολο των εντολών αυτών των δοσοληψιών να διατηρεί τη σειρά µε την οποία εµφανίζονται οι εντολές σε κάθε δοσοληψία ξεχωριστά. 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 6

7 Παράδειγµα χρονοπρογράµµατος (1) Έστω η T1 µεταφέρει 50 από το A στο B και η T2 αφαιρεί το 10% του A και το µεταφέρει στο B. S 1 Το χρονοπρόγραµµα S1 είναι σειριακό, µε τηνt1 να προηγείται της T2. 13 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα χρονοπρογράµµατος (2) Έστω T1 και T2 οι δοσοληψίες που ορίστηκαν προηγουµένως. S 2 Το χρονοπρόγραµµα S2 δεν είναι σειριακό, αλλά παρόλα αυτά είναι ισοδύναµο µε το(σειριακό) S1. Τόσο στο S1 όσο και στο S2, διατηρείται το άθροισµα A + B 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 7

8 Παράδειγµα χρονοπρογράµµατος (3) S 3 Αντίθετα, το χρονοπρόγραµµα S3 δεν είναι ισοδύναµο µε τοs1 εν διατηρεί την τιµή του αθροίσµατος A + B. 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σειριοποιησιµότητα Βασική υπόθεση Κάθε δοσοληψία διατηρεί τη συνέπεια της βάσης δεδοµένων. Συνεπώς, η σειριακή εκτέλεση ενός συνόλου δοσοληψιών διατηρεί τη συνέπεια της βάσης δεδοµένων. Ένα (πιθανώς συνδροµικό) χρονοπρόγραµµα είναι σειριοποιήσιµο (serializable) εάν είναι ισοδύναµο µε ένα σειριακό χρονοπρόγραµµα. Στη συνέχεια θα µελετήσουµε ένα είδος ισοδυναµίας χρονοπρογραµµάτων, τη σειριοποιησιµότητα βάσει συγκρούσεων (conflict serializability) Περιοριζόµαστε στις λειτουργίες read και write. 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 8

9 Σειριοποιησιµότητα βάσει συγκρούσεων (1) Οι εντολές l i και l j των δοσοληψιών T i και T j αντιστοίχως, συγκρούονται εάν και µόνο αν υπάρχει κάποιο αντικείµενο Q που προσπελαύνεται τόσο από την l i όσο και από την l j, και τουλάχιστον µια από αυτές τις εντολές γράφει στο Q. 1. l i = read(q), l j = read(q). l i και l j δε συγκρούονται. 2. l i = read(q), l j = write(q). Συγκρούονται. 3. l i = write(q), l j = read(q). Συγκρούονται. 4. l i = write(q), l j = write(q). Συγκρούονται. ιαισθητικά, µια σύγκρουση µεταξύ των l i και l j αναγκάζει µια (λογική) προσωρινή αναδιάταξη µεταξύ τους. Εάν οι l i και l j είναι συνεχόµενες σε ένα χρονοπρόγραµµα και δεν συγκρούονται, τα αποτελέσµατά τους θα παρέµεναν τα ίδια ακόµα κιανείχαν ανταλλάξει θέσεις στο χρονοπρόγραµµα. 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σειριοποιησιµότητα βάσει συγκρούσεων (2) Εάν ένα χρονοπρόγραµµα S µπορεί να µετασχηµατιστεί σε ένα χρονοπρόγραµµα S µε µια σειρά από αντιµεταθέσεις µη συγκρουόµενων εντολών, λέµε ότι τα S και S είναι ισοδύναµα βάσει συγκρούσεων (conflict equivalent). Λέµεότιέναχρονοπρόγραµµα S είναι σειριοποιήσιµο βάσει συγκρούσεων (conflict serializable), εάν είναι ισοδύναµο βάσει συγκρούσεων µε ένα σειριακό χρονοπρόγραµµα. Παράδειγµα χρονοπρογράµµατος που δεν είναι σειριοποιήσιµο βάσει συγκρούσεων: T3 T4 read(q) write(q) write(q) 18 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 9

10 Σειριοποιησιµότητα βάσει συγκρούσεων (3) Το χρονοπρόγραµµα S2 (βλ. προηγουµένως) µπορεί να µετασχηµατιστεί στο S1, ένα σειριακό χρονοπρόγραµµα όπουηt2 ακολουθεί την T1, µε µια σειρά από αντιµεταθέσεις µη συγκρουόµενων εντολών. Εποµένως, το S2 είναι σειριοποιήσιµο βάσει συγκρούσεων. 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συνδροµικότητα βασισµένη σε κλειδιά (1) Κλείδωµα είναι ένας µηχανισµός για τον έλεγχο της συνδροµικής προσπέλασης σε ένα αντικείµενο δεδοµένων. Τα αντικείµενα µιας Β µπορούν να κλειδωθούν µε δυο τρόπους: Αποκλειστικός - exclusive (X) τρόπος. Το αντικείµενο µπορεί και να διαβαστεί και να γραφεί. Το κλειδί γραφής X-lock ζητείται µε χρήσητης lock-x αίτησης. ιαµοιραζόµενος - shared (S) τρόπος. Το αντικείµενο µπορεί µόνο να διαβαστεί. Το κλειδί ανάγνωσης S-lock ζητείται µε χρήσητηςlock-s αίτησης. Οι αιτήσεις κλειδώµατος γίνονται από το διαχειριστή ελέγχου συνδροµικότητας. Μια δοσοληψία µπορεί να προχωρήσει µόνο αφού ικανοποιηθεί η αίτηση κλειδώµατος που έχει κάνει. 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 10

11 Συνδροµικότητα βασισµένη σε κλειδιά (2) Πίνακας συµβατότητας κλειδωµάτων Σε µια δοσοληψία µπορεί να παραχωρηθεί ένα κλειδί, εάν αυτό είναι συµβατό µε κλειδιά που έχουν ήδη παραχωρηθεί (σε άλλες δοσοληψίες). Πολλές δοσοληψίες µπορούν να διατηρούν κλειδιά S για ένα αντικείµενο, αλλά αν µια δοσοληψία πάρει κλειδί X, σε καµιά άλλη δοσοληψία δεν µπορεί να παραχωρηθεί κλειδί, είτε S είτε X. Εάν δεν µπορεί να παραχωρηθεί κλειδί, η δοσοληψία περιµένει έως ότου ελευθερωθούν όλα τα µη συµβατά κλειδιά που διατηρούνται από άλλες δοσοληψίες. Στη συνέχεια τής παραχωρείται το κλειδί που έχει ζητήσει. 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συνδροµικότητα βασισµένη σε κλειδιά (3) Παράδειγµα εκτέλεσης κλειδώµατος από µια δοσοληψία: T2: lock-s(a); read (A); unlock(a); lock-s(b); read (B); unlock(b); display(a+b) Ένα τέτοιο σχήµα απόδοσης κλειδιών δεν µπορεί να εγγυηθεί τη σειριοποιησιµότητα εάν το Α και το Β ενηµερωθούν µεταξύ της ανάγνωσης των A και B, το απεικονιζόµενο άθροισµα Α+Β θα είναι λάθος. 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 11

12 Συνδροµικότητα βασισµένη σε κλειδιά (4) Θεωρήστε το ακόλουθο «παράθυρο» ενός χρονοπρογράµµατος Ούτε η T3 ούτε η T4 µπορούν να προχωρήσουν ηεκτέλεσητουlock-s(b) αναγκάζει την T4 να περιµένει την T3 να ελευθερώσει το κλειδί της στο B, ενώ η εκτέλεση του lock-x(a) αναγκάζει την T3 να περιµένει την T4 ναελευθερώσειτοκλειδίτηςστοa. S 4 Μια τέτοια κατάσταση ονοµάζεται αδιέξοδο (deadlock). Για την αντιµετώπιση του αδιεξόδου, µια από τις T3 και T4 πρέπει να υποχωρήσει (rollback), ώστε τα κλειδιά που κατέχει να ελευθερωθούν. 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συνδροµικότητα βασισµένη σε κλειδιά (5) Το ενδεχόµενο για αδιέξοδα δεν µπορεί να αποκλειστεί. Τα αδιέξοδα είναι ένα αναγκαίο κακό. Λιµοκτονία (starvation) µπορεί επίσης να προκύψει εάν ο διαχειριστής ελέγχου συνδροµικότητας είναι κακοσχεδιασµένος. Για παράδειγµα: Μια δοσοληψία µπορεί να περιµένει για ένα X-lock σε ένα αντικείµενο, ενώ µια ακολουθία από άλλες δοσοληψίες αιτούν και αποκτούν ένα S-lock στο ίδιο αντικείµενο. Η ίδια δοσοληψία ακυρώνεται (rollback) κατ επανάληψη εξαιτίας αδιεξόδων. Ο διαχειριστής ελέγχου συνδροµικότητας µπορεί να σχεδιαστεί έτσι ώστε να αποτρέπει τις καταστάσεις λιµοκτονίας. 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 12

13 Έλεγχος σειριοποιησιµότητας Έστω χρονοπρόγραµµα ενός συνόλου δοσοληψιών T 1, T 2,..., T n Γράφος προβαδίσµατος (precedence graph) ένας κατευθυνόµενος γράφος όπου οι κορυφές είναι οι δοσοληψίες (ονόµατα). Σχεδιάζουµε µια ακµή απότηνt i στην T j εάν οι δυο δοσοληψίες συγκρούονται και η T i προσπέλασε το αντικείµενο στο οποίο συγκρούονται νωρίτερα. Μπορεί να προσθέτουµε µια ετικέτα στην ακµή µε τοόνοµα του αντικειµένου x που προσπελάστηκε. y 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα γράφουπροβαδίσµατος T 1 T 2 T 3 T 4 T 5 read(x) read(y) read(z) read(v) read(w) write(w) read(y) write(y) write(z) read(u) read(y) write(y) read(z) write(z) read(u) write(u) Γράφος προβαδίσµατος για το Χρονοπρόγραµµα S Y T 1 T 2 Z Z Y Y T T 4 3 Z 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 13

14 Έλεγχος σειριοποιησιµότητας βάσει συγκρούσεων Ένα χρονοπρόγραµµα είναι σειριοποιήσιµο βάσει συγκρούσεων αν και µόνο αν ο αντίστοιχος γράφος προβαδίσµατος είναι ακυκλικός. Οι συνήθεις αλγόριθµοι εντοπισµού κύκλων απαιτούν χρόνο Ο(n 2 ), όπου n είναι ο αριθµός των κορυφών του γράφου. Εάν ο γράφος προβαδίσµατος είναι ακυκλικός, η σειρά σειριοποιησιµότητας µπορεί να βρεθεί µε µια τοπολογική ταξινόµηση του γράφου. Για παράδειγµα µια σειρά σειριοποιησιµότητας για το χρονοπρόγραµµα S θα ήταν: Γράφος προβαδίσµατος για το Χρονοπρόγραµµα S Y T 1 T 2 Z Z Y Y T T 4 3 Z T 5 T 1 T 3 T 2 T 4 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πρωτόκολλο κλειδώµατος 2 φάσεων (1) Εγγυάται χρονοπρογράµµατα σειριοποιήσιµα βάσει συγκρούσεων και αποτελείται από 2 φάσεις (2 phase locking 2PL) Φάση 1(εξάπλωσης) Η δοσοληψία µπορεί να δεσµεύει κλειδιά αλλά δεν µπορεί να ελευθερώσει κλειδιά. Φάση 2(συρρίκνωσης) Η δοσοληψία µπορεί να ελευθερώνει κλειδιά αλλά δεν µπορεί να δεσµεύσει κλειδιά. Το πρωτόκολλο 2PL εγγυάται σειριοποιησιµότητα. Μπορεί να αποδειχθεί ότι οι δοσοληψίες µπορούν να σειριοποιηθούν µε τησειρά των σηµείων κλειδώµατός τους - lock points Σηµείο κλειδώµατος λέγεται το χρονικό σηµείο στο οποίο η δοσοληψία απαίτησε το τελευταίο της κλειδί. 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 14

15 Πρωτόκολλο κλειδώµατος 2 φάσεων (2) Το πρωτόκολλο 2PL δεν εγγυάται την αποτροπή αδιεξόδων. Είναι πιθανό να οδηγηθούµε σε διαδοχικές υποχωρήσεις (cascading roll-back). Για την αποφυγή αυτού του ενδεχοµένου, υπάρχουν δύο παραλλαγές πρωτοκόλλου 2PL: αυστηρό πρωτόκολλο δυο φάσεων (strict 2PL): µια δοσοληψία πρέπει να διατηρήσει όλα τα κλειδιά γραφής που έχει δεσµεύσει έως ότου είτε επικυρωθεί είτε ακυρωθεί. άκαµπτο (ακόµη πιοαυστηρό) πρωτόκολλο δυο φάσεων (rigorous 2PL): όλατακλειδιά(ανάγνωσης ή γραφής) διατηρούνται έως την επικύρωση ή ακύρωση. Σε αυτό το πρωτόκολλο οι δοσοληψίες µπορούν να σειριοποιηθούν µε τη σειρά που επικυρώνονται. 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Υλοποίηση των κλειδωµάτων (1) Μπορεί να υλοποιηθεί ένας ιαχειριστής κλειδωµάτων ως µια ξεχωριστή διαδικασία στην οποία οι δοσοληψίες στέλνουν αιτήσεις κλειδώµατος και ξεκλειδώµατος. Ο διαχειριστής κλειδωµάτων απαντά σε µια αίτηση κλειδώµατος στέλνοντας ένα µήνυµα παραχώρησης κλειδιού (ή ένα µήνυµα ζητώντας από τη δοσοληψία να κάνει rollback, στην περίπτωση αδιεξόδου). Η αιτούσα δοσοληψία περιµένει έως ότου απαντηθεί η αίτησή της. Ο διαχειριστής κλειδωµάτων συντηρεί µια δοµή δεδοµένων, που λέγεται πίνακας κλειδιών (lock table), για την καταγραφή των παραχωρηµένων κλειδιών και των εκκρεµών αιτήσεων. Ο πίνακας κλειδωµάτων υλοποιείται συνήθως ως ένας πίνακας κατακερµατισµού κύριας µνήµης µε δεικτοδότηση στο όνοµα του αντικειµένου δεδοµένων που κλειδώνεται. 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 15

16 Υλοποίηση των κλειδωµάτων (2) Πίνακας Κλειδωµάτων Τα µαύρα τετράγωνα δηλώνουν παραχωρηµένα κλειδιά, τα άσπρα τετράγωνα δηλώνουν αιτήσεις που περιµένουν. Κάθε νέα αίτηση κλειδώµατος προστίθεται στο τέλος της ουράς των αιτήσεων και το ζητούµενο κλειδί παραχωρείται αν είναι συµβατό µεόλα τα προηγούµενα κλειδιά. Μια αίτηση ξεκλειδώµατος επιδρά στην αντίστοιχη αίτηση κλειδώµατος (διαγράφεται) και στις εκκρεµείς αιτήσεις (ελέγχεται το εάν µπορούν να ικανοποιηθούν). 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαµψη δοσοληψιών (1) Ανάγκη αντιµετώπισης της επίδρασης των αποτυχιών των δοσοληψιών στην περίπτωση συνδροµικών δοσοληψιών. Ανακάµψιµο χρονοπρόγραµµα εάν µια δοσοληψία Tj διαβάζει ένα αντικείµενο που έχει προηγουµένως γραφτεί από µια δοσοληψία T i, η λειτουργία επικύρωσης (commit) της T i εµφανίζεται πριν τη λειτουργία επικύρωσης της T j. Το χρονοπρόγραµµα S5 είναι µη ανακάµψιµο εάνηt9 επικυρωθεί αµέσως µετά την ανάγνωση. Εάν η T8 ακυρωθεί, η T9 θα έχει διαβάσει (και πιθανότατα θα έχει παρουσιάσει στο χρήστη) µια µη συνεπή κατάσταση της βάσης. Τα Σ Β πρέπει να εξασφαλίζουν ότι τα χρονοπρογράµµατα είναι ανακάµψιµα. S 5 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 16

17 Ανάκαµψη δοσοληψιών (2) ιαδοχικές υποχωρήσεις (Cascading rollbacks) ηαποτυχία µίας δοσοληψίας οδηγεί σε µια σειρά από υποχωρήσεις (rollbacks) και άλλων δοσοληψιών. Ας θεωρήσουµε το ακόλουθο χρονοπρόγραµµαόπουκαµιά δοσοληψία δεν έχει ακόµα επικυρωθεί(συνεπώς το χρονοπρόγραµµα είναι ανακάµψιµο). Εάν η T10 αποτύχει, τότε οι T11 και T12 πρέπει επίσης S 6 να κάνουν rollback. Τέτοιου είδους σενάρια µπορεί να οδηγήσουν στην ακύρωση αρκετής δουλειάς που έχει ήδη γίνει Ένα επιθυµητό χαρακτηριστικό είναι να έχουµε χρονοπρογράµµατα χωρίς υποχωρήσεις (Cascadeless) 33 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατηγοριοποίηση αποτυχιών Αποτυχία δοσοληψίας : Το Σ Β πρέπει να τερµατίσει µια ενεργή δοσοληψία εξαιτίας µιας λανθασµένης συνθήκης (π.χ. αδιέξοδο). Πτώση συστήµατος (system crash): µια απώλεια ισχύος ή κάποια άλλη αποτυχία λογισµικού ή υλικού προκαλεί πτώση συστήµατος. Παραδοχή Fail-stop: τα περιεχόµενα της µόνιµης αποθήκευσης υποθέτουµε πως δεν αλλοιώνονται από µια πτώση συστήµατος. Αποτυχία µέσου αποθήκευσης (π.χ. δίσκου): µια καταστροφή της κεφαλής ήπαρόµοια αποτυχία του δίσκου καταστρέφει ολόκληρο ή ένα µέρος της αποθηκευµένης πληροφορίας στο δίσκο. τα συστήµατα δίσκων χρησιµοποιούν αθροίσµατα ελέγχου (checksums). 34 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 17

18 Αλγόριθµοι ανάκαµψης Οι αλγόριθµοι ανάκαµψης (recovery) είναι τεχνικές που εγγυώνται τη συνέπεια της Β και την ατοµικότητα και τη διάρκεια µιας δοσοληψίας παρά τις οποιεσδήποτε αποτυχίες. Οι αλγόριθµοι ανάκαµψης έχουν δυο µέρη: ράσεις που αναπτύσσονται κατά τη διάρκεια της εκτέλεσης των δοσοληψιών για να εγγυηθούν την ύπαρξη επαρκούς πληροφορίας για την ανάκαµψη από αποτυχίες. ράσεις που αναπτύσσονται µετά από µια αποτυχία για την ανάκαµψη των περιεχοµένων της βάσης σε µια κατάσταση που εγγυάται την ατοµικότητα, συνέπεια και διάρκεια. 35 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης οµή αποθήκευσης Προσωρινή (volatile) αποθήκευση: εν επιβιώνει µετά από πτώσεις συστήµατος. Παραδείγµατα: κύρια µνήµη, µνήµη cache. Μόνιµη (non-volatile) αποθήκευση: Επιβιώνει µετά από πτώσεις συστήµατος (αλλά όχι από άλλες αποτυχίες π.χ. δίσκου). Παραδείγµατα: δίσκοι, ταινίες, µνήµη flash. Ακλόνητη (stable) αποθήκευση: Μια ιδανική µορφή αποθήκευσης που επιβιώνει µετά από όλες τις αποτυχίες. Προσεγγίζεται µέσω πολλαπλών αντιγράφων σε διακριτά µόνιµα µέσα. 36 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 18

19 Προσπέλαση δεδοµένων (1) Τα φυσικά blocks είναι εκείνα τα blocks που βρίσκονται στο δίσκο. Τα blocks ενδιάµεσης µνήµης (buffer blocks) είναι εκείνα τα blocks που βρίσκονται προσωρινά στην κύρια µνήµη. Οι µετακινήσεις των blocks µεταξύ της κυρίας µνήµης και του δίσκου ξεκινούν µέσω των ακόλουθων δυο λειτουργιών: input(b): µεταφέρει το φυσικό block B στην κύρια µνήµη. output(b): µεταφέρει το block ενδιάµεσης µνήµης B στο δίσκο και αντικαθιστά εκεί το κατάλληλο φυσικό block. Κάθε δοσοληψία T i έχει τη δική της ιδιωτική περιοχή λειτουργίας, στην οποία φυλάσσονται τοπικά αντίγραφα από όλα τα αντικείµενα δεδοµένων που προσπελαύνονται και ενηµερώνονται από αυτήν. 37 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Προσπέλαση δεδοµένων (2) Η δοσοληψία µεταφέρει αντικείµενα µεταξύ των blocks ενδιάµεσης µνήµης του συστήµατος και της ιδιωτικής περιοχής λειτουργίας της µε χρήση των ακόλουθων λειτουργιών: read(x): αναθέτει την τιµή τουαντικειµένου δεδοµένων X στην τοπική µεταβλητή x. write(x): αναθέτει την τιµή τηςτοπικήςµεταβλητής x στο αντικείµενο X στο block ενδιάµεσης µνήµης. Οι δοσοληψίες εκτελούν την read(x) όταν προσπελαύνουν το X για πρώτη φορά. Όλες οι επακόλουθες προσπελάσεις γίνονται στο τοπικό αντίγραφο. Μετά την τελευταία προσπέλαση, η δοσοληψία εκτελεί την write(x). 38 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 19

20 Παράδειγµα προσπέλασης δεδοµένων Buffer Block A Buffer Block B read(x) buffer x input(a) Y output(b) write(y) A B x 1 y 1 x 2 δίσκος χώρος λειτουργίας της T 1 χώρος λειτουργίας της T 2 µνήµη 39 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαµψη και ατοµικότητα (1) Η τροποποίηση της βάσης χωρίς εγγύηση ότι η δοσοληψία θα επικυρωθεί µπορείνααφήσειτηβάσηδεδοµένων σε µια ασυνεπή κατάσταση. Θεωρήστε τη δοσοληψία T i που µεταφέρει 50 από το λογαριασµό A στο λογαριασµό B. Οστόχοςείναιείτεναπραγµατοποιηθούν όλες οι τροποποιήσεις στη βάση που γίνονται λόγω της T i ήκαµιά από αυτές. Μπορεί να απαιτούνται πολλαπλές λειτουργίες εξόδου για την T i (για την εξαγωγή των A και B). Αποτυχία µπορεί να συµβείαφούέχειγίνει τουλάχιστον µια από αυτές τις τροποποιήσεις, αλλά όµως πριν γίνουν όλες. 40 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 20

21 Ανάκαµψη και ατοµικότητα (2) Γιαναεγγυηθούµε για την ατοµικότητα παρά τις πιθανές αποτυχίες, εξάγουµε πρώτα πληροφορία που περιγράφει τις τροποποιήσεις στην ακλόνητη αποθήκευση χωρίς να τροποποιείται η ίδια η βάση. Μελετάµε την εξής προσέγγιση: Ανάκαµψη βασισµένη στο ηµερολόγιο του συστήµατος (Log) Υποθέτουµε ότι οι δοσοληψίες εκτελούνται σειριακά, δηλαδή η µια µετά την άλλη. 41 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαµψη βασισµένη στο ηµερολόγιο συστήµατος (1) Ένα ηµερολόγιο συστήµατος (log) φυλάσσεται στην ακλόνητη αποθήκευση. Το ηµερολόγιο συστήµατος είναι µια ακολουθία από εγγραφές ηµερολογίου και συντηρεί µια καταγραφή των ενηµερώσεων που έγιναν στη βάση. Όταν µια δοσοληψία T i ξεκινά, καταχωρεί τον εαυτό της στο ηµερολόγιο γράφοντας µια <T i start> εγγραφή ηµερολογίου. Πριν η T i εκτελέσει την λειτουργία write(x), προστίθεται µια εγγραφή στο ηµερολόγιο <T i, X, V 1, V 2 >, όπου V 1 είναι η προηγούµενη τιµή του X (πριν εκτελεστεί η write) και V 2 είναι η τιµή που πρόκειται να γραφεί στο X. 42 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 21

22 Ανάκαµψη βασισµένη στο ηµερολόγιο συστήµατος (2) Όταν η T i ολοκληρώσει και την τελευταία της εντολή, γράφεται στο ηµερολόγιο η εγγραφή <T i commit>. Υποθέτουµε (για την ώρα) ότιοιεγγραφέςηµερολογίου γράφονται απευθείας στην ακλόνητη αποθήκευση (δηλαδή δεν τοποθετούνται σε έναν buffer). υο προσεγγίσεις µε χρήση ηµερολογίου: Ετεροχρονισµένη τροποποίηση της βάσης. Άµεση τροποποίηση της βάσης. 43 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ετεροχρονισµένη τροποποίηση της Β (1) Το σχήµα ετεροχρονισµένης τροποποίησης µιας Β καταγράφει όλες τις τροποποιήσεις στο ηµερολόγιο, αλλά καθυστερεί όλες τις γραφές στηβάσηέωςότουηδοσοληψίαεπικυρωθείµερικώς. Υποθέτει ότι οι δοσοληψίες εκτελούνται σειριακά. Η δοσοληψία ξεκινά γράφοντας την εγγραφή <T i start> στο ηµερολόγιο. Μια λειτουργία write(x) προκαλεί την προσθήκη στο ηµερολόγιο µιας εγγραφής <T i, X, V>, όπου V είναι η νέα τιµή γιατοx. Σηµείωση: η παλιάτιµή δεχρειάζεταισ αυτό το σχήµα. ΗγραφήστοX δεγίνεταιαυτήτηστιγµή, αλλά αναβάλλεται. Όταν η T i επικυρώνεται µερικώς, η εγγραφή <T i commit> γράφεται στο ηµερολόγιο. Τέλος, οι εγγραφές του ηµερολογίου διαβάζονται και χρησιµοποιούνται για την πραγµατικήεκτέλεσητωνπροηγούµενων γραφών που έχουν αναβληθεί. 44 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 22

23 Ετεροχρονισµένη τροποποίηση της Β (2) Κατά τη διάρκεια της ανάκαµψης µετά από πτώση συστήµατος, µια δοσοληψία χρειάζεται να εκτελεστεί ξανά αν και µόνο αν και η <T i start> και η <T i commit> υπάρχουν στο ηµερολόγιο. Η εκ νέου εκτέλεση µιας δοσοληψίας T i (redo T i ) θέτει την τιµή όλωντων αντικειµένων δεδοµένων που ενηµερώνονται από τη δοσοληψία στις νέες τιµές. Αποτυχίες συστήµατος µπορούν να συµβούν ενώ: Η δοσοληψία εκτελεί τις αρχικές ενηµερώσεις, ή Εκτελείται η διαδικασία ανάκαµψης (λόγω προηγούµενης αποτυχίας συστήµατος). Παράδειγµα (η T 0 εκτελείται πριν T 1 ): T 0 : read (A) T 1 : read (C) A A - 50 C C- 100 write (A) write (C) read (B) B B + 50 write (B) 45 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ετεροχρονισµένη τροποποίηση της Β (3) το ηµερολόγιο συστή- µατος σε τρεις χρονικές στιγµές: Εάν η αποτυχία συµβεί στην περίπτωση: (a) δε χρειάζεται καµιά επανεκτέλεση και απλά διαγράφονται οι 3 εγγραφές. (b) η redo(t 0 ) πρέπει να εκτελεστεί αφού υπάρχει η <T 0 commit> (όχι όµως και η T 1, απλά διαγράφονται οι 2 τελευταίες εγγραφές). (c) τότε η redo(t 0 ) πρέπει να εκτελεστεί ακολουθούµενη από την redo(t 1 ) αφού υπάρχουν οι <T 0 commit> και <T 1 commit>. 46 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 23

24 Άµεση τροποποίηση της Β (1) Το σχήµα άµεσης τροποποίησης µιας Β επιτρέπει οι ενηµερώσεις από µια µη επικυρωµένη δοσοληψία να γίνονται αµέσως µόλις εκτελεστούν οι αντίστοιχες εντολές γραφής. Αφού µπορεί να χρειαστεί κάποια ακύρωση, τα ενηµερωµένα ηµερολόγια πρέπει να έχουν και την παλιά τιµή καιτηνέατιµή. Η ενηµέρωση της εγγραφής του ηµερολογίου πρέπει να γίνει πριν ενηµερωθεί το αντικείµενο της Β. Υποθέτουµε ότι η εγγραφή του ηµερολογίου εξάγεται αµέσως στην ακλόνητη αποθήκευση. Ηέξοδοςενηµερωµένων blocks στο δίσκο (εντολή output) µπορεί να γίνει οποιαδήποτε στιγµή (πριν/µετά την επικύρωση µιας δοσοληψίας. Ησειράµε την οποία εξάγονται τα blocks στο δίσκο (εντολή output) µπορεί να είναι διαφορετική από τη σειρά µε την οποία ενηµερώνονται στην ενδιάµεση µνήµη (εντολή write). 47 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Άµεση τροποποίηση της Β (2) Ηµερολόγιο Ενδιάµεση µνήµη ίσκος <T0 start> <T0, A, 1000, 950> To, B, 2000, 2050 write (A) // 950 write (B) // 2050 <T0 commit> <T1 start> <T1, C, 700, 600> write (C) // 600 output (BB) output (BC) <T1 commit> output (BA) Σηµείωση: το BX δηλώνει το block που περιέχει το X. 48 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 24

25 Άµεση τροποποίηση της Β (3) Η διαδικασία ανάκαµψης έχει δυο λειτουργίες: undo(t i ): επαναφέρει όλα τα αντικείµενα που ενηµερώθηκαν από την T i στις παλιές τους τιµές, πηγαίνοντας προς τα πίσω από την τελευταία προς την πρώτη εγγραφή του ηµερολογίου για την T i redo(ti): θέτει όλα τα αντικείµενα που ενηµερώθηκαν από την T i στις νέες τιµές, πηγαίνονταςπροςταεµπρός από την πρώτη προς την τελευταία εγγραφή του ηµερολογίου για την T i Κατά την ανάκαµψη µετά από αποτυχία: η δοσοληψία T i χρειάζεται να ακυρωθεί (εντολή undo), εάν το ηµερολόγιο περιέχει την εγγραφή <T i start>, αλλά δεν περιέχει την εγγραφή <T i commit>. η δοσοληψία T i χρειάζεται να επανεκτελεστεί (εντολή redo), εάν το ηµερολόγιο περιέχει και την εγγραφή <T i start> και την εγγραφή <T i commit>. Κατά τη διαδικασία ανάκαµψης, οι ακυρώσεις δοσοληψιών προηγούνται των επανεκτελέσεων 49 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Άµεση τροποποίηση της Β (4) το ηµερολόγιο συστήµατος σε τρεις χρονικές στιγµές: (a) undo (T 0 ): Το B επαναφέρεται στο 2000 και το A στο (b) undo (T 1 ) και redo (T 0 ): Το C επαναφέρεται στο 700 και µετά τα A και B τίθενται στο 950 και 2050, αντιστοίχως. (c) redo (T 0 ) και redo (T 1 ): Τα A και B τίθενται στο 950 και 2050, αντιστοίχως. Στη συνέχεια, το C γίνεται ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 25

26 Σηµεία ελέγχου (1) Η διαδικασία ανάκαµψης που συζητήσαµε προηγουµένως έχει τα εξής προβλήµατα: Ησάρωσηόλουτουηµερολογίου είναι χρονοβόρα. Μπορεί χωρίς λόγο να εκτελέσουµε εκ νέου δοσοληψίες οι οποίες ήδη έχουν εξάγει τα αποτελέσµατά τους στη βάση. Η διαδικασία ανάκαµψης µπορεί να απλοποιηθεί εκτελώντας περιοδικά ελέγχους σε προκαθορισµένα σηµεία ελέγχου (check points) Έξοδος όλων των εγγραφών του ηµερολογίου που βρίσκονται επί του παρόντος στην κύρια µνήµη στην ακλόνητη αποθήκευση. Έξοδος όλων των τροποποιηµένων blocks ενδιάµεσης µνήµης στα αντίστοιχα φυσικά blocks στο δίσκο. Γράψιµοστοηµερολόγιο, στην ακλόνητη αποθήκευση, µιας εγγραφής <checkpoint>. 51 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σηµεία ελέγχου (2) Κατά τη διάρκεια της ανάκαµψης πρέπει να θεωρήσουµε µόνο την πιο πρόσφατη δοσοληψία T i που ξεκίνησε πριν το σηµείο ελέγχου και τις δοσοληψίες που ξεκίνησαν µετά την T i. (κρατάµε την παραδοχή ότι οι δοσοληψίες εκτελούνται σειριακά) Εξετάζουµε προς τα πίσω από το τέλος του ηµερολογίου για να βρούµε την πιο πρόσφατη εγγραφή <checkpoint>. Συνεχίζουµε ψάχνοντας προς τα πίσω µέχρι να βρεθεί µια εγγραφή <T i start> Θεωρούµε µόνοτοτµήµα τουηµερολογίου που ακολουθεί την παραπάνω start εγγραφή. Το προηγούµενο τµήµα τουηµερολογίου µπορεί να αγνοηθεί (και µπορεί να διαγραφεί όποτε το επιθυµούµε). Για όλες τις δοσοληψίες (από την T i και έπειτα) χωρίς <T i commit>, εκτελούµε undo(t i ). (µόνο στην περίπτωση άµεσης τροποποίησης.) Εξετάζονταςπροςταεµπρός το ηµερολόγιο, για όλες τις δοσοληψίες (από την T i και έπειτα) µε <T i commit>, εκτελούµε redo(t i ). 52 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 26

27 Παράδειγµα σηµείων ελέγχου T c T f T 1 T 2 T 3 T4 Σηµείο ελέγχου Αποτυχία συστήµατος Η δοσοληψία T 1 µπορεί να αγνοηθεί (οι ενηµερώσεις έχουν ήδη εξαχθεί στο δίσκο εξαιτίας του σηµείου ελέγχου T c ). Οι δοσοληψίες T 2 και T 3 επανεκτελούνται (επειδή υπάρχει commit). Η δοσοληψία T 4 ακυρώνεται (επειδή δεν υπάρχει commit). 53 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαµψη µετά από απώλεια του µέσου αποθήκευσης (1) Μέχρι τώρα, υποθέταµε ότιτοµέσο µόνιµης αποθήκευσης (π.χ. δίσκος) στο οποίο βρίσκεται η βάση δεδοµένων δεν αποτυγχάνει Γιαναχειριστούµε αποτυχίες της µόνιµης αποθήκευσης χρησιµοποιούµε τεχνικές παρόµοιες µε τασηµεία ελέγχου Περιοδικά αποθηκεύουµε φυλάσσουµε (dump) ολόκληρο το περιεχόµενο της βάσης σε µέσο ακλόνητης αποθήκευσης Κατά τη διαδικασία αυτή, καµία δοσοληψία δεν είναι ενεργή (αντίστοιχα µε τη διαδικασία των σηµείων ελέγχου) Εξάγουµε στην ακλόνητη αποθήκευση όλες τις εγγραφές ηµερολογίου που βρίσκονται προσωρινά στην κύρια µνήµη. Εξάγουµε όλαταblocks ενδιάµεσης µνήµης στο δίσκο. Αντιγράφουµε τοπεριεχόµενο της βάσης στην ακλόνητη αποθήκευση. Γράφουµε µια εγγραφή <dump> στο ηµερολόγιο, στην ακλόνητη αποθήκευση. 54 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 27

28 Ανάκαµψη µετά από απώλεια του µέσου αποθήκευσης (2) (συν.) Για ανάκαµψη µετά από απώλεια του δίσκου κάνουµε ταεξής: Αποκαθιστούµε τη βάση από την ακλόνητη αποθήκευση στο δίσκο, σύµφωνα µε τοπιοπρόσφατοdump. Συµβουλευόµαστε το ηµερολόγιο και επανεκτελούµε όλες τις δοσοληψίες που έγιναν commit µετά το dump 55 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Εργασία Κατεβάστε από το site του µαθήµατος και διαβάστε το κλασικό άρθρο των Haerder & Reuter για το database recovery πρόβληµα (1983) Σε 1-2 σελίδες καταγράψτε τα εξής: ποια σηµεία σας έκαναν εντύπωση στο άρθρο; ποιεςτεχνικέςαπόαυτέςπουπαρουσιάσαµε στοµάθηµα, αναφέρονταν και στo άρθρο αυτό; Παράδοση: σε 2 εβδοµάδες από σήµερα 56 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 28

29 Τέλος ενότητας! 57 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 29

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

Διαχείριση Δοσοληψιών Διαχείριση Δοσοληψιών Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης Βασική πηγή διαφανειών: Silberschatz

Διαβάστε περισσότερα

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

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Βασικές έννοιες της δοσοληψίας Δοσοληψία είναι μία

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

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

Αποκατάσταση συστήματος Βάσεις Δεδομένων Αποκατάσταση συστήματος Βάσεις Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Κατηγοριοποίηση αποτυχιών Αποτυχία συναλλαγής (Transaction failure):

Διαβάστε περισσότερα

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

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Έλεγχος συγχρονικότητας Διάφορες

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόμου Επεξεργασία Δοσοληψιών (Transaction Processing) (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction) Ύλη Ύλη Έννοιες Επεξεργασίας οσοληψιών Τεχνικές Ελέγχου Συνδροµικότητας ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Τεχνικές Ανάκαµψεις από Σφάλµατα Κατανεµηµένες και Παράλληλες Βάσεις εδοµένων Βάσεις εδοµένων και ιαδίκτυο Βάσεις

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙI Β. Μεγαλοοικονόµου Έλεγχος συνδροµικότητας (παρουσίαση βασισµένη εν µέρη σε σηµειώσεις των Silberchatz, Korth και Sudarshan και του C. Faloutsos) Γενική Επισκόπηση

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4) ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ Κάποιες γενικές πληροφορίες συνοπτικά... Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων II 2004-2005 Ευαγγελία Πιτουρά 2 Σχετικά µε το µάθηµα: Ύλη Σχετικά µε το µάθηµα:

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 1: Επεξεργασία Δοσοληψιών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών Βάσεις Δεδομένων ΙΙ Διάλεξη 1 η Επεξεργασία Δοσοληψιών Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Ορισμός Προβλήματος Σύστημα Επεξεργασίας Δοσοληψιών Συστήματα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Αυγουστάκη Αργυρώ Συναλλαγές Κράτησε για τον κ. Χ την θέση 13Α για LA! Κράτησε για τον κ. Y την θέση 13Α για

Διαβάστε περισσότερα

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε: Μια βάση δεδοµένων είναι σε συνεπή κατάσταση (consistent state) εάν όλοι οι περιορισµοί ακεραιότητας που έχουν δηλωθεί για αυτήν πληρούνται. Οι αλλαγές στην κατάσταση

Διαβάστε περισσότερα

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

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων 1ο Σετ Ασκήσεων ΕΡΩΤΗΜΑ 1 Ατομικότητα : Η ατομικότητα πρακτικά εξασφαλίζει ότι είτε όλες οι πράξεις μιας δοσοληψίας θα εκτελεστούν ή καμμιά από αυτές δεν θα εκτελεστεί.

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Τζικούλης Βασίλειος Credits:Γιάννης Μακρυδάκης Συναλλαγές Η ταυτόχρονες συναλλαγές (δοσοληψίες, transactions) µε µια

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΑ και ΔΥΝΑΤΟΤΗΤΑ ΑΝΑΚΑΜΨΗΣ Όταν οι δοσοληψίες

Διαβάστε περισσότερα

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

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό) Επανάκτηση δεδομένων (εμπλουτισμένο υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2 Επανάκτηση ηδεδομένων

Διαβάστε περισσότερα

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε Επιθυµητές Ιδιότητες µιας οσοληψίας Τεχνικές Ανάκαµψης Ιδιότητες οσοληψιών Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση)

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

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

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 Table of contents 1 2 Table of contents 1 2 3 1 2 3 T read(a) A -= 30 write(a) read(b)

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ Σε αυτό το κεφάλαιο θα ασχοληθούµε µε βασικές έννοιες που αφορούν τη διαχείριση των συναλλαγών και ειδικότερα τον έλεγχο ταυτοχρονισµού. Ασχολούµαστε πρωταρχικά

Διαβάστε περισσότερα

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε Επιθυµητές Ιδιότητες µιας οσοληψίας Τεχνικές Ανάκαµψης Ιδιότητες οσοληψιών Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε καµία Consistency (συνέπεια) - διατήρηση συνέπειας της Β Isolation (αποµόνωση)

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες (Transactions) Μέχρι στιγμής θεωρούσαμε πως υπάρχει μόνο ένας DB χρήστης που εκτελεί μία

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν

Διαβάστε περισσότερα

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

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη; Θεµατολόγιο Κλειδώµατα 2 Phase Locking Πώς γίνεται στην πράξη; Αδιέξοδα 1 Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη; Η σειριοποιησιµότητα όψεων είναι πολύ ακριβή για να ελεγχθεί, ούτως ή άλλως... Οι

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες Βάσεις εδοµένων II 2003-2004 Ευαγγελία

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2005 Λύση ΑΣΚΗΣΗΣ #1 Τ. Σελλής

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών οσοληψίες Επεξεργασία οσοληψιών Ηταυτόχρονη εκτέλεση προγραµµάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός Σ Β Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σηµαντικό

Διαβάστε περισσότερα

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

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Nov.2009 Περιεχόμενα Η τυπική αρχιτεκτονική ενός Σχεσιακού ΣΔΒΔ

Διαβάστε περισσότερα

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

Τεχνικές Ανάνηψης Περιεχόµενα Τεχνικές Ανάνηψης Περιεχόµενα Εισαγωγή & υποθέσεις εργασίας Αλγόριθµος Write-Ahead Log (WAL) Ανάνηψη τη παρουσία WAL 2 Επίπεδα αποθήκευσης Κυρίως µνήµη RAM, cache Ταχύτητα στην προσπέλαση Τα δεδοµένα χάνονται

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών Βάσεις Δεδομένων ΙΙ Διάλεξη 3 η Tεχνικές Aνάκαμψης Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Επιθυμητές Ιδιότητες μιας Δοσοληψίας Ιδιότητες Δοσοληψιών Αtomicity

Διαβάστε περισσότερα

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

Σημεία ελέγχου (Checkpoints) Σημεία ελέγχου (Checkpoints) Από την στιγμή που γίνεται ένα σε ένα Undo Recovery θα μπορούσε κανείς να υποθέσει ότι τα πρακτικά της δοσοληψίας μέχρι το δεν είναι πλέον απαραίτητα για

Διαβάστε περισσότερα

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

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book Κεφάλαια 18.1 18.3

Διαβάστε περισσότερα

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

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Πρωτόκολλα βασισμένα σε γράφο

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών Ανακεφαλαίωση Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων προσπέλασης µίας βδ, στην περίπτωση: ταυτοχρονισµού αποτυχιών 1 2 Επανάληψη: οσοληψίες Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

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

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

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

Επαναφορά του Συστήματος (Μέρος Α') Επαναφορά του Συστήματος (Μέρος Α') Κεφάλαιο 18 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Επανάληψη: Οι ιδιότητες ACID A tomicity (Ατομικότητα):

Διαβάστε περισσότερα

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

Κεφάλαιο 13 Δοσοληψίες Κεφάλαιο 13 Δοσοληψίες Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις δοσοληψίες, την έννοια της σειριοποιησιμότητας και των διαφόρων επιπέδων απομόνωσης. Προαπαιτούμενη γνώση

Διαβάστε περισσότερα

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

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 2016-2017 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Group communication Multicast για FIFO διάταξη Multicast για ολική διάταξη Sequencer ISIS

Διαβάστε περισσότερα

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

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων Τεχνικές Ανάνηψης Διδάσκων: Νεκτάριος Κοζύρης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ε.Μ.Π. Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού Κεφάλαιο 17 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke Ελληνική Μετάφραση: Γεώργιος Ευαγγελίδης 1 Συγκρουσιακώς Σειριοποιήσιμα Χρονοπρογράμματα Δυο χρονοπρογράμματα

Διαβάστε περισσότερα

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

Transactions Management. (Διαχείριση Δοσοληψιών) Transactions Management (Διαχείριση Δοσοληψιών) Επισκόπηση διαλέξεων Αντιμετώπιση αστοχιών συστήματος (failure recovery) Χρήση ιστορικού/πρακτικού - Logging (Undo, Redo, Undo/Redo) Χρονοπρογράμματα Δοσοληψιών

Διαβάστε περισσότερα

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

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 2 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 2: Ελέγχου Συνδρομικότητας Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Δοσοληψίες Concurrent Data Access (Ταυτόχρονη Πρόσβαση σε Δεδομένα) Συνήθως πολλοί χρήστες έχουν ταυτόχρονη

Διαβάστε περισσότερα

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

Επεξεργασία οσοληψιών (συνέχεια) Επανάληψη: οσοληψίες Επεξεργασία οσοληψιών (συνέχεια) Πρόβληµα «Σωστή» εκτέλεση προγραµµάτων όταν επιτρέπουµε ταυτοχρονισµό και ακόµα και αν υπάρχουν αποτυχίες 1 2 οσοληψία (transaction) Επανάληψη: οσοληψίες

Διαβάστε περισσότερα

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

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε. ΠΡΟΛΟΓΟΣ Η εργασία αυτή, παρουσιάζει και αναλύει τις δυνατότητες µοντελοποίησης και προσοµοίωσης που είναι διαθέσιµες στο λογισµικό Extend και πιο συγκεκριµένα περιγράφει τη λειτουργία, µοντελοποίηση και

Διαβάστε περισσότερα

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

Επαναληπτικές ασκήσεις Επαναληπτικές ασκήσεις Ασκ 1: Θεωρείστε τα παρακάτω χρονοδιαγράμματα σύγχρονης εκτέλεσης : S 1 = r 1 (A); w 4 (B); w 1 (C); w 3 (D); r 2 (C); w 3 (A); w 1 (A); r 3 (B); w 3 (B); r 2 (D); w 2 (A) S 2 =

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

Διαβάστε περισσότερα

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

Έλεγχος Ταυτοχρονισμού Έλεγχος Ταυτοχρονισμού (εμπλουτισμένο λ έ υλικό) http://delab.csd.auth.gr/courses/c_dbimpl/ Ευχαριστίες Μέρος του υλικού είναι βασισμένο στο βιβλίο Database Systems: The Complete Book 2 Εισαγωγικά γ Ένα

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 3 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών ΗΥ 460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκων: Δημήτρης

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 1 Περιγραφή των Δεδομένων: Τα μοντέλα ενός ΣΔΒΔ Ένα μοντέλο δεδομένων είναι μια συλλογή από έννοιες που χρησιμοποιούνται για την περιγραφή δεδομένων

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 3 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Δεδομένων ΙΙ Ενότητα 3: Ανάνηψης Βάσεων Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2007 Λύση ΑΣΚΗΣΗΣ #2 Τ. Σελλής

Διαβάστε περισσότερα

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

Υ- 07 Παράλληλα Συστήματα Transac9onal memory Υ- 07 Παράλληλα Συστήματα Transac9onal memory Αρης Ευθυμίου Παρ. προγρ/μός με κλειδιά Χαμηλού επιπέδου πολύ κοντά στα μέσα και τις δομές του υλικού πολλές λεπτομέρειες, εύκολα γίνεται λάθος χαμηλή παραγωγικότητα

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

Διαβάστε περισσότερα

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7

Διαβάστε περισσότερα

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

PRINCIPLES OF TRANSACTION-ORIENTED DATABASE RECOVERY. Theo Haerder Andreas Reuter. Μαρία Κουτσουλιέρη PRINCIPLES OF TRANSACTION-ORIENTED DATABASE RECOVERY Theo Haerder Andreas Reuter Μαρία Κουτσουλιέρη Για να συλλάβουµε την ιδέα της ανάνηψης στις βάσεις δεδοµένων (database recovery) πρέπει να έχουµε υπ

Διαβάστε περισσότερα

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Επεξεργασία Ερωτήσεων Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL)

Διαβάστε περισσότερα

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη) Τεχνικές Αναπαράστασης αλγορίθµων Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή ) 1 Βασικές έννοιες Τυποποίηση αναπαράστασης αλγορίθµου - Ανάγκη ύπαρξης ενός κοινού τρόπου αναπαράστασης αλγορίθµων

Διαβάστε περισσότερα

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

Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Τεχνικές Ελέγχου Συνδροµικότητας Ο χρήστης δεν ασχολείται µε τη συνδροµικότητα Το Σ Β εξασφαλίζει «σωστή συνδροµικότητα», γενικά δροµολογεί τις πράξεις των δοσοληψιών ώστε

Διαβάστε περισσότερα

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1 Αµοιβαίοςαποκλεισµός Εισαγωγή Συγκεντρωτική προσέγγιση Κατανεµηµένη προσέγγιση Αλγόριθµος Lamport Αλγόριθµος Ricart-Agrawala Προσέγγιση µεταβίβασης σκυτάλης Αλγόριθµος LeLann Αλγόριθµος Raymond Αλγόριθµος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Προχωρημένα Θέματα Βάσεων Δεδομένων Προχωρημένα Θέματα Βάσεων Δεδομένων Δοσοληψίες & Ταυτοχρονισμός Διδάσκων: Νεκτάριος Κοζύρης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Ε.Μ.Π. Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

Διαβάστε περισσότερα

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης Αρης Ευθυμίου Λειτουργία μνήμης Η μνήμη είναι ένας πίνακας αποθήκευσης Οταν διαβάζουμε μια θέση, περιμένουμε να πάρουμε την τελευταία τιμή που έχει

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Εισαγωγή Μοντέλο συστήματος Χαρακτηρισμός και ορισμός κατάστασης αδιεξόδου Μέθοδοι χειρισμού αδιεξόδων Αποτροπή αδιεξόδου (Deadlock Prevention) Αποφυγή

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Εγχειρίδιο Χρήστη - Μαθητή

Εγχειρίδιο Χρήστη - Μαθητή Εγχειρίδιο Χρήστη - Μαθητή 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα

Διαβάστε περισσότερα

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

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας Βάσεις Δεδομένων ΙΙ Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας Δ. Χριστοδουλάκης - Α. Φωκά Τμήμα Μηχανικών Η/Υ & Πληροφορικής - Εαρινό Εξάμηνο 2007 Τεχνικές Ελέγχου Συνδρομικότητας Ο χρήστης δεν ασχολείται

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 2: Σύστημα Αρχείων Τα προγράμματα που εκτελούνται

Διαβάστε περισσότερα

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

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

Χρονοδιάγραμμα/Χρονοπρόγραμμα Χρονοδιάγραμμα/Χρονοπρόγραμμα Χρονοδιάγραμμα ή Χρονοπρόγραμμα (Schedule) είναι μια σειρά/ακολουθία ενεργειών που πραγματοποιούνται από μια ή περισσότερες δοσοληψίες. Σημαντικές ενέργειες: ανάγνωση, εγγραφή

Διαβάστε περισσότερα

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΑ 1-6 ΟΝΟΜΑ: ΗΜΕΡΟΜΗΝΙΑ: ΒΑΘΜΟΣ: ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό,

Διαβάστε περισσότερα

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

ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ (1) Μετατροπή ερωτήσεων που απευθύνονται σε καθολικές σχέσεις, σε ερωτήσεις που απευθύνονται σε συγκεκριµένα τµήµατα της κατανεµηµένης βάσης. (2) Μέθοδοι που βελτιστοποιούν

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων 1 ΗΥ360 Αρχεία και Βάσεις εδοµένων ιαχείριση Συναλλαγών II - Tree Protocols Αυγουστάκη Αργυρώ 2 Διαχείριση Συναλλαγών - Επανάληψη Συναλλαγή (Τ) είναι ένα σύνολο από ενέργειες σε κάποιο αντικείμενο της

Διαβάστε περισσότερα