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

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

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

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

Διοικητική Λογιστική

Διοικητική Λογιστική

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Τεχνικό Σχέδιο - CAD

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

Τεχνικό Σχέδιο - CAD

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Βάσεις Περιβαλλοντικών Δεδομένων

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Διδακτική Πληροφορικής

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

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

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

Διοικητική Λογιστική

Διοικητική Λογιστική

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

Βάσεις Περιβαλλοντικών Δεδομένων

Διδακτική Πληροφορικής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ασφάλεια Πληροφοριακών Συστημάτων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνολογία Πολιτισμικού Λογισμικού

ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΠΟΛΙΤΙΚΗ & ΝΟΜΟΘΕΣΙΑ ΜΑΘΗΜΑ 1

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Βάσεις Περιβαλλοντικών Δεδομένων

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τεχνικό Σχέδιο - CAD

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

Ασφάλεια Πληροφοριακών Συστημάτων

Διδακτική Πληροφορικής

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

Ασφάλεια Πληροφοριακών Συστημάτων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Τεχνολογία Πολιτισμικού Λογισμικού

Τεχνολογία Πολιτισμικού Λογισμικού

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

Βάσεις Περιβαλλοντικών Δεδομένων

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Τεχνικό Σχέδιο - CAD

Πληροφορική ΙΙ Θεματική Ενότητα 5

Προγραμματισμός Η/Υ. 3 η ενότητα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

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

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

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Μηχανές Πλοίου ΙΙ (Ε)

Βάσεις Περιβαλλοντικών Δεδομένων

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Τεχνικό Σχέδιο - CAD

Πληροφορική ΙΙ Ενότητα 1

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

Ασφάλεια Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός

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

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

Ηλεκτροτεχνία Ηλ. Μηχανές & Εγκαταστάσεις πλοίου (Θ)

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διοικητική Λογιστική

Τεχνικό Σχέδιο - CAD

Οργάνωση και Λειτουργία Ταξιδιωτικής Βιομηχανίας Ι

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

Ασφάλεια Πληροφοριακών Συστημάτων

ΟΡΓΑΝΩΣΗ & ΔΙΟΙΚΗΣΗ ΕΠΙΣΙΤΙΣΤΙΚΩΝ ΜΟΝΑΔΩΝ

Δομημένος Προγραμματισμός

Διδακτική Πληροφορικής

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

Φυσική Οπτική (Ε) Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 1: Υπολογισμός εστιακής απόστασης θετικού φακού από την μετατόπισή του. Αθανάσιος Αραβαντινός

Πληροφορική ΙΙ Θεματική Ενότητα 12

Προγραμματισμός Η/Υ. 8 η ενότητα: Περιβαλλοντικά και μαθηματικά προβλήματα. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

ΔΡΔ: Διαγράμματα Ροής Δεδομένων

Δομημένος Προγραμματισμός

Τεχνικό Σχέδιο - CAD

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Ηλεκτροτεχνία Ηλ. Μηχανές & Εγκαταστάσεις πλοίου (Θ)

Φυσική Εικόνας & Ήχου ΙΙ (Ε)

Δομημένος Προγραμματισμός

Transcript:

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

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

Ορισμός & Επιθυμητές Ιδιότητες των Δοσοληψιών Δοσοληψία: Μια λογική μονάδα επεξεργασίας της ΒΔ που περιλαμβάνει μία ή περισσότερες πράξεις προσπέλασης στη ΒΔ, π.χ., μετακίνησε 10 από το απόθεμα στην πληρωμή Αtomicity (Ατομικότητα) είτε όλες οι πράξεις είτε καμία Consistency (Συνέπεια) διατήρηση συνέπειας της ΒΔ Isolation (Απομόνωση) recovery concurrency control δεν εμπλέκεται με άλλη δοσοληψία που εκτελείται ταυτόχρονα Durability (Μονιμότητα ή διάρκεια) μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν ACID

Δοσοληψία (transaction) Το ΣΔΒΔ ενδιαφέρεται μόνο για τα δεδομένα που γράφονται ή διαβάζονται στη ΒΔ Πράξεις: Ανάγνωση(Χ) - read(x): Διαβάζει ένα στοιχείο της ΒΔ με όνομα Χ και το αποθηκεύει στη μεταβλητή του προγράμματος Χ (από το δίσκο στην μνήμη) Εγγραφή(Χ) - write(x): Γράφει το Χ στο δίσκο (κάποια στιγμή αργότερα). Καταχωρεί την τιμή της μεταβλητής Χ του προγράμματος στο στοιχείο της ΒΔ με όνομα Χ Διακοπή ρεύματος: Προβλήματα! Μπορεί να οδηγήσει σε ασυνέπειες

Διάρκεια (Durability) Οι δοσοληψίες θα πρέπει να επιβιώνουν στις αποτυχίες (αφού ολοκληρωθεί επιτυχώς μια δοσοληψία οι αλλαγές παραμένουν στη ΒΔ)

Ατομικότητα (Atomicity) Απλά: Πληρωμή = Πληρωμή + 10 Απόθεμα = Απόθεμα - 10 Checking = Checking + 10 Savings = Savings - 10

Συνέπεια (Consistency) π.χ., το συνολικό άθροισμα των να είναι ίδιο πριν και μετά (αλλά όχι απαραίτητα κατά την διάρκεια)

Απομόνωση (Isolation) Άλλες δοσοληψίες δεν θα πρέπει να μας επηρεάζουν Αντιπαράδειγμα: πρόβλημα χαμένης ενημέρωσης (lost update): read(n) N = N - 1 write(n) read(n) N = N - 1 write(n)

Καταστάσεις Δοσοληψίας ενεργή Μερικώς επικυρωμένη επικυρωμένη αποτυχημένη ακυρωμένη

Συνοπτικά Έλεγχος συνδρομικότητας (concurrency control) (Æ απομόνωση (isolation)) - σωστές παρεμβολές (correct interleavings) - πως μπορούν να επιτευχθούν Αποκατάσταση (recovery) (Æ διάρκεια (durability), ατομικότητα (atomicity))

Συνδρομικότητα (Concurrency) Για ποιο λόγο την χρειαζόμαστε? Αυξημένος αριθμός εκτελεσμένων δοσοληψιών σε συγκεκριμένο χρόνο (increased throughput) Αυξημένη χρησιμοποίηση (utilization) (η ΚΜΕ και ο δίσκος ξοδεύουν λιγότερο χρόνο ανενεργά) Μειωμένος χρόνος αναμονής (μέσος χρόνος απόκρισης: μέσος χρόνος ολοκλήρωσης μίας δοσοληψίας) Παράδειγμα παρεμβολής (Interleaving): Τ1: μεταφέρει 10 από τις αποταμιεύσεις (Χ) στην πληρωμή (Υ) T2: προσθέτει 10% τόκο σε όλα

Εκτέλεση με παρεμβολή (Interleaved execution) time Read(X) X=X-10 Write(X) Read(Y) Y=Y+10 Write(Y) Read(X) σωστή ; X = X * 1.1 Write(X) Read(Y) Y=Y*1.1 Write(Y)

Πως ορίζεται η ορθότητα? Πίσω στις βασικές έννοιες ας ξεκινήσουμε από κάτι απόλυτα σωστό: Æ Σειριακές εκτελέσεις

Serial execution T1 Read(X) X=X-10 Write(X) Read(Y) Y=Y+10 Write(Y) T2 Read(X) X = X * 1.1 Write(X) Read(Y) Y=Y*1.1 Write(Y) σωστό Εξ ορισμού

Πως ορίζεται η ορθότητα? A: Σειριοποιησιμότητα (serializability): Ένα χρονοπρόγραμμα (=παρεμβολή) είναι σωστή εφόσον είναι σειριοποιήσιμη, δηλαδή, ισοδύναμη με μία σειριακή παρεμβολή (ανεξάρτητα από την ακριβή φύση των ενημερώσεων) Παραδείγματα και αντιπαραδείγματα:

Παράδειγμα: Πρόβλημα Χαμένης- ενημέρωσης T1 Read(N) N=N-1 Write(N) T2 Read(N) N= N-1 Write(N) Δεν είναι ισοδύναμη με καμία σειριακή εκτέλεση (γιατί όχι?)

Περισσότερες λεπτομέρειες: Σειριοποίησιμότητα συγκρούσεων T1 Read(N) N=N-1 Write(N) T2 Read(N) N= N-1 Write(N) Conflict serializability

Σειριοποιησιμότητα συγκρούσεων r/w: π.χ., το αντικείμενο X διαβάζεται από το Ti και εγγράφεται από το Tj w/w: εγγράφεται από Ti και εγγράφεται από το Tj - η σειρά παίζει ρόλο και στις δύο περιπτώσεις ΓΡΑΦΟΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ (precedence graph): Κόμβοι: δοσοληψείες (transactions) Τόξα: r/w, w/r ή w/w συγκρούσεις

Γράφος Προτεραιότητας (Precedence graph) T1 Read(N) N=N-1 T2 Read(N) N= N-1 N T2 Write(N) Write(N) T1 N Κύκλος -> μη σειριοποιήσιμος

Παράδειγμα T1 T2 T3 Read(A) write(a) Read(A) Write(A) Read(B) Write(B) Read(B) Write(B)

Παράδειγμα T1 T2 T3 Read(A) write(a) Read(A) Write(A) Read(B) Write(B) Read(B) Write(B) A T3 T1 B T2 σειριακή εκτέλεση;

Παράδειγμα A: T2, T1, T3 (Σημειώνεται ότι το T3 θα πρέπει να πάει μετά το Τ2 αν και ξεκινά πριν από αυτό!) Ε:Υπάρχει αλγόριθμος για την παραγωγή σειριακής εκτέλεσης από έναν (άκυκλο) γράφο προτεραιότητας;

Παράδειγμα A: Τοπολογική ταξινόμηση (Topological Sorting) Μία τοπολογική ταξινόμηση του DAG=(V,E) είναι μία γραμμική διάταξη όλων των κόμβων έτσι ώστε εάν το G περιέχει μία ακμή(u,v), τότε το u εμφανίζεται πριν το v στη διάταξη είναι η διάταξη των κόμβων του κατά μήκος μίας οριζόντιας ακμής έτσι ώστε όλες οι διευθυνόμενες ακμές να έχουν κατεύθυνση από τ αριστερά προς τα δεξιά τοπολογικά ταξινομημένοι κόμβοι εμφανίζονται σε αντίστροφη σειρά από τον χρόνο ολοκλήρωσης τους σύμφωνα με την αναζήτηση κατά βάθος (DFS)

Σειριοποιησιμότητα Ignore view serializability Υποθέτουμε ότι δεν υπάρχουν τυφλές εγγραφές, π.χ., διάβασε πριν την εγγραφή

Αντιπαράδειγμα: Ανάλυση Ασυνέπειας T1 Read(A) A=A-10 Write(A) Read(B) B=B+10 Write(B) T2 Read(A) Sum = A Read(B) Sum += B Γράφος Προτεραιότητας?

Συμπεράσματα ACID ιδιότητες των δοσοληψιών Αποκατάσταση για τις A, D (ατομικότητα και μονιμότητα) Έλεγχος συνδρομικότητας για την I (απομόνωση) Σωστό χρονοπρόγραμμα -> σειριοποιήσιμο Γράφος προτεραιότητας ακυκλικό -> σειριοποιήσιμο

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. Οι όροι χρήσης των έργων τρίτων επεξηγούνται στη διαφάνεια «Επεξήγηση όρων χρήσης έργων τρίτων». Τα έργα για τα οποία έχει ζητηθεί άδεια αναφέρονται στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/από-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Επεξήγηση όρων χρήσης έργων τρίτων διαθέσιμο με άδεια CC-BY διαθέσιμο με άδεια CC-BY-SA διαθέσιμο με άδεια CC-BY-ND διαθέσιμο με άδεια CC-BY-NC διαθέσιμο με άδεια CC-BY-NC-SA διαθέσιμο με άδεια CC-BY-NC-ND διαθέσιμο με άδεια CC0 Public Domain διαθέσιμο ως κοινό κτήμα χωρίς σήμανση Δεν επιτρέπεται η επαναχρησιμοποίηση του έργου, παρά μόνο εάν ζητηθεί εκ νέου άδεια από το δημιουργό. Επιτρέπεται η επαναχρησιμοποίηση του έργου και η δημιουργία παραγώγων αυτού με απλή αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού, και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η δημιουργία παραγώγων του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού και διάθεση του έργου ή του παράγωγου αυτού με την ίδια άδεια. Δεν επιτρέπεται η εμπορική χρήση του έργου. Επιτρέπεται η επαναχρησιμοποίηση του έργου με αναφορά του δημιουργού. Δεν επιτρέπεται η εμπορική χρήση του έργου και η δημιουργία παραγώγων του. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Επιτρέπεται η επαναχρησιμοποίηση του έργου, η δημιουργία παραγώγων αυτού και η εμπορική του χρήση, χωρίς αναφορά του δημιουργού. Συνήθως δεν επιτρέπεται η επαναχρησιμοποίηση του έργου.

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.