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

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

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

Transcript

1 Διαχείριση Δοσοληψιών Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης Βασική πηγή διαφανειών: Silberschatz et al., Database System Concepts, 4/e Εργαστήριο Πληροφοριακών Συστηµάτων, Παν/µιο Πειραιώς ( έκδοση: Φεβ ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονική ενός ΣΔΒΔ DBMS DATA MANAGER. Output Generator Dictionary Manager DATABASE Application USER Query I/O Processor LOG Parser Precompiler Authorization Control Transaction Manager Optimizer Recovery Manager Generation of Executable Code Data Dictionary (Schemas) Integrity Checker Update Processor Query Processor 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.1

2 Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ορισμός της δοσοληψίας Μια δοσοληψία ή συναλλαγή (transaction) είναι ένα τμήμα της εκτέλεσης προγράμματος, που προσπελαύνει και πιθανόν ενημερώνει διάφορα αντικείμενα δεδομένων. Μια δοσοληψία πρέπει να βλέπει μια συνεπή ΒΔ και όταν επικυρωθεί η δοσοληψία, η ΒΔ πρέπει να είναι πάλι συνεπής. Προσοχή: κατάτηδιάρκειατηςδοσοληψίαςηβδεπιτρέπεταιναείναι ασυνεπής. Δυοβασικάθέματαπρέπεινααντιμετωπιστούν: Διαφόρων ειδών αποτυχίες, όπως αποτυχίες υλικού και πτώσεις συστήματος (crash) Η συνδρομική εκτέλεση πολλαπλών δοσοληψιών. 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.2

3 Ιδιότητες ACID Για να προστατέψουμε την ακεραιότητα των δεδομένων, το σύστημα της ΒΔ πρέπει να εγγυάται: Ατομικότητα (Atomicity). Είτε όλες οι πράξεις της δοσοληψίας ανακλώνται στη ΒΔ είτε καμία. Συνέπεια (Consistency). Η εκτέλεση της δοσοληψίας σε απομόνωση προστατεύει τη συνέπεια της ΒΔ. Απομόνωση (Isolation). Μολονότι πολλαπλές δοσοληψίες μπορεί να εκτελούνται συνδρομικά, κάθε δοσοληψία πρέπει να αγνοεί τις υπόλοιπες συνδρομικές δοσοληψίες. Τα ενδιάμεσα αποτελέσματα μιας δοσοληψίας πρέπει να «κρύβονται» από άλλες δοσοληψίες που εκτελούνται συνδρομικά. Ανθεκτικότητα (Durability). Αφού μια δοσοληψία ολοκληρωθεί επιτυχώς, οι όποιες τροποποιήσεις έχει επιφέρει στη ΒΔ παραμένουν, ακόμα και αν εκ των υστέρων προκύψουν αποτυχίες του συστήματος. 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγμα μεταφοράς κεφαλαίου (1) Δοσοληψία για τη μεταφορά 50 από το λογαριασμό A στο λογαριασμό B: Απαίτηση συνέπειας (consistency): το άθροισμα των A και B δεν αλλάζει με την εκτέλεση της δοσοληψίας. Απαίτηση ατομικότητας (atomicity): εάν η δοσοληψία αποτύχει μετά το βήμα 3 και πριν το βήμα 6, το σύστημα πρέπει να διαβεβαιώνει ότι οι αλλαγές που έγιναν δεν αντανακλώνται στη ΒΔ, αλλιώς θα οδηγηθούμε σε ασυνεπή ΒΔ. 1. read (A); 2. A := A 50; 3. write (A); 4. read (B); 5. B := B + 50; 6. write (B); Απαίτηση ανθεκτικότητας (durability): μόλιςοχρήστηςενημερωθείότιη δοσοληψία έχει ολοκληρωθεί (δηλ., έχει γίνει η μεταφορά των 50 ), οι αλλαγές στη ΒΔ πρέπει να παραμείνουν παρά τις οποιεσδήποτε αποτυχίες ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.3

4 Παράδειγμα μεταφοράς κεφαλαίου (2) (συν.) Απαίτηση απομόνωσης (isolation): εάν μεταξύ των βημάτων 3 και 6, επιτραπεί σε μια άλλη δοσοληψία να προσπελάσει τη μερικώς ενημερωμένη ΒΔ, εκείνη θα δει μια ασυνεπή ΒΔ (το άθροισμα A + B θα είναι μικρότερο από όσο θα έπρεπε να είναι). Μπορούμε να εγγυηθούμε την απομόνωση, αν εκτελέσουμε τις δοσοληψίες σειριακά, δηλαδή τη μια μετά την άλλη. Παρ όλα αυτά, η συνδρομική εκτέλεση πολλαπλών δοσοληψιών έχει σημαντικά πλεονεκτήματα, όπως θα δούμε. 1. read (A); 2. A := A 50; 3. write (A); 4. read (B); 5. B := B + 50; 6. write (B); 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Καταστάσεις μιας δοσοληψίας (1) Ενεργή (Active), η αρχική κατάσταση. Η δοσοληψία παραμένει σε αυτήν την κατάσταση όσο εκτελείται. Μερικώς επικυρωμένη (Partially committed), μετά την εκτέλεση και της τελευταίας εντολής. Αποτυχημένη (Failed), μετά τη διαπίστωσηότιδεμπορείνα προχωρήσει η κανονική εκτέλεση ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.4

5 Καταστάσεις μιας δοσοληψίας (2)... Ακυρωμένη (Aborted), αφού έχει υποχωρήσει η δοσοληψία (rollback) και η ΒΔ έχει επιστρέψει στην κατάσταση που ήταν πριν την έναρξη της δοσοληψίας. Υπάρχουν τώρα δυο δυνατότητες: Επανέναρξη της δοσοληψίας μόνο αν δεν υπάρχει κάποιο εσωτερικό λογικό λάθος «Θανάτωση» της δοσοληψίας. Επικυρωμένη (Committed), μετά την επιτυχή ολοκλήρωση. 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.5

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

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

8 Παράδειγμα χρονοπρογράμματος (3) S 3 Αντίθετα, το χρονοπρόγραμμα S 3 δεν είναι ισοδύναμο με το S 1 Αλλοιώνεται η τιμή του αθροίσματος A + B. 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σειριοποιησιμότητα Βασική παραδοχή: κάθε δοσοληψία (από μόνη της) διατηρεί τη συνέπεια της ΒΔ. Συνεπώς, η σειριακή εκτέλεση ενός συνόλου δοσοληψιών διατηρεί τη συνέπεια της ΒΔ. Ένα χρονοπρόγραμμα είναι σειριοποιήσιμο (serializable) εάν είναι ισοδύναμο με ένα σειριακό χρονοπρόγραμμα. Άρα, στόχος είναι να επιτευχθούν σειριοποιήσιμα χρονοπρογράμματα, ώστε να διατηρείται τη συνέπεια της ΒΔ. Πρόβλημα: να αποφανθούμε εάν ένα χρονοπρόγραμμα είναι σειριοποιήσιμο Στη συνέχεια θα μελετήσουμε ένα είδος ισοδυναμίας χρονοπρογραμμάτων, τη σειριοποιησιμότητα βάσει συγκρούσεων (conflict serializability) 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.8

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

10 Σειριοποιησιμότητα βάσει συγκρούσεων (3) Το (μη σειριακό) χρονοπρόγραμμα S 2 μπορεί να μετασχηματιστεί στο (σειριακό) S 1, με μια σειρά από αντιμεταθέσεις μη συγκρουόμενων εντολών. Επομένως, το S 2 είναι σειριοποιήσιμο βάσει συγκρούσεων. S 1 S 2 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Έλεγχος σειριοποιησιμότητας (1) Έστω χρονοπρόγραμμα S ενός συνόλου δοσοληψιών T 1, T 2,..., T n Γράφος προβαδίσματος (precedence graph) ένας κατευθυνόμενος γράφος όπου οι κορυφές είναι οι δοσοληψίες και οι ακμές φανερώνουν συγκρούσεις μεταξύ δοσοληψιών. Αλγόριθμος κατασκευής του γράφου προβαδίσματος: 1. Για κάθε δοσοληψία T i που συμμετέχει στο χρονοπρόγραμμα S, δημιούργησε έναν κόμβο T i στο γράφο προτεραιοτήτων. 2. Για κάθε περίπτωση στο S όπου η T j εκτελεί μια πράξη read(x) μετά από μια εντολή write(x) write(x) μετά από μια εντολή read(x) x write(x) μετά από μια εντολή write(x)... που εκτελείται από την T i δημιούργησε μια y ακμή (T i T j ) στο γράφο προτεραιοτήτων. 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.10

11 Έλεγχος σειριοποιησιμότητας (2) T 1 T 2 T 3 T 4 T 5 read(y) read(z) read(u) write(z) write(u) read(x) read(y) write(y) read(z) write(z) read(y) write(y) read(z) read(v) read(w) write(w) Γράφος προβαδίσματος για το χρονοπρόγραμμα S Z Z Z Y T 1 T 2 Y T 4 T 3 Z Y T 5 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Έλεγχος σειριοποιησιμότητας (3) Σειριοποιησιμότητα βάσει συγκρούσεων Ένα χρονοπρόγραμμα είναι σειριοποιήσιμο βάσει συγκρούσεων αν και μόνο αν ο αντίστοιχος γράφος προβαδίσματος είναι ακυκλικός. Στο διπλανό παράδειγμα, υπάρχει κύκλος: Y Τ 1 Τ 3 Τ 1 Οι συνήθεις αλγόριθμοι εντοπισμού κύκλων T 1 T 2 απαιτούν χρόνο Ο(n 2 ), όπου n είναι ο αριθμός των κορυφών του γράφου. Z Y Y Εάν ο γράφος προβαδίσματος είναι ακυκλικός, Z η σειρά σειριοποιησιμότητας μπορεί να βρεθεί Z με μια τοπολογική ταξινόμηση του γράφου. Στο διπλανό παράδειγμα (αν αφαιρέσουμε την ακμή Τ 3 Τ 1 που δημιουργεί τον κύκλο): T 3 Z T 4 T 5 T 1 T 2 T 4 T 3 T 5 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.11

12 Έλεγχος σειριοποιησιμότητας (4) Σχόλιο πάνω στη σειριοποιησιμότητα βάσει συγκρούσεων Για να γίνει ο παραπάνω έλεγχος σειριοποιησιμότητας πρέπει να γνωρίζουμε το χρονοπρόγραμμα (ποιες δοσοληψίες θα εμπλακούν σε συνδρομική εκτέλεση και πώς). Πρόβλημα: αυτόδενείναιεφικτόγιατίηδιαχείρισητηςβδγίνεται δυναμικά. Άρα δεν γνωρίζουμε το χρονοπρόγραμμα που θα προκύψει κάθε στιγμή Πρακτικά, στόχος δεν είναι ο έλεγχος της σειριοποιησιμότητας αλλά η αποφυγή της μη σειριοποιησιμότητας. Πώς το επιτυγχάνουμε αυτό; με χρήση κατάλληλων κλειδωμάτων. 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συνδρομικότητα βασισμένη σε κλειδιά (1) Κλείδωμα είναιέναςμηχανισμόςγιατονέλεγχοτηςσυνδρομικής προσπέλασης σε ένα αντικείμενο δεδομένων. Τα αντικείμενα μιας ΒΔ μπορούν να κλειδωθούν με δυο τρόπους: Αποκλειστικός exclusive (X) τρόπος. Το αντικείμενο μπορεί και να διαβαστεί και να γραφεί. Το κλειδί γραφής X lock ζητείται με χρήση της lock X αίτησης. Διαμοιραζόμενος shared (S) τρόπος. Το αντικείμενο μπορεί μόνο να διαβαστεί. Το κλειδί ανάγνωσης S lock ζητείται με χρήση της lock S αίτησης. Οι αιτήσεις κλειδώματος γίνονται από το διαχειριστή ελέγχου συνδρομικότητας. Μια δοσοληψία μπορεί να προχωρήσει μόνο αφού ικανοποιηθεί η αίτηση κλειδώματος που έχει κάνει. 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.12

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

14 Πρωτόκολλο κλειδώματος 2 φάσεων (1) Εγγυάται χρονοπρογράμματα σειριοποιήσιμα βάσει συγκρούσεων και αποτελείται από 2 φάσεις (2 phase locking 2PL) Φάση 1(εξάπλωσης) Η δοσοληψία μπορεί να δεσμεύει κλειδιά αλλά δεν μπορεί να ελευθερώσει κλειδιά. Φάση 2(συρρίκνωσης) Η δοσοληψία μπορεί να ελευθερώνει κλειδιά αλλά δεν μπορεί να δεσμεύσει κλειδιά. Το πρωτόκολλο 2PL εγγυάται σειριοποιησιμότητα. Μπορεί να αποδειχθεί ότι οι δοσοληψίες μπορούν να σειριοποιηθούν με τη σειρά των σημείων κλειδώματός τους lock points Σημείο κλειδώματος λέγεται το χρονικό σημείο στο οποίο η δοσοληψία απαίτησε το τελευταίο της κλειδί. 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πρωτόκολλο κλειδώματος 2 φάσεων (2) Το πρωτόκολλο 2PL δεν εγγυάται την αποτροπή αδιεξόδων. Είναιπιθανόναοδηγηθούμεσεδιαδοχικέςυποχωρήσεις(cascading rollback). Για την αποφυγή αυτού του ενδεχομένου, υπάρχουν δύο παραλλαγές του πρωτοκόλλου 2PL: «αυστηρό» πρωτόκολλο δυο φάσεων (strict 2PL): μια δοσοληψία πρέπει να διατηρήσει όλα τα κλειδιά X που έχει δεσμεύσει έως το τέλος της (που έρχεται με την επικύρωση ή ακύρωσή της). «άκαμπτο»(δηλ. «ακόμη πιο αυστηρό») πρωτόκολλο δυο φάσεων (rigorous 2PL): μια δοσοληψία πρέπει να διατηρήσει όλα τα κλειδιά (S ή X) που έχει δεσμεύσει έως το τέλος της. Σε αυτό το πρωτόκολλο οι δοσοληψίες μπορούν να σειριοποιηθούν με τη σειρά που επικυρώνονται. 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.14

15 Υλοποίηση των κλειδωμάτων (1) Ο Διαχειριστής κλειδωμάτων (lock administrator) αποτελεί μια ξεχωριστή διαδικασία στην οποία οι δοσοληψίες στέλνουν αιτήσεις κλειδώματος και ξεκλειδώματος. Ο διαχειριστής κλειδωμάτων απαντά σε μια αίτηση κλειδώματος στέλνοντας ένα μήνυμα παραχώρησης κλειδιού (ή ένα μήνυμα ζητώντας από τη δοσοληψία να κάνει rollback, στην περίπτωση αδιεξόδου). Η αιτούσα δοσοληψία περιμένει έως ότου απαντηθεί η αίτησή της. Ο διαχειριστής κλειδωμάτων συντηρεί μια δομή δεδομένων, που λέγεται πίνακας κλειδιών (lock table), για την καταγραφή των παραχωρημένων κλειδιών και των εκκρεμών αιτήσεων. Ο πίνακας κλειδωμάτων υλοποιείται συνήθως ως ένας πίνακας κατακερματισμού κύριας μνήμης με δεικτοδότηση στο όνομα του αντικειμένου δεδομένων που κλειδώνεται. 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Υλοποίηση των κλειδωμάτων (2) Πίνακας Κλειδωμάτων Τα μαύρα τετράγωνα δηλώνουν παραχωρημένα κλειδιά, τα άσπρα τετράγωνα δηλώνουν αιτήσεις που περιμένουν. Κάθε νέα αίτηση κλειδώματος προστίθεται στο τέλος της ουράς των αιτήσεων και το ζητούμενο κλειδί παραχωρείται αν είναι συμβατό με όλα τα προηγούμενα κλειδιά. Μια αίτηση ξεκλειδώματος επιδρά στην αντίστοιχη αίτηση κλειδώματος (διαγράφεται) και στις εκκρεμείς αιτήσεις (ελέγχεται το εάν μπορούν να ικανοποιηθούν). 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.15

16 Προβλήματα λόγω των κλειδωμάτων (1) Θεωρήστετοακόλουθο «παράθυρο» ενός χρονοπρογράμματος Ούτε η T 3 ούτε η T 4 μπορούν να προχωρήσουν ηεκτέλεσητουlock S(B) αναγκάζει την T 4 να περιμένει την T 3 να ελευθερώσει το κλειδί της στο B ηεκτέλεσητουlock X(A) αναγκάζει την T 3 να περιμένει την T 4 να ελευθερώσει το κλειδί της στο A. S 4 Μια τέτοια κατάσταση ονομάζεται αδιέξοδο (deadlock). Για την αντιμετώπιση του αδιεξόδου, μια από τις T 3 και T 4 πρέπει να υποχωρήσει (rollback), ώστε τα κλειδιά που κατέχει να ελευθερωθούν. 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Προβλήματα λόγω των κλειδωμάτων (2) Το ενδεχόμενο για αδιέξοδα δεν μπορεί να αποκλειστεί. Τα αδιέξοδα είναι ένα αναγκαίο κακό. Λιμοκτονία (starvation) μπορεί επίσης να προκύψει εάν ο διαχειριστής ελέγχου συνδρομικότητας είναι κακοσχεδιασμένος. Για παράδειγμα: Μια δοσοληψία μπορεί να περιμένει για ένα X lock σε ένα αντικείμενο, ενώ μια ακολουθία από άλλες δοσοληψίες αιτούν και αποκτούν ένα S lock στο ίδιο αντικείμενο. Η ίδια δοσοληψία ακυρώνεται (rollback) κατ επανάληψη εξαιτίας αδιεξόδων. Ο διαχειριστής ελέγχου συνδρομικότητας μπορεί να σχεδιαστεί έτσι ώστε να αποτρέπει τις καταστάσεις λιμοκτονίας. 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.16

17 Ορισμός της δοσοληψίας Συνδρομικές εκτελέσεις (concurrency) Έλεγχος σειριοποιησιμότητας Ανάκαμψη δοσοληψιών (recovery) Υλοποίηση της Απομόνωσης 33 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαμψη δοσοληψιών (1) Ανάγκη αντιμετώπισης της επίδρασης των αποτυχιών των δοσοληψιών στην περίπτωση συνδρομικών δοσοληψιών. Ανακάμψιμο χρονοπρόγραμμα εάν μια δοσοληψία T j διαβάζει ένα αντικείμενο που έχει προηγουμένως γραφτεί από μια δοσοληψία T i, η λειτουργία επικύρωσης (commit) της T i πρέπει να προηγείται της λειτουργίας επικύρωσης της T j. Το χρονοπρόγραμμα S 5 είναι μη ανακάμψιμο εάν η T 9 επικυρωθεί (commit) αμέσως μετά την εντολή read(a). S 5 Εάν στη συνέχεια ακυρωθεί η T 8, η T 9 θα έχει διαβάσει μια ασυνεπή κατάσταση της ΒΔ. Τα ΣΔΒΔ πρέπει να εξασφαλίζουν ότι τα χρονοπρογράμματα είναι ανακάμψιμα. 34 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.17

18 Ανάκαμψη δοσοληψιών (2) Διαδοχικές υποχωρήσεις (Cascading rollbacks) ηαποτυχίαμίας δοσοληψίας οδηγεί σε μια σειρά από υποχωρήσεις (rollbacks) και άλλων δοσοληψιών. Ας θεωρήσουμε το ακόλουθο χρονοπρόγραμμα όπου καμιά δοσοληψία δεν έχει ακόμα επικυρωθεί (συνεπώς το χρονοπρόγραμμα είναι ανακάμψιμο). Εάν η T 10 αποτύχει, τότε οι T 11 και T 12 πρέπει επίσης να κάνουν rollback. S 6 Τέτοιου είδους σενάρια μπορεί να οδηγήσουν στην ακύρωση αρκετής δουλειάς που έχει ήδη γίνει Ένα επιθυμητό χαρακτηριστικό είναι να έχουμε χρονοπρογράμματα χωρίς διαδοχικές υποχωρήσεις (Cascadeless) 35 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αλγόριθμοι ανάκαμψης Οι αλγόριθμοι ανάκαμψης (recovery) είναι τεχνικές που εγγυώνται τη συνέπεια της ΒΔ και την ατομικότητα και την ανθεκτικότητα μιας δοσοληψίας παρά τις οποιεσδήποτε αποτυχίες. Οι αλγόριθμοι ανάκαμψης έχουν δυο μέρη: Εργασίες που εκτελούνται κατά τη διάρκεια της εκτέλεσης των δοσοληψιών για να εγγυηθούν την ύπαρξη επαρκούς πληροφορίας για την ανάκαμψη από αποτυχίες. Εργασίες που εκτελούνται μετά από μια αποτυχία για την ανάκαμψη των περιεχομένων της ΒΔ σε μια κατάσταση που εγγυάται την ατομικότητα, συνέπεια και ανθεκτικότητα. 36 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.18

19 Δομή αποθήκευσης Προσωρινή (volatile) αποθήκευση: Δεν επιβιώνει μετά από πτώσεις συστήματος. Παραδείγματα: κύρια μνήμη, μνήμη cache. Μόνιμη (non volatile) αποθήκευση: Επιβιώνει μετά από πτώσεις συστήματος (αλλά όχι από άλλες αποτυχίες π.χ. δίσκου). Παραδείγματα: δίσκοι, ταινίες, μνήμη flash. Ακλόνητη (stable) αποθήκευση: Μια ιδανική μορφή αποθήκευσης που επιβιώνει μετά από όλες τις αποτυχίες. Προσεγγίζεται μέσω πολλαπλών αντιγράφων σε διακριτά μόνιμα μέσα. 37 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Προσπέλαση δεδομένων (1) Τα φυσικά blocks είναι εκείνα τα blocks που βρίσκονται στο δίσκο. Τα blocks ενδιάμεσης μνήμης (buffer blocks) είναι εκείνα τα blocks που βρίσκονται προσωρινά στην κύρια μνήμη. Οι μετακινήσεις των blocks μεταξύ της κυρίας μνήμης και του δίσκου ξεκινούν μέσω των ακόλουθων δυο λειτουργιών: input(b): μεταφέρει το φυσικό block B στην κύρια μνήμη. output(b): μεταφέρει το block ενδιάμεσης μνήμης B στο δίσκο και αντικαθιστά εκεί το κατάλληλο φυσικό block. Κάθε δοσοληψία T i έχει τη δική της ιδιωτική περιοχή λειτουργίας, στην οποίαφυλάσσονταιτοπικάαντίγραφααπόόλατααντικείμεναδεδομένων που προσπελαύνονται και ενημερώνονται από αυτήν. 38 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.19

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

21 Ανάκαμψη και ατομικότητα (1) Η τροποποίηση της ΒΔ χωρίς εγγύηση ότι η δοσοληψία θα επικυρωθεί μπορεί να αφήσει τη ΒΔ σε μια ασυνεπή κατάσταση. Παράδειγμα δοσοληψίας: μεταφορά 50 απότολογαριασμόa στο λογαριασμό B. Ο στόχος είναι είτε να πραγματοποιηθούν είτε όλες οι απαιτούμενες τροποποιήσεις στη ΒΔ ή καμιά από αυτές. Ασυνέπεια προκύπτει όταν έχει γίνει τουλάχιστον μια από αυτές τις τροποποιήσεις στη ΒΔ, αλλά όμως δεν έχουν γίνει όλες. 41 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαμψη και ατομικότητα (2) Για να εγγυηθούμε για την ατομικότητα παρά τις πιθανές αποτυχίες, εξάγουμεπρώταπληροφορίαπουπεριγράφει τις τροποποιήσεις στην ακλόνητη αποθήκευση χωρίς να τροποποιείται η ίδια η ΒΔ. Μελετάμε την εξής προσέγγιση: Ανάκαμψη βασισμένη στο ημερολόγιο του συστήματος (Log) Υποθέτουμε ότι οι δοσοληψίες εκτελούνται σειριακά, δηλαδή η μια μετά την άλλη. 42 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.21

22 Ανάκαμψη βασισμένη στο ημερολόγιο συστήματος (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. Όταν η T i ολοκληρώσει και την τελευταία της εντολή, γράφεται στο ημερολόγιο η εγγραφή <T i commit>. 43 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαμψη βασισμένη στο ημερολόγιο συστήματος (2) Υποθέτουμε (για την ώρα) ότι οι εγγραφές ημερολογίου γράφονται απευθείας στην ακλόνητη αποθήκευση (δηλαδή δεν τοποθετούνται σε έναν buffer). Δυο προσεγγίσεις με χρήση ημερολογίου: Ετεροχρονισμένη τροποποίηση της ΒΔ. Άμεση τροποποίηση της ΒΔ. 44 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.22

23 Ετεροχρονισμένη τροποποίηση της ΒΔ (1) Το σχήμα ετεροχρονισμένης τροποποίησηςμιαςβδκαταγράφειόλεςτις τροποποιήσεις στο ημερολόγιο, αλλά καθυστερεί όλες τις γραφές στη ΒΔ έως ότου η δοσοληψία επικυρωθεί μερικώς. Υποθέτει ότι οι δοσοληψίες εκτελούνται σειριακά. Η δοσοληψία ξεκινά γράφοντας την εγγραφή <T i start> στο ημερολόγιο. Μια λειτουργία write(x) προκαλεί την προσθήκη στο ημερολόγιο μιας εγγραφής <T i, X, V>, όπου V είναι η νέα τιμή για το X. Σημείωση: η παλιά τιμή δε χρειάζεται σ αυτό το σχήμα. ΗγραφήστοX δε γίνεται αυτή τη στιγμή, αλλά αναβάλλεται. Όταν η T i επικυρώνεται μερικώς, η εγγραφή <T i commit> γράφεται στο ημερολόγιο. Τέλος, οι εγγραφές του ημερολογίου διαβάζονται και χρησιμοποιούνται για την πραγματική εκτέλεση των προηγούμενων γραφών που έχουν αναβληθεί. 45 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ετεροχρονισμένη τροποποίηση της ΒΔ (2) Κατά τη διάρκεια της ανάκαμψης μετά από πτώση συστήματος, μια δοσοληψία χρειάζεται να εκτελεστεί ξανά αν και μόνο αν και η <T i start> και η <T i commit> υπάρχουν στο ημερολόγιο. Η εκ νέου εκτέλεση μιας δοσοληψίας T i (redo T i ) θέτει την τιμή όλων των αντικειμένων δεδομένων που ενημερώνονται από τη δοσοληψία στις νέες τιμές. Αποτυχίες συστήματος μπορούν να συμβούν ενώ: Η δοσοληψία εκτελεί τις αρχικές ενημερώσεις, ή Εκτελείται η διαδικασία ανάκαμψης (λόγω προηγούμενης αποτυχίας συστήματος). Παράδειγμα (η T 1 εκτελείται πριν την T 2 ): T 1 T 2 read(a) A := A 50 write(a) read(b) B := B + 50 write(b) read(c) C := C 100 write(c) 46 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.23

24 Ετεροχρονισμένη τροποποίηση της ΒΔ (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>. 47 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Άμεση τροποποίηση της ΒΔ (1) Το σχήμα άμεσης τροποποίησης μιας ΒΔ επιτρέπει οι ενημερώσεις από μια μη επικυρωμένη δοσοληψία να γίνονται αμέσως μόλις εκτελεστούν οι αντίστοιχες εντολές γραφής. Αφού μπορεί να χρειαστεί να γίνει κάποια ακύρωση, τα ενημερωμένα ημερολόγια πρέπει να έχουν τόσο την παλιά όσο και τη νέα τιμή. Η ενημέρωση της εγγραφής του ημερολογίου πρέπει να γίνει πριν ενημερωθεί το αντικείμενο της ΒΔ. Υποθέτουμε ότι η εγγραφή του ημερολογίου εξάγεται αμέσως στην ακλόνητη αποθήκευση. Η έξοδος των ενημερωμένων blocks στο δίσκο (εντολή output) μπορεί να γίνει οποιαδήποτε στιγμή (πριν/μετά την επικύρωση μιας δοσοληψίας). Ησειράμετηνοποίαεξάγονταιταblocks στο δίσκο (εντολή output) μπορεί να είναι διαφορετική από τη σειρά με την οποία ενημερώνονται στην ενδιάμεση μνήμη (εντολή write). 48 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.24

25 Άμεση τροποποίηση της ΒΔ (2) Ημερολόγιο Ενδιάμεση μνήμη Δίσκος <T 0 start> <T 0, A, 1000, 950> <T 0, B, 2000, 2050> <T 0 commit> <T 1 start> <T 1, C, 700, 600> <T 1 commit> write (A) // 950 write (B) // 2050 write (C) // 600 output (B B ) output (B C ) output (B A ) Σημείωση: το B X δηλώνει το block που περιέχει το X. 49 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Άμεση τροποποίηση της ΒΔ (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>. Κατά τη διαδικασία ανάκαμψης, οι ακυρώσεις δοσοληψιών προηγούνται των επανεκτελέσεων 50 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.25

26 Άμεση τροποποίηση της ΒΔ (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 γίνεται ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σημεία ελέγχου (1) Η διαδικασία ανάκαμψης που συζητήσαμε προηγουμένως έχει τα εξής προβλήματα: Η σάρωση όλου του ημερολογίου είναι χρονοβόρα. Μπορεί χωρίς λόγο να εκτελέσουμε εκ νέου δοσοληψίες οι οποίες ήδη έχουν εξάγει τα αποτελέσματά τους στη ΒΔ. Η διαδικασία ανάκαμψης μπορεί να απλοποιηθεί εκτελώντας περιοδικά ελέγχους σε προκαθορισμένα σημεία ελέγχου (check points) Έξοδος όλων των εγγραφών του ημερολογίου που βρίσκονται επί του παρόντος στην κύρια μνήμη στην ακλόνητη αποθήκευση. Έξοδος όλων των τροποποιημένων blocks ενδιάμεσης μνήμης στα αντίστοιχα φυσικά blocks στο δίσκο. Γράψιμο στο ημερολόγιο, στην ακλόνητη αποθήκευση, μιας εγγραφής <checkpoint>. 52 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.26

27 Σημεία ελέγχου (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 ). 53 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγμα σημείων ελέγχου T commit T failed T 1 T 2 T 3 T4 Σηµείο ελέγχου Αποτυχία συστήµατος ΗδοσοληψίαT 1 μπορεί να αγνοηθεί (οι ενημερώσεις έχουν ήδη εξαχθεί στο δίσκο εξαιτίας του σημείου ελέγχου T c ). Οι δοσοληψίες T 2 και T 3 επανεκτελούνται (επειδή υπάρχει commit). ΗδοσοληψίαT 4 ακυρώνεται (επειδή δεν υπάρχει commit). 54 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.27

28 Ανάκαμψη μετά από απώλεια του μέσου αποθήκευσης (1) Έως τώρα υποθέταμε ότι το μέσο μόνιμης αποθήκευσης (π.χ. δίσκος) στο οποίο βρίσκεται η ΒΔ δεν αποτυγχάνει. Όμωςμπορείνασυμβείκιαυτό!! Για να το αντιμετωπίσουμε, αποθηκεύουμε περιοδικά το περιεχόμενο της ΒΔ σε μέσο ακλόνητης αποθήκευσης (διαδικασία dump). Κατά τη διαδικασία αυτή, καμία δοσοληψία δεν είναι ενεργή Συγκεκριμένα: ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάκαμψη μετά από απώλεια του μέσου αποθήκευσης (2) Διαδικασία dump: Εξάγουμε στην ακλόνητη αποθήκευση όλες τις εγγραφές ημερολογίου που βρίσκονται προσωρινά στην κύρια μνήμη. Εξάγουμε όλα τα blocks ενδιάμεσης μνήμης στο δίσκο. Αντιγράφουμε το περιεχόμενο της ΒΔ στην ακλόνητη αποθήκευση. Γράφουμε μια εγγραφή <dump> στο ημερολόγιο, στην ακλόνητη αποθήκευση. Για ανάκαμψη μετά από απώλεια του δίσκου κάνουμε τα εξής: Αποκαθιστούμε τη ΒΔ από την ακλόνητη αποθήκευση στο δίσκο (με βάση το τελευταίο dump) Επανεκτελούμε όλες τις δοσοληψίες που έγιναν commit μετά την εγγραφή <dump> (με βάση το ημερολόγιο) 56 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 7.28

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

Σηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά. http://isl.cs.unipi. Σηµειώσεις Βάσεων εδοµένων ιαχείριση οσοληψιών Γιάννης Θεοδωρίδης Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά http://isl.cs.unipi.gr/db/ version: 2006-11-28 Περιεχόµενα Ορισµός της δοσοληψίας Καταστάσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δοσοληψίες. Κατανεμημένα Συστήματα Δοσοληψίες Κατανεμημένα Συστήματα 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 (Ατομικότητα):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επαναληπτικές ασκήσεις Επαναληπτικές ασκήσεις Ασκ 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 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 15: Caching Δίσκου, Αστοχίες, Συστήματα Αρχείων με Ημερολόγιο Η Χρήση Cache Τα γνωστά Αν το παρελθόν είναι παρόμοιο με το μέλλον μπορούμε να χρησιμοποιήσουμε cache

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

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

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

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

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

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

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

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

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

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

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

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

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

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

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

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

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2018-2019 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Ιδιότητες ACID Και κυρίως atomicity και durability

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

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

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

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

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

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

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

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

Κατανεμημένες δοσοληψίες Κατανεμημένες δοσοληψίες Κατανεμημένα Συστήματα 2015-2016 http://www.cslab.ece.ntua.gr/courses/distrib Στο προηγούμενο μάθημα Απλές δοσοληψίες (transactions) Flat Nested Ιδιότητες ACID Και κυρίως atomicity

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

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

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

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

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

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

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

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

Πλειάδες φαντάσματα (phantoms) Πλειάδες φαντάσματα (phantoms) Τα phantoms είναι πλειάδες που θα έπρεπε να έχουν φραγή αλλά δεν έχουν, γιατί δεν υπήρχαν όταν αποκτήθηκε το lock Παράδειγμα: σχέση R (E#, name, ) constraint: E# is key χρήση

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

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

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

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

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation) Το Πρόβλημα του Αδιεξόδου Ένα σύνολο από διεργασίες σε αναμονή, όπου η κάθε μια κατέχει έναν αριθμό από πόρους και περιμένει να αποκτήσει και έναν

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

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

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

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

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

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

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

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2007-2008 14.02.2008 EΠΙΣΤΡΕΦΕΤΑΙ ΔΙΔΑΣΚΩΝ Ιωάννης Βασιλείου, Καθηγητής,

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