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

Σχετικά έγγραφα
Βάσεις Δεδομένων ΙΙ Ενότητα 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transaction Processing (Διαχείριση Δοσοληψιών)

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

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

Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 8. Transaction Management Overview

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

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

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

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

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

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

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus EPL646 Advanced Topics in Databases. Lecture 8. Transaction Management Overview

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

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

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

αβεβαιότητα (uncertainty) Η έλλειψη ακριβούς γνώσης ή το σφάλµα που σχετίζεται µε την πραγµατική θέση ενός κινούµενου αντικειµένου.

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

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

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

Αναζήτηση Κατά Πλάτος

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

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

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

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

Αναζήτηση Κατά Πλάτος

Πληροφοριακά Συστήματα Διοίκησης

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Αλγόριθμοι Γραφημάτων

Σχέση Μερικής ιάταξης Σχέση Μερικής ιάταξης (ή µερική διάταξη): ανακλαστική, αντισυµµετρική, και µεταβατική. Αριθµοί: α β (αλλά όχι α < β), α β, Σύνολ

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

Transcript:

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

Γενική Επισκόπηση Σχεσιακό Μοντέλο -SQL Συναρτησιακές Εξαρτήσεις & Κανονικοποίηση Φυσικός σχεδιασμός & Δεικτοδότηση Βελτιστοποίηση ερωτήσεων Επεξεργασία δοσοληψιών Έλεγχος συνδρομικότητας (concurrency control) Ανάκαμψη (recovery)

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

Δοσοληψία (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 Read(A) write(a) Read(B) Write(B) T2 Read(B) Write(B) T3 Read(A) Write(A)

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

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

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

Σειριοποιησιμότητα -Αγνοείστε την 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 (απομόνωση) Σωστό χρονοπρόγραμμα -> σειριοποιήσιμο Γράφος προτεραιότητας ακυκλικό -> σειριοποιήσιμο