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

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

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

Transcript

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

2 Επισκόπηση διαλέξεων Αντιμετώπιση αστοχιών συστήματος (failure recovery) Χρήση ιστορικού/πρακτικού - Logging (Undo, Redo, Undo/Redo) Χρονοπρογράμματα Δοσοληψιών (Transaction Scheduling) και Σειριοποιησιμότητα (Serializability) Έλεγχος Συγχρονικότητας (Concurrency Control) και Τεχνικές Κλειδώματος (Lock-based Protocols) 2

3 Το πρόβλημα Έλεγχος προσπέλασης δεδομένων ενός ΣΔΒΔ (DBMS) κύρια ζητήματα: Προφύλαξη από ενδεχόμενες αποτυχίες/αστοχίες/λάθη του συστήματος Διατήρηση αναλλοίωτων δεδομένων κατά την ταυτόχρονη εκτέλεση ερωτημάτων ή τροποποιήσεων της ΒΔ και τον διαμοιρασμό των δεδομένων 3

4 Το πρόβλημα: Είδη αποτυχιών/σφαλμάτων Σφάλματα στην καταχώρηση δεδομένων περιορισμοί (constraints) και πυροδότες (triggers) Αστοχίες του μόνιμου αποθηκευτικού μέσου δίσκος μη-αναγνώσιμος: χρήση RAID, αντίγραφα ασφαλείας (backup full/incremental, replication) etc Καταστροφικές αστοχίες εξωτερικού περιβάλλοντος π.χ. φωτιά, έκρηξη κλπ Αστοχίες συστήματος προγραμματιστικά (κακό πρόγραμμα με λάθη) αστοχία δοσοληψίας (απώλεια κατάστασης μιας δοσοληψίας, ακύρωση από τον χρήστη, αδιέξοδο κλπ) του ίδιου του συστήματος (π.χ. αδιέξοδα λειτουργικού, διακοπή ρεύματος, CPU halts/resets, system crash) 4

5 Το πρόβλημα: Είδη αποτυχιών/σφαλμάτων Events Desired Undesired Expected Unexpected Ιεραρχία αποθήκευσης Προσωρινή Μνήμη (RAM, cache, καταχωρητές) a b Read(A,a) A Μόνιμο Αποθηκευτικό Μέσο (Disk) buffer Write(B,b) B buffer Οι διακεκομμένες αναπαριστούν λειτουργίες που μπορεί να καθυστερήσουν, να αγνοηθούν ή να μην γίνουν ποτέ 5

6 Το πρόβλημα: Διαπλοκή Δοσοληψιών Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ Επειδή οι προσπελάσεις στο δίσκο είναι συχνές και σχετικά αργές, είναι σημαντικό να κρατείται η CPU απασχολημένη με πολλά προγράμματα χρηστών Πολυχρηστικά (multi-user) ΣΔΒΔ Η «διαπλοκή» γίνεται από το ΣΔΒΔ και πρέπει να είναι «αδιαφανής» στο χρήστη. Ο χρήστης πρέπει να πιστεύει ότι είναι ο μόνος που χρησιμοποιεί το σύστημα. Τα πράγματα γίνονται πιο δύσκολα όταν υπάρχουν αποτυχίες Α Β Α Β Διαπλεγμένο μοντέλο ταυτόχρονης εκτέλεσης (χρονοπρόγραμμα) 6

7 Δοσοληψίες (Transactions)

8 Συνέπεια ΒΔ (DB Consistency) Θέλουμε τα δεδομένα μας να είναι πάντα «ακριβή» (accurate) και «σωστά» (correct). Μια ΒΔ διέπεται από κανόνες ακεραιότητας (integrity constraints) πρωτεύοντος κλειδιού, περιορισμούς τιμών, Επιπλέον, υπάρχουν και λογικοί περιορισμοί, τους οποίους «κρύβουμε» στις εφαρμογές. Πριν και μετά την εκτέλεση της δοσοληψίας (αλλά όχι απαραίτητα ενδιαμέσως), όλοι οι περιορισμοί αυτοί πρέπει να πληρούνται. 8

9 Προβληματισμός Παραδοχή (αρχή της ορθότητας): Μια δοσοληψία πρέπει να αφήνει τη ΒΔ σε μια συνεπή κατάσταση αν η ΒΔ ήταν σε συνεπή κατάσταση όταν άρχισε η δοσοληψία. Δύο είναι τα βασικά προβλήματα με τις δοσοληψίες: Τι θα γίνει αν κατά τη διάρκεια της εκτέλεσης, υπάρχει κάποια αποτυχία ή πέσει το σύστημα; Τι θα γίνει αν δύο δοσοληψίες επιχειρούν να μεταβάλλουν το ίδιο αντικείμενο ταυτόχρονα; 9

10 Η έννοια της δοσοληψίας Δοσοληψία (transaction) είναι μια σειρά από ενέργειες, οι οποίες προσπελαύνουν ή τροποποιούν (διαβάζουν ή γράφουν) το περιεχόμενο (αντικείμενα) της ΒΔ, και τελειώνει με μια πράξη επικύρωσης ή με μια πράξη ακύρωσης. Μια δοσοληψία μπορεί να επικυρωθεί (commit) αφού ολοκληρώσει όλες τις πράξεις της να ακυρωθεί (abort) αφού έχει εκτελέσει κάποιες από τις πράξεις της 10

11 Καταστάσεις μιας Δοσοληψίας R / W COMMIT Running (active) END FAILED - ABORT ABORT BEGIN π.χ. R(X) T1: BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y) END W(X) T2: BEGIN R(X) X=X+M, W(X) END END COMMIT (επικύρωση) - επιτυχία - όλες οι τροποποιήσεις επικυρώνονται και δεν μπορούν να αναιρεθούν ABORT (ακύρωση ή ανάκληση) - αποτυχία όλες οι τροποποιήσεις πρέπει να αναιρεθούν 11

12 Επιθυμητές ιδιότητες μιας Δοσοληψίας Ατομικότητα (Atomicity): είτε όλες οι πράξεις της δοσοληψίας επιτυγχάνουν, είτε όλες αποτυγχάνουν. Συνέπεια (Consistency): στο τέλος της δοσοληψίας, η ΒΔ πρέπει να διατηρείται σε συνεπή μορφή. Απομόνωση (Isolation): ακόμα κι αν τρέχουν πολλές δοσοληψίες ταυτόχρονα, κάθε δοσοληψία πρέπει να νομίζει ότι τρέχει μόνη της και δεν αποκαλύπτονται τα ενδιάμεσα αποτελέσματα. Μονιμότητα ή Διάρκεια (Durability): μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν, ακόμα και σε περίπτωση αποτυχίας του συστήματος. Διεθνώς γνωστό ως ACID test 12

13 Πράξεις δοσοληψιών - Συμβολισμός Input(X): Αντιγραφή block που περιέχει X από το δίσκο μνήμη (buffer) Read(X,t): Κάνε Input(X) αν χρειάζεται, τιμή του X στο block t Write(X,t): Κάνε Input(X) αν χρειάζεται, t τιμή του X στο block Output(X): Αντιγραφή block που περιέχει X δίσκο Δες επόμενο παράδειγμα: ημιτελής δοσοληψίες δημιουργούν προβλήματα συνέπειας στην ΒΔ. 13

14 Παράδειγμα δοσοληψίας T1: Read (A,t); t t*2 Write (A,t); Read (B,t); t t*2 Write (B,t); Output (A); Output (B); A: B: A: 5 B: memory disk 14

15 Ημιτελής δοσοληψία T1: Read (A,t); t t*2 Write (A,t); Read (B,t); t t*2 Write (B,t); Output (A); Output (B); failure! Χρειαζόμαστε Ατομικότητα: να εκτελεστούν όλες οι ενέργειες της δοσοληψίας ή καμία A: 5 B: A: 5 B: 5 10 Ασυνεπής κατάσταση στην ΒΔ memory disk 15

16 Τεχνικές Ανάκαμψης από σφάλματα (Failure Recovery)

17 Ιστορικό/Πρακτικό/Ημερολόγιο (Log) Στόχος της ανάκαμψης: επαναφορά στην πιο πρόσφατη συνεπή κατάσταση ακριβώς πριν τη στιγμή της αποτυχίας. Το ΣΔΒΔ καταγράφει (logs) όλες τις ενέργειες που πραγματοποιούνται από τις δοσοληψίες και κάθε άλλο σημαντικό συμβάν. Το πρακτικό (log) είναι ένα αρχείο καταγραφής που αποτελείται από έγγραφες/δελτία πρακτικών (log records) και επιτρέπεται μόνο προσθήκη (append). Το ίδιο το log δημιουργείται στην κύρια μνήμη και αντιγράφεται στο δίσκο με μια κατάλληλη πράξη flashlog, μόλις αυτό καταστεί εφικτό. 17

18 Έννοια της ανάκαμψης (recovery) Ιδιότητες Δοσοληψιών Ατομικότητα (Αtomicity) - είτε όλες οι πράξεις είτε καμία Οι δοσοληψίες μπορεί να αναιρεθούν ( rollback ). Μονιμότητα ή Διάρκεια (Durability ) - μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Τι θα συμβεί αν το ΣΔΒΔ καταρρεύσει? Επανάληψη 18

19 Έννοια της ανάκαμψης (recovery) Επιθυμητή συμπεριφορά μετά από μια αποτυχία: T1, T2 & T3 πρέπει να έχουν Διάρκεια (redoεπανάληψη) T4 & T5 πρέπει να αναιρεθούν (undo-αναίρεση) T1 T2 T3 T4 T5 αποτυχία 19

20 Log records Μορφές και συμβολισμοί: <START T> : η δοσοληψία T έχει ξεκινήσει <COMMIT T> : η T έχει ολοκληρωθεί επιτυχώς. Οι αλλαγές που έκανε η T πρέπει να εμφανίζονται στο δίσκο <ABORT T> : η T δεν ολοκληρώθηκε επιτυχώς. Οι αλλαγές που έκανε η T δεν πρέπει να εμφανίζονται στο δίσκο Για την τεχνική ανάκαμψης με πρακτικά αναίρεσης (undo log) χρειαζόμαστε: εγγραφές ενημέρωσης (update records) <T, X, v> : η T τροποποίησε το στοιχείο X, του οποίου η παλιά τιμή ήταν v (η εγγραφή αυτή καταγράφεται σε απόκριση μιας ενέργειας Write, και όχι μιας ενέργειας Output) 20

21 T1: Read (A,t); t t*2 Write (A,t); Read (B,t); t t*2 Write (B,t); Output (A); Output (B); A: 5 B: Undo Logging A:5 B:5 <START T1> <T1, A, 5> 10 <T1, B, 5> <COMMIT T1> 10 memory disk log Μια πιθανή «επιπλοκή»: - Το log δημιουργείται πρώτα στην κύρια μνήμη - Δεν γράφεται στον δίσκο σε κάθε ενέργεια 21

22 Κανόνες Undo Logging Οι δοσοληψίες πρέπει να υπακούν στους παρακάτω κανόνες για να είναι δυνατή η αποκατάσταση μετά από αστοχία: 1. Αν η T αλλάζει το στοιχείο X, τότε το log record <T, X, v> πρέπει να γραφεί στο log πριν η νέα τιμή του X γραφτεί στο δίσκο (Write Ahead Log - WAL) 2. Αν η T οριστικοποιηθεί (commits), τότε το <COMMIT T> γράφεται στο δίσκο μόνο μετά την εγγραφή στο δίσκο όλων των στοιχείων της ΒΔ που τροποποιήθηκαν από την Τ, αλλά όσο το δυνατόν συντομότερα. Αυτοί οι κανόνες επιβάλλουν την ακόλουθη σειρά εγγραφής στο δίσκο: a) Τα log records που δείχνουν τα μεταβληθέντα στοιχεία της ΒΔ b) Τα ίδια τα μεταβληθέντα στοιχεία της ΒΔ c) Το COMMIT log record Για να εξαναγκάσουμε τα log records στο δίσκο, ο log manager πρέπει να στείλει μια εντολή FLUSH LOG 22

23 Επαναφορά με Undo Logging Σε περίπτωση αστοχίας, ο διαχειριστής αποκατάστασης (Recovery Manager) πρέπει να επαναφέρει την ΒΔ σε συνεπή κατάσταση χρησιμοποιώντας το log. Θεωρούμε έναν απλό recovery manager ο οποίος: εξετάζει ολόκληρο το log και βασιζόμενος σε αυτή την εξέταση κάνει τις απαραίτητες αλλαγές στην ΒΔ Ο recovery manager πρέπει να χωρίσει τις δοσοληψίες σε οριστικοποιημένες και μη-οριστικοποιημένες Αν βρεθεί ένα <COMMIT T>, τότε, βάσει του κανόνα 2, όλες οι αλλαγές που έγιναν από την T έχουν ήδη εγγραφεί στο δίσκο. Συνεπώς η T άφησε την ΒΔ σε συνεπή κατάσταση Αν όμως βρεθεί <START T> αλλά όχι <COMMIT T>, η T θεωρείτε ανολοκλήρωτη (incomplete) και πρέπει να αναιρεθεί (be undone) 23

24 Επαναφορά με Undo Logging Αναίρεση σημαίνει ότι τα στοιχεία πρέπει να επανέλθουν στην προηγούμενή τους τιμή. Ο κανόνας 1 διασφαλίζει ότι αν το X είχε αλλάξει πριν την αποτυχία, τότε θα υπάρχει ένα <T, X, v> στο log, και αυτό θα έχει γραφτεί στο δίσκο πριν την αποτυχία. Για την επαναφορά, η τιμή v πρέπει να γραφτεί στο X Πολλές μη-οριστικοποιημένες δοσοληψίες μπορεί να έχουν τροποποιήσει το Χ. Για αυτό πρέπει να επαναφέρουμε τις τιμές με συστηματικό τρόπο (πρέπει να σεβαστούμε την σειρά/διάταξη) Το log πρέπει να σαρωθεί ανάποδα: από το νεότερο στο παλαιότερο Πρέπει να κρατηθεί μια λίστα από δοσοληψίες για τις οποίες έχει βρεθεί <COMMIT Τ> ή <ABORT Τ>. 24

25 Επαναφορά με Undo Logging Αν βρεθεί <T, X, v> : Αν έχει βρεθεί <COMMIT T> τότε δεν κάνουμε τίποτα. Οι αλλαγές δεν χρειάζεται να αναιρεθούν. Αν η T είναι ανολοκλήρωτη, η τιμή του X πρέπει να αλλάξει σε v Αφού πραγματοποιηθούν οι απαραίτητες αλλαγές, ένα <ABORT T> πρέπει να γραφεί για κάθε ανολοκλήρωτη δοσοληψία και το log να γίνει flushed Η προσέγγιση αυτή είναι απλή αλλά όχι αποδοτική: ολόκληρο το ιστορικό πρέπει να εξεταστεί κάθε φορά που έχουμε κάποια αποτυχία μια βελτιωμένη προσέγγιση βασίζεται σε σημεία ελέγχου (checkpoints) στο log ώστε να περιοριστεί η έκταση του log που πρέπει να εξεταστεί (θα το δούμε στην συνέχεια) 25

26 Undo Logging: Recovery rules For every Ti with <START Ti> in log: If <COMMIT Ti> or <ABORT Ti> do nothing in log Else For all <Ti, X, v> in log: Write (X, v) Output (X ) Write <ABORT Ti> to log Είναι σωστό αυτό? 26

27 Undo Logging: Recovery rules 1) Let S = set of transactions with <START Ti> in the log, but no <COMMIT Ti> or <ABORT Ti> record in the log 2) For each <Ti, X, v> in the log, in reverse order (latest earliest) do: if Ti S then Write (X, v) Output (X) 3) For each Ti S do: Write <ABORT Ti> to log 27

28 Παράδειγμα 28

29 Επιπλοκές με Undo Logging Τα logging actions δεν συμβαίνουν σε απομόνωση. Αφού πολλές δοσοληψίες μπορεί να εκτελούνται ταυτόχρονα, μπορεί να υπάρξει διαπλοκή των log records με παρόμοιες ενέργειες από άλλες δοσοληψίες Με το flushing του log ίσως ενδεχομένως να εμφανιστούν στο δίσκο log records πολύ πριν από ότι πρέπει. Δεν υπάρχει πρόβλημα εφόσον το <COMMIT T> γραφτεί μόνο μετά από την ολοκλήρωση των Output ενεργειών της T Αν τα στοιχεία A και B μοιράζονται ένα block, γράφοντας το ένα συνεπάγεται και η εγγραφή του άλλου (το οποίο παραβιάζει τον κανόνα 1) Πρέπει να επιβάλουμε επιπλέον περιορισμούς ή έναν Έλεγχο Συνδρομικότητας (concurrency protocol) περισσότερα για τον Έλεγχο Συνδρομικότητας θα δούμε αργότερα 29

30 Σημεία ελέγχου (Checkpoints) Από την στιγμή που γίνεται ένα <COMMIT > σε ένα Undo Recovery θα μπορούσε κανείς να υποθέσει ότι τα πρακτικά της δοσοληψίας μέχρι το <COMMIT > δεν είναι πλέον απαραίτητα για την αποκατάσταση όμως κάποιες φορές αυτό δεν είναι δυνατό γιατί συχνά εκτελούνται πολλές δοσοληψίες ταυτόχρονα και μπορεί να χαθούν και πρακτικά από δοσοληψίες που δεν έχουν ολοκληρωθεί ακόμα Για να το αποφύγουμε αυτό, δημιουργούμε περιοδικά σημεία ελέγχου (check points) ως εξής: 1. Σταματάμε να αποδεχόμαστε νέες δοσοληψίες 2. Περιμένουμε μέχρι οι ενεργές δοσοληψίες να ολοκληρωθούν ή να ματαιωθούν και να γραφτεί το <COMMIT > ή <ABORT > στο log 3. Κάνουμε flush το log στο δίσκο 4. Γράφουμε ένα log record <CKPT> και ξανακάνουμε flush το log 5. Ξαναρχίζουμε να δεχόμαστε δοσοληψίες 30

31 Σημεία ελέγχου (Checkpoints) Δεν χρειάζεται να αναιρέσουμε τις αλλαγές των δοσοληψιών πριν το σημείο ελέγχου γιατί σύμφωνα με τον κανόνα 2, οι μεταβολές θα έχουν φτάσει στο δίσκο Κατά την αποκατάσταση, σαρώνουμε το log προς τα πίσω για να βρούμε ανολοκλήρωτες δοσοληψίες όταν βρεθεί ένα <CKPT> τότε όλες οι ανολοκλήρωτες δοσοληψίες βρέθηκαν Δεν χρειάζεται να σαρώσουμε πριν το <CKPT> αφού καμία δοσοληψία δεν μπορεί να ξεκινήσει μέχρι να ολοκληρωθεί το checkpoint Το log πριν το <CKPT> μπορεί με ασφάλεια να διαγραφεί ή να υπερεγγραφεί (overwrite) 31

32 Παράδειγμα: Σημεία ελέγχου (Checkpoints) <START T 1 > <T 1, A, 5> <START T 2 > < T 2, B, 10> Αν βάλουμε ένα checkpoint εδώ, πρέπει να περιμένουμε να ολοκληρωθούν οι T 1 και T 2 πριν γράψουμε το <CKPT> στο log file <COMMIT T 1 > <COMMIT T 2 > <CKPT> <START T 3 > 32

33 Μη-αδρανή σημεία ελέγχου (Non-quiecent) Για να μην διακοπεί η λειτουργία του συστήματος, συνήθως προτιμάται αυτή η τεχνική που επιτρέπει την εισαγωγή νέων δοσοληψιών κατά την διάρκεια δημιουργίας ενός checkpoint Βήματα: 1. Γράφουμε στο log record <START CKPT(T 1,T 2, T k )> για όλες τις ενεργές μη οριστικοποιημένες δοσοληψίες T 1, T 2,, T k και κάνουμε flush log. 2. Περιμένουμε μέχρι να οριστικοποιηθούν ή να ματαιωθούν όλες οι T 1, T 2,, T k αλλά δεν απαγορεύουμε την εκκίνηση άλλων δοσοληψιών. 3. Όταν ολοκληρωθούν οι T 1, T 2,, T k γράφουμε στο log record <END CKPT> και κάνουμε flush log. 33

34 Αποκατάσταση με Μη-αδρανή σημεία ελέγχου Όταν χρειαστεί recovery, σαρώνουμε το log file backwards: 1. Αν συναντήσουμε πρώτα ένα <END CKPT>, τότε όλες οι ανολοκλήρωτες δοσοληψίες ξεκίνησαν μετά το προηγούμενο <START CKPT (T 1,, T k )>. Άρα σάρωσε προς τα πίσω μέχρι το <START CKPT>. Ότι παλαιότερο υπάρχει μπορεί να διαγραφεί. 2. Αν συναντήσουμε πρώτα ένα <START CKPT (T 1,, T k )>, τότε το crash έγινε κατά την διάρκεια του checkpoint. Οι μόνες οι ανολοκλήρωτες δοσοληψίες είναι αυτές που βρήκαμε όσο σαρώναμε προς τα πίσω μέχρι <START CKPT (T 1,, T k )> και όσες από τις T 1, T 2,.. T k δεν ολοκληρώθηκαν πριν το crash. Δεν χρειάζεται να σαρώσουμε προς τα πίσω πέρα από την έναρξης της παλαιότερης από αυτές τις δοσοληψίες 34

35 Αποκατάσταση με Μη-αδρανή σημεία ελέγχου Παράδειγμα 1: <START T 1 > <T 1, A, 5> <START T 2 > <T 2, B, 10> Βάζουμε ένα non-quiescent checkpoint εδώ <START CKPT(T 1,T 2 )>. Η T 3 αρχίζει ενώ περιμένουμε να ολοκληρωθούν οι T 1 και T 2 <START CKPT(T 1,T 2 )> <T 2, C, 15> <START T 3 > <T 1, D, 20> <COMMIT T 1 > <T 3, E, 25> <COMMIT T 2 > <END CKPT> <T 3, F, 30> failure 35

36 Αποκατάσταση με Μη-αδρανή σημεία ελέγχου Παράδειγμα 1 (συνέχεια): Η T 3 είναι ανολοκλήρωτη και πρέπει να αναιρεθεί και πρέπει να γίνει επαναφορά της τιμής του F σε 30 Όταν συναντήσουμε το <END CKPT> ξέρουμε ότι όλες οι ανολοκλήρωτες δοσοληψίες άρχισαν με το προηγούμενο <START CKPT> Συνεχίζοντας την σάρωση προς τα πίσω βρίσκουμε ότι η τιμή του Ε πρέπει να αποκατασταθεί σε 25 Δεν υπάρχουν άλλες δοσοληψίες που ξεκίνησαν χωρίς να οριστικοποιηθούν. Δεν χρειάζεται να ψάξουμε άλλο πριν το <START CKPT> 36

37 Αποκατάσταση με Μη-αδρανή σημεία ελέγχου Παράδειγμα 2: Κατάρρευση του συστήματος κατά την διάρκεια του checkpoint <START T 1 > <T 1, A, 5> <START T 2 > <T 2, B, 10> <START CKPT(T 1,T 2 )> <T 2, C, 15> <START T 3 > <T 1, D, 20> <COMMIT T 1 > <T 3, E, 25> failure Επαναφορά: Οι T 3 και T 2 είναι οι μόνες ανολοκλήρωτες δοσοληψίες και οι αλλαγές που έκαναν πρέπει να αναιρεθούν. Όταν βρούμε το <START CKPT(T 1,T 2 )> οι πιθανές ανολοκλήρωτες δοσοληψίες είναι οι T 1, T 2 Επειδή όμως έχει βρεθεί <COMMIT T 1 >, το μόνο που χρειάζεται είναι να πάμε μέχρι το <START T 2 > και να αποκαταστήσουμε την τιμή του Β σε

38 Redo Logging Πρόβλημα εξοικονόμησης Ι/Ο: με το undo logging δεν μπορούμε να οριστικοποιήσουμε μια δοσοληψία αν δεν γράψουμε πρώτα στον δίσκο όλα τα δεδομένα που μετέβαλε. Διαφορές κατά το recovery: Undo Logging ακυρώνει τις ανολοκλήρωτες δοσοληψίες και αγνοεί τις μεταβολές που έκαναν οι οριστικοποιημένες απαιτεί εγγραφεί των μεταβολών στο δίσκο πριν εμφανιστεί το <COMMIT> στο δίσκο για την αποκατάσταση χρειαζόμαστε τις παλιές τιμές των μεταβληθέντων στοιχείων Redo Logging αγνοεί τις ανολοκλήρωτες δοσοληψίες και επαναλαμβάνει τις μεταβολές που έκαναν οι οριστικοποιημένες απαιτεί εγγραφεί των μεταβολών στο δίσκο μετά την εμφάνιση του <COMMIT> στο δίσκο για την αποκατάσταση χρειαζόμαστε τις νέες τιμές των μεταβληθέντων στοιχείων 38

39 Κανόνες Redo Logging <T, X, v> σημαίνει: Η δοσοληψία T έγγραψε στο Χ την νέα τιμή v Κάθε φορά που υπάρχει τροποποίηση ενός στοιχείου Χ της ΒΔ, πρέπει να γράφεται στο log ένα δελτίο της μορφής <T, X, v> Υπάρχει μόνο ένας κανόνας στο Redo Logging για την σειρά που φτάνουν τα δεδομένα και τα log records στο δίσκο (write-ahead log rule): Πριν τροποποιήσουμε οποιοδήποτε στοιχείο Χ της ΒΔ στο δίσκο, πρέπει να γράφονται όλα τα σχετικά log records στο δίσκο (δηλαδή και τα <T, X, v> και το <COMMIT T>) Η σειρά εγγραφής στο δίσκο είναι: 1. Log records για μεταβληθέντα στοιχεία της ΒΔ 2. COMMIT log record 3. Τα ίδια τα μεταβληθέντα στοιχεία της ΒΔ 39

40 T1: Read (A,t); t t*2 Write (A,t); Read (B,t); t t*2 Write (B,t); Output (A); Output (B); A: 5 B: Redo Logging A:5 B:5 <START T1> <T1, A, 10> 10 <T1, B, 10> <COMMIT T1> 10 memory disk log Παρατήρηση: Στα log records <T1, A, 10> και <T1, B, 10> φαίνονται οι νέες τιμές του Α και Β, όχι οι παλιές. 40

41 Recovery με Redo Logging Κατά την αποκατάσταση αντιμετωπίζουμε τις ανολοκλήρωτες δοσοληψίες σαν να μην εκτελέστηκαν ποτέ αν δεν υπάρχει το <COMMIT T> δεν έχουν γίνει αλλαγές στην ΔΒ Πρόβλημα: Τι γίνεται με τις ολοκληρωμένες δοσοληψίες? δεν γνωρίζουμε ποιες από τις μεταβολές έχουν πραγματικά γραφτεί στο δίσκο αλλά αυτό δεν μας ενοχλεί: έχουμε όλες τις πληροφορίες που χρειαζόμαστε (νέες τιμές) ώστε να τις ξαναγράψουμε στο δίσκο, ακόμα και ήδη βρίσκονται εκεί. Σε περίπτωση αστοχίας κάνουμε τα ακόλουθα: 1. Εντοπίζουμε τις οριστικοποιημένες δοσοληψίες 2. Ξεκινάμε από την αρχή του log και σαρώνουμε τα πρακτικά προς τα εμπρός. Για κάθε <T, X, v> : a. Αν η Τ δεν είναι οριστικοποιημένη, δεν κάνουμε τίποτα b. Αν η Τ είναι οριστικοποιημένη, τότε γράφουμε την τιμή v στο X 3. Για κάθε ανολοκλήρωτη δοσοληψία T, γράφουμε <ABORT T> στο log και κάνουμε flush log ώστε να σταλεί το log στο δίσκο. 41

42 Recovery με Redo Logging Παράδειγμα: Α=5, Β=5 Log (on disk) failure failure failure Read (A, t); t t*2 Write (A, t); Read (B, t); t t*2 Write (B, t); FLUSH LOG; Output (A); Output (B); <START T> <T, A, 10> <T, B, 10> <COMMIT T> To <COMMIT T> είναι ήδη στο δίσκο και η Τ έχει ολοκληρωθεί. Οι τιμές για τα A και B θα γραφτούν στο δίσκο κατά το recovery (ακόμα και αν δεν χρειάζεται) 42

43 Recovery με Redo Logging Παράδειγμα: Α=5, Β=5 Log (on disk) Read (A, t); t t*2 Write (A, t); Read (B, t); t t*2 Write (B, t); FLUSH LOG; Output (A); Output (B); <START T> failure 1 <T, A, 10> failure 1 <T, B, 10> failure 1 failure 2 failure 1 : To <COMMIT T> δεν είναι στο δίσκο και η Τ είναι ανολοκλήρωτη. Δεν θα γραφτούν τιμές για τα A και B στο δίσκο κατά το recovery. Θα γραφτεί στο log το <ABORT T>. failure 2 :Το <COMMIT T> έχει γραφτεί στο log (μνήμη) αλλά δεν έχει φτάσει με βεβαιότητα στο δίσκο. 43

44 Checkpoints με Redo Logging Πρόβλημα: Οι μεταβολές μιας οριστικοποιημένης δοσοληψίας μπορεί να γραφτούν στο δίσκο πολύ αργότερα από την στιγμή της οριστικοποίησης. Έτσι, δεν μπορούμε να περιορίσουμε το ενδιαφέρον μας μόνο στις δοσοληψίες που είναι ενεργές την στιγμή του σημείου ελέγχου. Επομένως, είτε για αδρανές είτε για μη-αδρανές checkpoints, πρέπει να εγγράφουμε στο δίσκο τις τροποποιήσεις που έγιναν σε στοιχεία της ΒΔ από οριστικοποιημένες δοσοληψίες. Πρέπει να γνωρίζουμε ποιοι buffers είναι dirty, δηλαδή το περιεχόμενο ενός στοιχείου έχει μεταβληθεί αλλά η μεταβολή δεν έχει εγγραφεί ακόμα στο δίσκο. Πρέπει επίσης να γνωρίζουμε ποιες δοσοληψίες έχουν τροποποιήσει το κάθε buffer. 44

45 Checkpoints με Redo Logging Όμως, μπορούμε να ολοκληρώσουμε το σημείο ελέγχου χωρίς να περιμένουμε το commit ή abort των ενεργών δοσοληψιών, αφού έτσι κι αλλιώς δεν τους επιτρέπεται να εγγράψουν εκείνη την στιγμή τις αλλαγές τους στο δίσκο. Βήματα για μη-αδρανή checkpoints με redo logging: 1. Γράψε ένα log record <START CKPT(T 1,T 2,,T k )> για κάθε ενεργή (μη οριστικοποιημένη) δοσοληψία T 1, T 2,, T k και κάνε flush log 2. Γράψε στο δίσκο όλα τα στοιχεία που ήταν γραμμένα σε buffers (αλλά όχι ακόμα στο δίσκο) από οριστικοποιημένες δοσοληψίες όταν γράφτηκε το <START CKPT(T 1,T 2,,T k )> στο log 3. Γράψε <END CKPT> στο log και κάνε flush log 45

46 Μη-αδρανή checkpoints με redo logging Παράδειγμα : <START T 1 > <T 1, A, 5> <START T 2 > <COMMIT T 1 > <T 2, B, 10> <START CKPT(T 2 )> <T 2, C, 15> <START T 3 > <T 3, D, 20> <END CKPT> <COMMIT T 2 > <COMMIT T 3 > Η T 2 είναι η μόνη ενεργή δοσοληψία. Όμως, η τιμή του Α της T 1 ενδέχεται να μην έχει φτάσει στο δίσκο. Για να μπορέσει να ολοκληρωθεί το checkpoint πρέπει να γραφτεί το Α στο δίσκο. 46

47 Επαναφορά με Checkpointed Redo Log Όταν σαρώνουμε το log file, η αναζήτηση μας περιορίζεται στο τμήμα μεταξύ του τέλους και της αρχής του checkpoint. Υπάρχουν δύο περιπτώσεις: 1. Αν στο log βρούμε <END CKPT> πριν το failure, γνωρίζουμε ότι όλες οι τιμές που τροποποιήθηκαν από κάθε οριστικοποιημένη δοσοληψία πριν το αντίστοιχο <START CKPT(T 1,T 2,, T k )> είναι στο δίσκο και δεν ασχολούμαστε με αυτές. Ωστόσο, οι μεταβολές που μπορεί να έχει κάνει κάποια από τις T 1,T 2,,T k ή από αυτές που άρχισαν μετά το <START CKPT> ενδέχεται να μην έχουν γραφτεί ακόμα στο δίσκο. Στην περίπτωση αυτή συνεχίζουμε την αποκατάσταση όπως πριν. Δεν χρειάζεται να κοιτάξουμε πιο πίσω από το προγενέστερο εκ των <START T i > 47

48 Επαναφορά με Checkpointed Redo Log 2. Αν στο log βρούμε <START CKPT(T 1,T 2,, T K )> πριν το failure, τότε δεν μπορούμε να γνωρίζουμε με βεβαιότητα αν οι μεταβολές στις τιμές που πραγματοποίησαν οριστικοποιημένες δοσοληψίες πριν την έναρξη του checkpoint έχουν εγγραφεί στο δίσκο. Πρέπει να ψάξουμε προς τα πίσω μέχρι το προηγούμενο <END CKPT>, μετά να βρούμε το αντίστοιχο <START CKPT(T 1,T 2,, T k )> και να κάνουμε redo της αλλαγές όπως στην περίπτωση 1 προηγουμένων.

49 Επαναφορά με Checkpointed Redo Log Παράδειγμα recovery: failure 3 failure 2 failure 1 <START T 1 > <T 1, A, 5> <START T 2 > <COMMIT T 1 > <T 2, B, 10> <START CKPT(T 2 )> <T 2, C, 15> <START T 3 > <T 3, D, 20> <END CKPT> <COMMIT T 2 > <COMMIT T 3 > failure 1 : Ψάχνουμε προς τα πίσω και βρίσκουμε το <END CKPT>. Υποψήφιες δοσοληψίες: T 3 και T 2. Υπάρχουν τα COMMIT τους οπότε πρέπει να γίνουν και οι δύο redo. Δηλαδή επανεγγράφουμε τις τιμές 10,15,20 για τα B,C,D αντίστοιχα. failure 2 : Ψάχνουμε προς τα πίσω και βρίσκουμε το <END CKPT>. Υποψήφιες δοσοληψίες: T 3 και T 2. Υπάρχει μόνο τo COMMIT της T 2 οπότε πρέπει να γίνει redo η T 2 (αγνοούμε την T 3 ). Δηλαδή επανεγγράφουμε τις τιμές 10,15 για τα B,C αντίστοιχα. Γράφουμε <ABORT T 3 >. failure 3 : Ψάχνουμε προς τα πίσω μέχρι το προτελευταίο <START CKPT> για να πάρουμε κατάλογο ενεργών δοσοληψιών. Επειδή δεν υπάρχει, φτάνουμε μέχρι την αρχή του log. Υπάρχει μόνο τo COMMIT μόνο της T 1 οπότε είναι και η μόνη που πρέπει να γίνει redo (αγνοούμε τις T 2 και T 3 ). Δηλαδή επανεγγράφουμε την τιμή 5 στο Α. Γράφουμε <ABORT T 2 > και <ABORT T 3 >. 49

50 Σύγκριση Undo Logging με Redo Logging Undo logging: απαιτεί τα δεδομένα να εγγραφούν στο δίσκο μόλις τελειώσει μια δοσοληψία, πιθανώς προκαλώντας αύξηση του αριθμού απαιτούμενων ενεργειών Ι/Ο στο δίσκο. Redo logging: απαιτεί να διατηρούνται τα τροποποιημένα blocks στους buffers μέχρι την οριστικοποίηση της δοσοληψίας και την αποστολή του log στο δίσκο. Πιθανώς προκαλεί αύξηση του απαιτούμενου μέσου αριθμού από buffers που χρειάζονται από τις δοσοληψίες. Και οι δύο μέθοδοι μπορεί να επιβάλλουν αντιφατικές απαιτήσεις στον τρόπο χειρισμού ενός checkpoint. Νέα μέθοδος: Undo/Redo logging. Είναι πιο ευέλικτη αλλά έχει επιπλέον κόστος τηρούμε περισσότερες πληροφορίες στο log. 50

51 Undo/Redo Logging Ένα log στην Undo/Redo διαφέρει μόνο στο record ενημέρωσης: <T, X, v, w> το οποίο σημαίνει ότι η δοσοληψία T άλλαξε την τιμή του στοιχείου Χ της ΒΔ από v σε w. Κανόνας: πριν τροποποιηθεί οποιοδήποτε στοιχείο Χ της ΒΔ στο δίσκο, το record ενημέρωσης <T, X, v, w> πρέπει να εμφανιστεί στο δίσκο το <COMMIT T> μπορεί να είναι πριν ή μετά από κάθε αλλαγή των στοιχείων της ΒΔ στο δίσκο Κατά την διάρκεια του recovery, επιτρέπει είτε την επαναφορά είτε την επανάληψη. Πολιτική αποκατάστασης (recovery policy): Επανέφερε (Redo) όλες τις οριστικοποιημένες δοσοληψίες (earliest first) Αναίρεσε (Undo) τις μη-οριστικοποιημένες δοσοληψίες (latest first) Και τα δύο είναι απαραίτητα για να αποφύγουμε ημιτελή recovery 51

52 T1: Read (A,t); t t*2 Write (A,t); Read (B,t); t t*2 Write (B,t); Output (A); Output (B); A: 5 B: Undo/Redo Logging A:5 B:5 <START T1> <T1, A, 5, 10> 10 <T1, B, 5, 10> <COMMIT T1> 10 Παρατηρήσεις: Στα log records <T1, A, 5, 10> και <T1, B, 5, 10> φαίνονται και οι παλιές και οι νέες τιμές του Α και Β. Το <COMMIT T1> μπορεί να γίνει και ενδιάμεσα της εγγραφής των Α και Β στο δίσκο. memory disk log 52

53 Recovery με Undo/Redo Logging Παράδειγμα: Α=5, Β=5 Log (on disk) failure 1 Read (A, t); t t*2 Write (A, t); Read (B, t); t t*2 Write (B, t); FLUSH LOG; Output (A); Output (B); failure 1 <START T> <T, A, 5, 10> <T, B, 5, 10> <COMMIT T> failure 1 : Αν η αποτυχία γίνει μετά που έχει γραφτεί το <COMMIT T> στο δίσκο, τότε η Τ θεωρείται ολοκληρωμένη και γίνεται redo, δηλαδή θα γραφτεί η τιμή 10 και για το A και για το B στο δίσκο κατά το recovery. 53

54 Recovery με Undo/Redo Logging Παράδειγμα: Α=5, Β=5 Log (on disk) failure 2 failure 2 failure 2 failure 2 failure 2 Read (A, t); t t*2 Write (A, t); Read (B, t); t t*2 Write (B, t); FLUSH LOG; Output (A); Output (B); failure 2 failure 2 failure 2 <START T> <T, A, 5, 10> <T, B, 5, 10> failure 2 : Αν η αποτυχία γίνει πριν γραφτεί το <COMMIT T> στο δίσκο, τότε η Τ θεωρείται ανολοκλήρωτη και γίνεται undo, δηλαδή θα γραφτεί η τιμή 5 και για το A και για το B στο δίσκο κατά το recovery. 54

55 Recovery με Undo/Redo Logging Ένας επιπλέον κανόνας μπορεί να χρησιμοποιηθεί για να αποφύγουμε περιπτώσεις όπου ο χρήστης θεωρεί ότι μια δοσοληψία ολοκληρώθηκε (π.χ. κράτηση εισιτηρίου) αλλά το COMMIT δεν έχει σταλεί ακόμα στο δίσκο μια πιθανή κατάρρευση θα είχε αποτέλεσμα να γίνει undo και όχι redo! Νέος επιπλέον κανόνας: ένα <COMMIT T> πρέπει να στέλνεται στο δίσκο με το που θα εμφανιστεί στο log πρακτικά πρέπει να προσθέσουμε ένα FLASH LOG 55

56 Checkpoints με Undo/Redo Logging Μη-αδρανή (non-quiescent) checkpoints (απλούστερα): 1. Γράψε <START CKPT(T 1,T 2,,T k )> στο log για όλες τις ενεργές δοσοληψίες T 1,T 2,,T k και κάνε flush το log 2. Γράφουμε στο δίσκο όλους τους dirty buffers (όσους περιέχουν στοιχεία της ΒΔ που έχουν μεταβληθεί όχι μόνο από οριστικοποιημένες δοσοληψίες όπως στο Redo Logging) 3. Γράψε <END CKPT> και κάνε flush το log στο δίσκο. Το βήμα 2, λόγω της ευελιξίας του Undo/Redo, επιβάλει την εγγραφή στοιχείων στο δίσκο που προέρχονται από ανολοκλήρωτες δοσοληψίες. Υπάρχει όμως η εξής απαίτηση: Μια δοσοληψία δεν πρέπει να εγγράψει καμία τιμή (ούτε καν στο buffer μνήμης) μέχρι να είναι σίγουρο ότι δεν θα ματαιωθεί (abort). 56

57 Παράδειγμα recovery: failure 2 failure 1 Επαναφορά με Checkpointed Undo/Redo Logging <START T 1 > <T 1, A, 4, 5> <START T 2 > <COMMIT T 1 > <T 2, B, 9, 10> <START CKPT(T 2 )> <T 2, C, 14, 15> <START T 3 > <T 3, D, 19, 20> <END CKPT> <COMMIT T 2 > <COMMIT T 3 > Στο ξεκίνημα του checkpoint, η τιμή του Β θα σταλεί στο δίσκο. Η τιμή του Α από την ολοκληρωμένη T 1 θα σταλεί επίσης στο δίσκο, αν δεν βρίσκεται ήδη εκεί. failure 1 : Ψάχνουμε προς τα πίσω και βρίσκουμε το <END CKPT>. Οι T 3 και T 2 είναι οριστικοποιημένες οπότε πρέπει να γίνουν και οι δύο redo. Δηλαδή επανεγγράφουμε τις τιμές 15,20 για τα C,D αντίστοιχα. Την T 1 την αγνοούμε γιατί έχει ήδη εγγραφεί στο δίσκο. Δεν χρειάζεται να κοιτάζουμε πριν από το <START CKPT> failure 2 : Βλέπουμε ότι η T 2 είναι οριστικοποιημένη ενώ η T 3 είναι ανολοκλήρωτη. Επαναλαμβάνουμε (redo) την T 2 θέτοντας την τιμή του C ίση με 15 (δεν χρειάζεται να γράψουμε την τιμή του Β ίση με 10). Αναιρούμε (undo) την T 3 ) και θέτουμε την τιμή του D ίση με 19. Δεν χρειάζεται να κοιτάζουμε πριν από το <START CKPT> 57

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Φροντιστήριο 9: Transactions - part 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Tutorial on Undo, Redo and Undo/Redo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

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

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

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

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

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

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

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

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

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

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

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

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) πρέπει να έχουµε υπ

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

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

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

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

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

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

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

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

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

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης Αρης Ευθυμίου Το σημερινό μάθημα Execu9on scheduling wake- up and select specula9ve wake- up Εκτέλεση εντολών

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

Μέσα Αποθήκευσης. Ιεραρχία μνήμης Μαγνητικοί δίσκοι Συστοιχίες δίσκων RAID Οπτικοί δίσκοι Μαγνητικές ταινίες Άλλα μέσα αποθήκευσης

Μέσα Αποθήκευσης. Ιεραρχία μνήμης Μαγνητικοί δίσκοι Συστοιχίες δίσκων RAID Οπτικοί δίσκοι Μαγνητικές ταινίες Άλλα μέσα αποθήκευσης 2 Μέσα Αποθήκευσης Ιεραρχία μνήμης Μαγνητικοί δίσκοι Συστοιχίες δίσκων RAID Οπτικοί δίσκοι Μαγνητικές ταινίες Άλλα μέσα αποθήκευσης 11 Φυσική Οργάνωση Βάσεων Δεδομένων Τύποι Εγγραφών Τύποι Σελίδων Ομαδοποίηση

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Εισαγωγή στις Βάσεις Δεδομένων Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan) Εισαγωγή Γιατί

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 9: Πολιτικές Αντικατάστασης Σελίδων - Λυγισμός (Thrashing) Η Απόλυτη LRU 2 Σε κάθε αναφορά στη μνήμη «Χρονοσφράγισε» το πλαίσιο Την ώρα της έξωσης: Ψάξε για την παλαιότερη

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

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

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

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

Επισκόπηση Μαθήµατος

Επισκόπηση Μαθήµατος Βάσεις εδοµένων 5 ο Εξάµηνο ηµήτρης Λέκκας Επίκουρος Καθηγητής dlekkas@env.aegean.gr Τµήµα Στατιστικής & Αναλογιστικών-Χρηµατοοικονοµικών Μαθηµατικών Επισκόπηση Μαθήµατος Εισαγωγή (Σ Β ) Το µοντέλο σχέσεων

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

Αρχεία και Βάσεις Δεδομένων

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

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

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

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης 01 Εκφώνηση Θεωρείστε το παρακάτω B+tree (κάθε κόμβος ευρετηρίου χωρά 4 καταχωρίσεις ευρετηρίου και κάθε κόμβος φύλλο χωρά 4 καταχωρίσεις δεδομένων): (Α)

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

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

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

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

Μάριος Αγγελίδης

Μάριος Αγγελίδης ΠΙΝΑΚΕΣ Ενότητες βιβλίου: 3.3, 9.1-9.3 Ώρες διδασκαλίας: 1 Σε όλα τα προβλήματα μέχρι τώρα διαβάζαμε μία τιμή την φορά, την επεξεργαζόμασταν και χωρίς να την αποθηκεύουμε επαναλαμβάναμε την διαδικασία

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

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

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

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

Εισαγωγή στην Πληροφορική

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

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

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη Αποθήκευση και Οργάνωση αρχείων Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη Κατηγοριοποίηση των φυσικών μέσων αποθήκευσης Ταχύτητα με την οποία προσπελαύνονται τα δεδομένα Κόστος ανά μονάδα δεδομένων

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

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα; Λίστα για ψώνια Έννοιες: αρχεία- άνοιγμα- εγγραφή διάβασμα Προαπαιτούμενα : δομή επιλογής, επανάληψης, συναρτήσεις, λίστες Ο Άκης, τώρα που έμαθε και τις λίστες στην Python αποφάσισε να φτιάξει μια λίστα

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

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

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάλεξη 9η: Transactions - part 2 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Transaction Management Comparison of Undo

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

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

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

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

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 3ο Επεξεργαστές κειμένου Μιχαηλίδης Παναγιώτης Επεξεργαστές κειμένου Στα προηγούμενα μαθήματα είδαμε εντολές για τον χειρισμό αρχείων στο σύστημα αρχείων

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

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα

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

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Πώς να δημιουργήσουμε ένα νέο λογαριασμό χρήστη (User Account) στα Windows 7 Αρκετές φορές τυχαίνει να χρησιμοποιούν διάφορα άτομα τον Η/Υ σας. Σε τέτοιες

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

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

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

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

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

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

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

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

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

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

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

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

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

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Καλώς ήλθες. Στο προηγούμενο μάθημα είδαμε τις λειτουργίες του μενού File του Editor της Unity. Όπως είπαμε οι δύο επιλογές που διαφέρουν

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

Οδηγός γρήγορης εκκίνησης του PowerSuite

Οδηγός γρήγορης εκκίνησης του PowerSuite Το PowerSuite είναι η ολοκληρωμένη λύση απόδοσης για τον υπολογιστή σας. Ενσωματώνοντας το RegistryBooster, το DriverScanner και το SpeedUpMyPC σε ένα ενιαίο περιβάλλον εργασίας σάρωσης, το PowerSuite

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

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

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

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

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

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