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

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

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

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

Εαρινό Εξάμηνο

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

Εαρινό Εξάμηνο

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

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

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

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

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

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

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

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

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

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

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

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

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

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

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

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

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

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

PostgreSQL. Oracle. Εαρινό Εξάμηνο

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

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

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

Query-by-Example (QBE)

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

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

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

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

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

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

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

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

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

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

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

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

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

IBM DB2, Microsoft SQL Server. Εαρινό Εξάμηνο

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

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

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

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

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

TÜV MANAGEMENT SERVICE ISO

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

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

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

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

Ανοικτά Ακαδημαϊκά Μαθήματα

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

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

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

Gemini, FastMap, Applications. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

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

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Ιατρική Πληροφορική. Δρ. Π. ΑσβεστΑΣ ΤμΗμα ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

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

9 εύτερη παράγωγος κι εφαρµογές

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2008

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Μαθήματα Ειδικής Υποδομής Υποχρεωτικά. Εργαστήριο 2 Παραδόσεις 3

Οντοκεντρικός Προγραμματισμός

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

Διδάσκουσα: Μαρία Κ. Μιχαήλ. Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Διαφορικές Εξισώσεις.

Lecture 1: Introduction I

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

Βάσεις Δεδομένων (Databases)

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

Σχολή Μηχανολόγων Μηχανικών - Μηχανική των Ρευστών Ι Ακαδ. Έτος Άσκηση 2, Καθηγητής Σ. Τσαγγάρης ΑΣΚΗΣΗ 2

Λύσεις Σειράς Ασκήσεων 5

Βάσεις Δεδομένων (Databases)

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

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

Εισαγωγή στον Προγραμματισμό

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Σειρά Προβλημάτων 4 Λύσεις

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

Απειροστικός Λογισμός ΙΙ, εαρινό εξάμηνο Φυλλάδιο ασκήσεων επανάληψης.

Εισαγωγή. Βάσεις Δεδομένων : Εισαγωγή 1

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

Θέματα Προγραμματισμού Η/Υ

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

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

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

Εισαγωγή. Καλή Ακαδημαϊκή Χρονιά! Τι θα δούμε σήμερα: Τα βασικά Την ιστορία (μέλλον) Μια γρήγορη ματιά στο τι θα δούμε στο μάθημα

Εισαγωγή στην Επεξεργασία και τις Βάσεις Δεδομένων

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

Transcript:

Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 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) B += 30 write(b) Πότε χρειαζόμαστε συναλλαγές?

ACID Atomicity

ACID Atomicity Consistency

ACID Atomicity Consistency Isolation

ACID Atomicity Consistency Isolation Durability

ACID Atomicity Consistency Isolation Durability

Ατομικότητα Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτε όλες είτε καμία

Ατομικότητα Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτε όλες είτε καμία Συνέπεια Η εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τη συνέπεια της βάσης δεδομένων

Ατομικότητα Οι λειτουργίες της συναλλαγής πρέπει να γίνουν είτε όλες είτε καμία Συνέπεια Η εκτέλεση μιας συναλλαγής θα πρέπει να διατηρεί τη συνέπεια της βάσης δεδομένων Απομόνωση Κάθε συναλλαγή δε θα πρέπει να ξέρει για τις άλλες συναλλαγές που εκτελούνται ταυτόχρονα

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

Καταστάσεις Συναλλαγών Ενεργή

Καταστάσεις Συναλλαγών Ενεργή Εν μέρη εκτελεσμένη

Καταστάσεις Συναλλαγών Ενεργή Εν μέρη εκτελεσμένη Αποτυχημένη

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

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

Ταυτόχρονη vs Σειριακή Εκτέλεση Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή "Παράλληλα"? Σειριακή Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στη συνέπεια, αλλά..

Ταυτόχρονη vs Σειριακή Εκτέλεση Για ένα σύνολο συναλλαγών προς εκτέλεση: Σειριακά ή "Παράλληλα"? Σειριακή Η σειριακή εκτέλεση δε δημιουργεί προβλήματα στη συνέπεια, αλλά.. "Παράλληλη" Βελτιωμένη απόδοση και Χρήση Πόρων Περιορισμένος Χρόνος Αναμονής

Συνέπεια T 1 T 2 read(a) A = A-50 read(a) A = A -50 write(a) read(b) write(a) read(b) B = B + 50 write(b) B = B + 50 write(b)

Σειριακή Διάταξη με Διένεξη Δύο εντολές έρχονται σε διένεξη αν: είναι διαϕορετικών συναλλαγών χρησιμοποιούν τα ίδια δεδομένα μια από αυτές είναι write()

Σειριακή Διάταξη με Διένεξη Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστεί σε ένα άλλο από μια σειρά εναλλαγών εντολών που δεν έρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματα αυτά είναι ισοδύναμα ως προς τις διενέξεις.

Σειριακή Διάταξη με Διένεξη Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστεί σε ένα άλλο από μια σειρά εναλλαγών εντολών που δεν έρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματα αυτά είναι ισοδύναμα ως προς τις διενέξεις. Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη αν είναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακό χρονοδιάγραμμα.

Σειριακή Διάταξη με Διένεξη Αν ένα χρονοδιαγράμματα μπορεί να μετασχηματιστεί σε ένα άλλο από μια σειρά εναλλαγών εντολών που δεν έρχονται σε διένεξη, λέμε ότι τα χρονοδιαγράμματα αυτά είναι ισοδύναμα ως προς τις διενέξεις. Ένα χρονοδιάγραμμα S είναι σε σειριακή διάταξη αν είναι ισοδύναμο ως προς τις διενέξεις με ένα σειριακό χρονοδιάγραμμα. Ιδιαίτερα αυστηρό κριτήριο

Σειριακή Διάταξη με Διένεξη T1 read(a) write(a) read(b) write(b) T2 read(a) write(a) read(b) write(b) Σειριακή διάταξη?

Έλεγχος σειριακής διάταξης Γράϕημα Προτεραιότητας κόμβοι: συναλλαγές ακμές: T i T j αν: T i εκτελεί write(a) πριν η T j εκτελέσει read(a) T i εκτελεί write(a) πριν η T j εκτελέσει write(a) T i εκτελεί read(a) πριν η T j εκτελέσει write(a)

Έλεγχος σειριακής διάταξης Γράϕημα Προτεραιότητας κόμβοι: συναλλαγές ακμές: T i T j αν: T i εκτελεί write(a) πριν η T j εκτελέσει read(a) T i εκτελεί write(a) πριν η T j εκτελέσει write(a) T i εκτελεί read(a) πριν η T j εκτελέσει write(a) Αν το γράϕημα περιέχει κύκλο, τότε το αντίστοιχο χρονοδιάγραμμα δεν είναι σειριακής διάταξης με διένεξη

Παράδειγμα είναι τα παρακάτω σειριοποιήσιμα? S1 = R1(x),R2(y), W2(x), W1(x) S2 = R4(x), R1(x), R2(y), W2(x), R3(y), W3(y), R4(z), W4(x), W2(z), W4(y)

1 2 3

Πως διασϕαλίζουμε ότι τα χρονοδιαγράμματα μπαίνουν σε σειριακή διάταξη?

Καταστάσεις Κλειδώματος Κοινόχρηστη (S) Αποκλειστική (X) S X S True False X Flase Flase Συναρτήσεις lock-s(a) lock-x(a) unlock(a)

Πρωτόκολλο κλειδώματος δυο ϕάσεων 2PL κάθε συναλλαγή κλειδώνει και ξεκλειδώνει πόρους σε 2 ϕάσεις: Φάση Ανάπτυξης Φάση Σύμπτυξης Παραλλαγές: Strict 2PL Rigorous 2PL Διασϕαλίζει Σειριακή Διάταξη Διένεξης

Παράδειγμα μπορεί το παρακάτω χρονοπρόγραμμα να είναι αποτέλεσμα του 2PL? R1[x], W2[x], R1[x]

Άσκηση 1 R1[y]; R2[x]; W1[y]; W3[y]; W1[z]; R2[z]; R3[z]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 T 2 T 3 x y z

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 x y z X T 2 X1[y] R1[y] T 3

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 T 2 x y z S X X1[y] R1[y] S2[x] R2[x] T 3

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 T 2 x y z S X X1[y] R1[y] S2[x] R2[x] W 1[y] T 3

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 T 2 x y z X X S X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] T 3

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] T 1 T 2 x y z X X S X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 3

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X X S X X3[y] W 3[y]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X X S X X3[y] W 3[y] W 1[z]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X X S X X3[y] W 3[y] W 1[z] U1[z]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X X S S X X3[y] W 3[y] W 1[z] U1[z] S2[z] R2[z]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X S X X S S X3[y] W 3[y] W 1[z] U1[z] S2[z] R2[z] S3[z] R3[z]

Λύση - Άσκηση 1 R1[y]; R2[x]; W 1[y]; W 3[y]; W 1[z]; R2[z]; R3[z] X1[y] R1[y] S2[x] R2[x] W 1[y] X1[z] U1[y] T 1 T 2 T 3 x y z X S X X S S X3[y] W 3[y] W 1[z] U1[z] S2[z] R2[z] S3[z] R3[z] U1, 2, 3[all]

Άσκηση 2 R1(X);R2(Y);W1(X);R2(X);R3(Z);W3(Z);R1(Y);R3(X);W1(Y);

1 2 3

Abraham Silberschatz, Henry F. Korth and S. Sudarshan, Database System Concepts Fourth Edition, McGraw-Hill, 2002 Raghu Ramakrishnan and Johannes Gehkre, Database Management Systems Second Edition, McGraw Hill, 2000