Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού

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

Download "Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού"

Transcript

1 Θεµατολόγιο Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Β) Εναλλακτικές Τεχνικές Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις Γ) οσοληψίες και SQL Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL

2 Αρχική παρατήρηση Μέχρι στιγµής, κάναµε δύο µη προφανείς υποθέσεις: Η Β δεν εµπλουτίζεται µε νέες εγγραφές κατά τη διάρκεια των δοσοληψιών (ήτοι, υποθέταµε ότι write = UPDATE και όχι INSERT) Τα αντικείµενα της Β είναι ανεξάρτητα µεταξύ τους (το οποίο καταρρέει αν υποθέσουµε π.χ., ένα B+ tree σε κάποιο πεδίο ενός πίνακα) Τι θα γίνει αν αναιρέσουµε τις υποθέσεις αυτές; 3 Παράδειγµα: Sailors SID SNAME RATING Popay Popay AGE 7 43 T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING 3 Popay Popay4 63 T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) 4

3 Πιθανή Εκτέλεση SID SNAME RATING Popay AGE 7 Χ T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING Popay 43 Χ 3 Popay Popay4 63 RATING AGE T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) Πρώτα, οι RATING= 7 5 Πιθανή Εκτέλεση SID SNAME RATING Popay AGE 7 Χ T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING 3 4 Popay Popay3 Popay Χ RATING AGE 7 5 X 96 Χ T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) Το INS παίρνει X-lock 6

4 Πιθανή Εκτέλεση SID SNAME RATING Popay Popay AGE 7 43 Χ Χ T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING 3 4 Popay3 Popay Χ Χ RATING AGE 7 5 X 96 Χ T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) Το DEL παίρνει X-lock 7 Πιθανή Εκτέλεση SID SNAME RATING Popay Popay AGE 7 43 Χ Χ T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING 4 5 Popay4 X RATING AGE 7 T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) Τ COMMITS!! 8

5 Πιθανή Εκτέλεση SID SNAME RATING Popay AGE 7 T: SELECT RATING, MAX(AGE) FROM SAILORS GROUP BY RATING Popay Popay4 X Χ RATING AGE 7 T: INSERT INTO SAILORS (5, X,,96); DELETE FROM SAILORS WHERE RATING = AND AGE IN (SELECT MAX(AGE) FROM SAILORS WHERE RATING =) Μετά, όσοι έχουν RATING= 63 9 Πιθανές Εκτελέσεις... Τ Τ RATING AGE 7 SID SNAME Popay Popay Popay3 Popay4 X RATING AGE Τ ; Τ RATING Τ ;Τ RATING 63 AGE 7 80 AGE

6 Φάντασµα Το φαινόµενο κατά το οποίο µια δοσοληψία ξεκινά µε ένα σύνολο εγγραφών στην αρχή της, και βρίσκεται µε ένα διαφορετικό σύνολο εγγραφών στο τέλος της, χωρίς να έχει κάνει αυτή τις αλλαγές. Ο PL ΕΝ µας προστατεύει από φαντάσµατα! Αν µπορούσαµε άραγε... SID SNAME RATING AGE Popay 7 Χ Popay 43 Χ 3 Popay Popay X 96 Χ να κλειδώναµε στην ίδια δοσοληψία όλες τις εγγραφές που πληρούν τη συνθήκη RATING=...

7 Κλείδωµα κατηγορήµατος Το γεγονός ότι κλειδώνω όλες τις εγγραφές που πληρούν µια συνθήκη (όπως π.χ., RATING = ) Η πιο απλοϊκή λύση, είναι να κλειδώσω όλον τον πίνακα (βλ. και στη συνέχεια) Καµιά πιο έξυπνη ιδέα; 3 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 4

8 Κλείδωµα ευρετηρίων Αν είχαµε ένα index (π.χ., B+ tree) πάνω στο πεδίο rating, θα µπορούσαµε να κλειδώναµε γρήγορα όλες τις εγγραφές µε RATING=. Ακόµα κι αν δεν υπάρχουν τέτοιες εγγραφές, κλειδώνοντας τον index, µπορούµε να απαγορεύσουµε να δηµιουργηθούν από άλλους κατά τη διάρκεια της δοσοληψίας! Ειδική περίπτωση του κλειδώµατος κατηγορήµατος... Β+ tree Table 5 Πρώτη λύση Ας υποθέσουµε ότι θέλουµε να εισάγουµε µια εγγραφή µε RATING=στη διάρκεια της Τ Κατεβαίνοντας από τη ρίζα προς τα φύλλα του Β+ δέντρου, µπορούµε να κλειδώνουµε κάθε κόµβο µε X- lock [του φύλλου συµπεριλαµβανοµένου] Τραγική απόδοση: ήδη από το πρώτο βήµα έχω κλειδώσει τη ρίζα, ήτοι, ΟΛΟ το δέντρο. 6

9 Παρατήρηση Στα Β+ δέντρα, οι ενδιάµεσοι κόµβοι χρησιµεύουν ΜΟΝΟ ως µονοπάτια για τα φύλλα [θυµάστε τη διαφορά µε τα Β δέντρα;] Αν κλείδωνα µε S-lock τους ενδιάµεσους κόµβους και µε X-lock τα φύλλα; Bug: τι θα γίνει αν η εισαγωγή διασπάσει το παιδί ; 7 Απλός αλγόριθµος κλειδώµατος δέντρων SELECT: Ξεκινώντας από τη ρίζα κλειδώνουµε µε S-lock κάθε κόµβο. Μετά, ξεκλειδώνουµε τον γονέα του. INS/DEL: Ξεκινώντας από τη ρίζα κλειδώνουµε µε X-locks κατά περίπτωση. Μετά ελέγχουµε αν ο κλειδωθείς κόµβος είναι ασφαλής: Αν ναι, ξεκλειδώνουµε τους προγόνους του. Ασφαλής κόµβος: οι όποιες αλλαγές δεν θα διαδοθούν προς τα πάνω από τον κόµβο αυτό INS: ο κόµβος δεν είναι πλήρης. DEL: ο κόµβος δεν είναι άδειος κατά το ήµισυ. 8

10 Απλός αλγόριθµος κλειδώµατος δέντρων Α τρόπος για το «κατά περίπτωση» X-locks για όλους τους κόµβους Β τρόπος για το «κατά περίπτωση» S-locks για τους ενδιάµεσους κόµβους X-locks για τα φύλλα Μετατροπή του S-lock σε Χ-lock αν υπάρχει διάσπαση 9 ROOT 0 A 35 B Θυµάστε τι βάζουµε σε κάθε κουτάκι; 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E 0

11 ROOT Χ 0 A DEL 38* 35 B Με Α τρόπο... 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E ROOT 0 A DEL 38* 35 Χ B 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E

12 ROOT 0 A 35 B DEL 38* 3 F Χ C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E 3 ROOT 0 A 35 B DEL 38* 3 F C G H I D E 0* * 3* 4* 35* 36* 38* 4* 44* Χ 4

13 ROOT 0 A 35 B DEL 38* 3 F C 0* G H I D * 3* 4* 35* 36* 4* 44* E 5 ROOT S 0 A INS 45* 35 B Με Β τρόπο... 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E 6

14 ROOT 0 A 35 S B INS 45* 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E 7 ROOT 0 A 35 S B INS 45* Γιατί ΕΝ ξεκλειδώνω το Β ; S 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* E 8

15 ROOT 0 A 35 B INS 45* 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* Χ E 9 ROOT 0 A 35 B INS 45* 3 F C 0* G H I D * 3* 4* 35* 36* 38* 4* 44* 30 E 45*

16 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 3 Τι κλειδώνουµε στην πράξη; Μέχρι τώρα θεωρούσαµε εγγραφές Στην πράξη, συνήθως µιλάµε για σελίδες Μπορούµε να κλειδώσουµε τη βάση σε πολλά «επίπεδα» που ορίζουν µια «ιεραρχία διακριτότητας» Database contains Tables Pages Tuples 3

17 Ορισµοί ιακριτότητα (granularity): πόσο µικρό είναι ένα αντικείµενο υπό παρατήρηση Μικρή διακριτότητα = µεγάλο µέγεθος στοιχείου (π.χ., πίνακας ή Β ) Μεγάλη διακριτότητα = µικρό µέγεθος στοιχείου (π.χ., σελίδα ή εγγραφή) Πρόγονος ενός αντικειµένου: οποιοδήποτε αντικείµενο στην ιεραρχία διακριτότητας το περικλείει (π.χ., η Β είναι πρόγονος µιας σελίδας) 33 Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Κλείδωµα σε µικρή διακριτότητα: αποκλεισµός και καθυστέρηση των δοσοληψιών που τρέχουν εν παραλλήλω (π.χ., τι θα γίνει αν κλειδώσω όλη τη Β ;) Κλείδωµα σε µεγάλη διακριτότητα: µεγάλος αριθµός κλειδωµάτων (χώρος µνήµης, καθυστέρηση διαχείρισης) Ερώτηση Κρίσεως: Ποια η καλύτερη διακριτότητα (& υπό ποιες συνθήκες); 34

18 Παράδειγµα Τ: UPDATE EMP WHERE EMP_ID = SET T: SELECT * FROM EMP Η Τ για να γράψει µία και µόνο εγγραφή, µπλοκάρει την Τ. Ιδέα: Τ: κλειδώνει την εγγραφή της Τ Τ: ελέγχει για κλείδωµα όλες τις εγγραφές µία µία; Καλύτερη Ιδέα: Μήπως να κλειδώναµε µόνο τη σελίδα που περιέχει την εγγραφή της Τ; 35 Εκµετάλλευση της ιεραρχίας Η ιδέα είναι να κλειδώνουµε µε κατάλληλο τρόπο σε διαφορετικά επίπεδα διακριτότητας Χρειαζόµαστε ένα νέο είδος κλειδώµατος (γιατί;) Κλείδωµα πρόθεσης (intention lock): εφαρµόζεται σε ένα πρόγονο, χαρακτηρίζοντας τι πράξη (για την ακρίβεια: κλείδωµα) θα εφαρµοστεί στον απόγονό του Τριών ειδών κλειδώµατα πρόθεσης... 36

19 Κλειδώµατα Πρόθεσης Ένας πρόγονος (π.χ., σελίδα) λαµβάνει IS: αν η δοσοληψία θέλει να διαβάσει (πάρει S-lock) για κάποιους απoγόνους (π.χ., µια εγγραφή) IX: αν η δοσοληψία θέλει να γράψει (πάρει X-lock) για κάποιους απογόνους (π.χ., µια εγγραφή) SIX: αν η δοσοληψία θέλει να διαβάσει (πάρει S-lock) όλους τους απογόνους του και να γράψει (πάρει X-lock) και κάποιους από αυτούς. Πριν πάρεις ένα κλείδωµα για κάποιο αντικείµενο, πρέπει να πάρεις κλείδωµα πρόθεσης για όλους τους προγόνους του 37 Συγκρούσεις Ο πίνακας συγκρούσεων γίνεται πλέον: T: έχει κάποιο lock σε ένα αντικείµενο Τ: αιτείται κάποιο lock στο ίδιο αντικείµενο T T IS IX SIX IS IX SIX S X Ότι δεν έχει είναι επιτρεπτό S X 38

20 Παράδειγµα: «σύγκρουση» για µια σελίδα Τ: έχει κλειδώσει µε IS τη σελίδα, ώστε να διαβάσει µία (κάποιες) εγγραφή(ες) της Τ: αντιστοίχως, αλλά για να γράψει Αν πρόκειται για διαφορετικές εγγραφές, κανείς δεν περιµένει Αλλιώς, η σύγκρουση συµβαίνει στο χαµηλότερο επίπεδο µε τα κλειδώµατα S- & X- locks T T IS IX SIX S X IS IX SIX S X 39 Τα κλειδώµατα είναι σε όλη την ιεραρχία... T T T T IS IX contains Database Tables Pages Tuples IS IS IS S IX IX IX X IS IX Στα ψηλά επίπεδα, δουλεύει καλά. Στα χαµηλά, όπως πριν... 40

21 Αλγόριθµος Κλειδωµάτων Ξεκινάς στην κορυφή της ιεραρχίας Για να πάρω ένα κλείδωµα S- (ή IS-) σε ένα αντικείµενο, πρέπει να έχω IS- (ή IX-) στον πρόγονό του [αλλιώς, περιµένω] Για να πάρω ένα κλείδωµα X- (ή IX- ή SIX) σε ένα αντικείµενο, πρέπει να έχω IX- (ή SIX-) στον πρόγονό του [αλλιώς, περιµένω] Ξεκλειδώνω µε την αντίστροφη σειρά (bottom-up) 4 Παραδείγµατα (και «τι σηµαίνει S-lock σε ένα πίνακα;») T διαβάζει τον πίνακα R, και update κάποιες εγγραφές: T παίρνει SIX-lock στον R, µετά για κάθε εγγραφή του R παίρνει και ένα S-lock, και όπου δη, αναβαθµίζει το S-lock αυτό σε X-lock (στα updates στις κρίσιµες εγγραφές, δηλαδή). T χρησιµοποιεί ένα index για να διαβάσει τµήµα της R: T παίρνει IS στον R και µετά για κάθε εγγραφή του R παίρνει και ένα S-lock. T3 διαβάζει όλον τον R: //ΠΡΟΣΟΧΗ! T3 παίρνει S-lock στο R. //S-lock σε πίνακα; ή, η T3 κάνει ότι και η T & µπορεί να χρησιµοποιήσει «κλιµάκωση κλειδώµατος» (lock escalation) για να αποφασίσει αν θα πάρει S lock στο R. 4

22 Κλιµάκωση κλειδωµάτων Όταν µια δοσοληψία προσπαθήσει να πάρει κλειδώµατα π.χ., για έναν ολόκληρο πίνακα, πέφτουµε στην περίπτωση του προβλήµατος χώρου & χρόνου στη διαχείριση των κλειδωµάτων Κλιµάκωση Κλειδωµάτων: Αποφασίζουµε ότι πάνω από κάποιο threshold, αντί να κλειδώνω µία µία σελίδα (µε S- ή X-lock), κλειδώνω µόνο τον πίνακα (µε S- ή X-lock) και τίποτε άλλο. ΠΡΟΣΟΧΗ: Αδιέξοδα!!! (αν π.χ., ο ένας είχε SIX και ο άλλος IS στον πίνακα πριν την κλιµάκωση) 43 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 44

23 Το ζήτηµα είναι... Όπως είπαµε, υπάρχει το πρόβληµα των φαντασµάτων Ο σκοπός είναι να το αποτρέψω και θα χρησιµοποιήσουµε την τεχνική κλειδώµατος κατηγορήµατος (predicate locking) Θα εξετάσουµε µε ποιον τρόπο, γίνεται αυτό στην πράξη! 45 Φαντάσµατα SID SNAME RATING AGE Popay 7 Χ Popay 43 Χ 3 Popay Popay X 96 Χ να κλειδώναµε στην ίδια δοσοληψία όλες τις εγγραφές που πληρούν τη συνθήκη RATING=... 46

24 Κλείδωµα κατηγορήµατος / ευρετηρίων Το γεγονός ότι κλειδώνω όλες τις εγγραφές που πληρούν µια συνθήκη (όπως π.χ., RATING = ) Αν είχαµε ένα index (π.χ., B+ tree) πάνω στο πεδίο rating, θα µπορούσαµε να κλειδώναµε γρήγορα όλες τις εγγραφές µε RATING=. Β+ tree Table 47 Αν ΕΝ έχω κάποιον index Για να αποφύγω φαντάσµατα SELECT statements: S-lock σε όλον τον πίνακα UPDATE / DELETE statements: SIX-lock στον πίνακα και Χ-locks στις κρίσιµες σελίδες µε τις υπό τροποποίηση εγγραφές Αν κάποιος πάει να γράψει (X-lock στη σελίδα), θα συγκρουστεί µε το εν λόγω κλείδωµα 48

25 Αν έχω B+ trees Στον index, S-locks στα φύλλα όταν κάνω SELECT, αλλιώς X-locks στα φύλλα Στον πίνακα: SELECT statements: IS-lock στον πίνακα, S-locks στις σελίδες µε εγγραφές που ικανοποιούν τοwhere clause UPDATE / DELETE statements: IX-lock στον πίνακα και Χ-locks στις κρίσιµες σελίδες µε τις υπό τροποποίηση εγγραφές Πρώτα κλειδώνω τον index και µετά τον πίνακα Η σύγκρουση εντοπίζεται στον index 49 Tuning for performance Γράψτε µικρές δοσοληψίες. Εν ανάγκη, σπάστε τις µεγάλες σε πολλές µικρές δοσοληψίες [το default στην SQL είναι δοσοληψία ανά εντολή]! Χρησιµοποιήστε indexes. Όχι µόνο ψάχνουµε πιο γρήγορα [αν και γράφουµε πιο αργά] αλλά ο ταυτοχρονισµός αυξάνεται! Αποφύγετε το lock escalation. Τα νέα DBMS s συνήθως δεν το κάνουν, εκτός κι αν τους το πείτε (RTFM) Το granule (επίπεδο διακριτότητας ;) ήταν για καιρό η σελίδα. Σιγά σιγά, κατεβαίνουµε σε επίπεδο εγγραφής (π.χ., Oracle 9i) 50

26 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 5 Προβλήµατα των κλειδωµάτων Οι τεχνικές κλειδώµατος είναι συντηρητικές (αποφεύγονται οι συγκρούσεις) Μειονεκτήµατα: επιβάρυνση (overhead) χειρισµού κλειδώµατος έλεγχος προς ανίχνευση αδιεξόδων 5

27 Αισιόδοξη εκτέλεση δοσοληψιών Κάθε δοσοληψία έχει τρεις φάσεις ΑΝΑΓΝΩΣΗ: η δοσοληψία διαβάζει από τη Β, αλλά τροποποιεί τοπικά αντίγραφα των αντικειµένων σε δικό της χώρο ΕΠΙΚΥΡΩΣΗ: έλεγχος για συγκρούσεις αν υπάρχει σύγκρουση, abort & restart ΕΓΓΡΑΦΗ: γράφει τα τοπικά αντίγραφα στη Β Ti R V W 53 Πώς δουλεύει ; Χρονόσηµο δοσοληψίας: η στιγµή που ξεκινά η φάση επικύρωσής της Έστω ότι έχουµε µια δοσοληψία Tj που θέλει να κάνει Επικύρωση Θα την ελέγξουµε σε σχέση µε όλες τις δοσοληψίες Ti µε χρονόσηµο µικρότερο της Tj. Για όλες τις δοσοληψίες Ti, τ.ω. Ti < Tj, αρκεί να ισχύει µία από τις παρακάτω συνθήκες ελέγχου Αν δεν ισχύει καµία εξ αυτών, η Tj πρέπει να κάνει ABORT και να επανεκκινηθεί. 54

28 η συνθήκη ελέγχου Η Ti τελειώνει πριν αρχίσει η Tj. Ti R V W Tj R V W Σειριακή εκτέλεση των δοσοληψιών η συνθήκη ελέγχου Η Τi τελειώνει πριν αρχίσει η φάση εγγραφής της Tj WriteSet(Ti) ReadSet(Tj) = Ti R V W R V W Tj Η Τj δεν διαβάζει κανένα αντικείµενο που τροποποιεί η Τi Όλες οι εγγραφές της Ti προηγούνται αυτών της Tj

29 3η συνθήκη ελέγχου Η Τi τελειώνει τη φάση ανάγνωσης πριν τελειώσει η φάση ανάγνωσης της Τj WriteSet(Ti) ReadSet(Tj) = WriteSet(Ti) WriteSet(Tj) = Ti R V W Tj R V W Η Τj και η Τi γράφουν αντικείµενα ταυτόχρονα, µεν,... αλλά, οι εγγραφές τους ΕΝ επικαλύπτονται! Προσέξτε ότι... ΠΕΡΙΟΡΙΣΜΟΣ: Όταν µια δοσοληψία βρίσκεται σε φάση επικύρωσης, καµιά άλλη δοσοληψία δεν µπορεί να κάνει COMMIT!!! Ελέγξτε και µόνοι σας: ο αισιόδοξος έλεγχος ταυτοχρονισµού, ουσιαστικά υλοποιεί το γράφο σειριοποιησιµότητας (πρακτικά ελέγχει αν οι συγκρούσεις γίνονται µε την ίδια σειρά) 58

30 Σχόλια Overhead διατήρησης λίστας προσπελασθέντων αντικειµένων Αν οι συγκρούσεις είναι σπάνιες έχουµε µεγαλύτερη απόδοση. Αν οι συγκρούσεις είναι συχνές, το overhead του abort & restart είναι µεγαλύτερο. 59 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 60

31 Ορολογία Χρονόσηµο δοσοληψίας TS(T): η χρονική στιγµή που ξεκινά η δοσοληψία Τ Χρονόσηµο ανάγνωσης αντικειµένου RTS(O): η χρονική στιγµή της τελευταίας ανάγνωσης του αντικειµένου Ο (ασχέτως δοσοληψίας) Χρονόσηµο εγγραφής αντικειµένου WTS(O): η χρονική στιγµή της τελευταίας εγγραφής του αντικειµένου Ο (ασχέτως δοσοληψίας) 6 Κεντρική Ιδέα Αν η Τi ξεκινά ΠΡΙΝ την Τj, όλες οι συγκρούσεις πράξεων µεταξύ Τi και Τj, πρέπει να έχουν την πράξη της Τi (έστω αi) ΠΡΙΝ την πράξη της Τj (έστω αj) If TS(Ti) < TS(Tj), Τi action ai,aj Τj 6

32 Κεντρική Ιδέα Αντί να συγκρίνω δοσοληψίες, θεωρώ ότι η Ti διαβάζει/γράφει το αντικείµενο Ο Κάθε φορά, µια δοσοληψία Tj συγκρίνει το TS(Tj) µε τα χρονόσηµατων αντικειµένων If TS(Ti) < TS(Tj), Τi Τj Ο action aj XX(O) < TS(Tj) XX: WTS, ή RTS 63 Tj θέλει να κάνει read(o) Αν WTS(O) > TS(Tj) [ήτοι, η Τj ξεκίνησε πριν γραφτεί το O], abort Tj &restartµε νέο µεγαλύτερο TS. Αν WTS(O) < TS(Tj), επέτρεψε στην Τj να διαβάσει και RTS(O) := max(rts(o),ts(tj)) Τi TS(Ti) < TS(Tj) Τj Overhead! action aj Ο XX(O) < TS(Tj) 64

33 Tj θέλει να κάνει write(o) Αν RTS(O) > TS(Tj) [ήτοι, η Τj ξεκίνησε πριν διαβαστεί το O], abort & restart Tj. Αν WTS(O) > TS(Tj), ΜΗΝ ΕΚΤΕΛΕΣΕΙΣ ΤΟ write(o), και συνέχισε την Τj µε την επόµενη εντολή (Thomas Write Rule) Αλλιώς, επέτρεψε το write(o) Τi TS(Ti) < TS(Tj) Τj Ο action aj XX(O) < TS(Tj) 65 Thomas write rule Αν WTS(O) > TS(Tj) σηµαίνει ότι η Τj ξεκίνησε ΠΡΙΝ από τη δοσοληψία που έγραψε το Ο (έστω Τ). Έτσι, η εγγραφή της Τj δεν έχει καµιά αξία (σε ένα σειριακό πρόγραµµα, η Τ θα ξαναέγραφε πάνω στην τιµή της Τj) Thomas Write Rule: Μπορούµε να αγνοήσουµε µε ασφάλεια καθυστερηµένες εγγραφές! Τj Ο Tj R(A) W(A) Commit T Τ Ο W(A) Commit 66

34 ΠΡΟΣΟΧΗ Πρέπει η Τ να έχει κάνει COMMIT Το παράδειγµα του βιβλίου είναι παραπλανητικό: αντί για Τj και Τ έχει Τ και Τ. Αυτό που αγνοείται είναι το W(A) της Τ! T R(A) W(A) Commit T W(A) Commit 67 Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 68

35 Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις Ιδέα: Κάθε δοσοληψία που γράφει ένα αντικείµενο Ο, κατασκευάζει µια ιδιωτική της κόπια του Ο που αποθηκεύεται σε µια Version pool MAIN SEGMENT (Τρέχουσες versions της DB) O O O VERSION POOL (παλαιότερες εκδόσεις µπορεί να είναι χρήσιµες για άλλες δοσοληψίες). Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις Κάθε δοσοληψία έχει χρονόσηµο TS τη στιγµή εκκίνησής της Κάθε version ενός αντικειµένου έχει WTS το χρονόσηµο της δοσοληψίας που την έγραψε και RTS το χρονόσηµο της δοσοληψίας που τη διάβασε τελευταία. Οι versions του ιδίου αντικειµένου συνδέονται µε pointers σε µια λίστα.

36 Ανάγνωση WTS timeline old new Για να διαβάσει µια δοσοληψία Τ: Βρίσκει την τελευταία version µε WTS < TS(T). (Αν δεν της κάνει η τρέχουσα version ψάχνει για προηγούµενες) Αν υποθέσουµε ότι για κάθε αντικείµενο υπάρχει και µια version οι δοσοληψίες που διαβάζουν µόνο (χωρίς να γράφουν ποτέ) δεν αποτυγχάνουν ποτέ. T Εγγραφή Για να γράψει µια δοσοληψία Τ: Βρίσκει τη νεότερη version V τ.ω. WTS < TS(T). Αν RTS(V) < TS(T), T κάνει µια κόπια CV του V, µε WTS(CV) = RTS(CV) = TS(T) (η εγγραφή αναµένει µέχρι το commit της Τ - οι άλλες δοσοληψίες δεν µπορούν να δουν την version CV) Αλλιώς, abort & restart µε νέο TS. WTS old CV new V RTS(V) T

37 Εγγραφή Αν RTS(V) < TS(T), πάει να πει ότι κάποια Τ διάβασε πριν ξεκινήσει η δοσοληψία Τ => η Τ µπορεί να γράψει [το πολύ πολύ να κάνει overwrite ότι θα έγραφε η Τ ] Αν RTS(V) > TS(T) προφανώς κάποια Τ διάβασε αφού ξεκίνησε η Τ => κάποια πρέπει να κάνει abort & επιλέγουµε την Τ WTS old CV new V T RTS(V) Θεµατολόγιο Φαντάσµατα Κλείδωµα δέντρων Κλείδωµα σε διαφορετικά επίπεδα διακριτότητας Πώς τα βάζω όλα µαζί Αισιόδοξος έλεγχος ταυτοχρονισµού Έλεγχος ταυτοχρονισµού µε χρονόσηµα Έλεγχος ταυτοχρονισµού µε πολλαπλές εκδόσεις οσοληψίες και SQL 74

38 οσοληψίες και SQL Στην SQL-9 κάθε δοσοληψία έχει: Μέθοδο πρόσβασης: READ ONLY vs. READ WRITE Ένα από 4 επιτρεπτά επίπεδα αποµόνωσης: READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE Παράδειγµα χρήσης: SET ISOLATION LEVEL SERIALIZABLE READ WRITE 75 οσοληψίες και SQL READ UNCOMMITTED: εν υποστηρίζει κλειδώµατα. Επιτρέπεται µόνο σε READ ONLY δοσοληψίες READ COMMITTED: Κρατά X-locks για writes, και τα ελευθερώνει στο ΕΟΤ Κρατά S-locks για reads, και τα ελευθερώνει αµέσως εν έχει πρόβληµα µε dirty reads (W-R συγκρούσεις), αλλά έχει πρόβληµα σε unrepeatable reads (R-W συγκρούσεις) 76

39 οσοληψίες και SQL RΕPEATABLE READ: ιαβάζει µόνο ότι προκύπτει από committed δοσοληψίες Ελευθερώνει locks στο τέλος (S-locks & X-locks) Ευάλωτη σε φαντάσµατα SERIALIZABLE: Αυστηρό PL Ανεπηρέαστη από φαντάσµατα 77 SQL-9 Επίπεδο Read Uncommitted Dirty Read Ίσως Μη επαναλαµβανόµενη ανάγνωση Ίσως Πρόβληµα φαντάσµατος Ίσως Read Committed Όχι Ίσως Ίσως Repeatable Reads Όχι Όχι Ίσως Serializable Όχι Όχι Όχι 78

40 Σήµερα IBM DB, Informix, Sybase MS SQL Server: Strict PL (ή πιο χαλαρό πρωτόκολλο αν δεν ζητηθεί SERIALIZABLE isolation level) Oracle 8: multiversion concurrency control MS SQL Server: επιπλέον, επιτρέπει και optimistic concurrency control 79 Για εµβάθυνση, εµπέδωση και επέκταση... Hal Berenson, Philip A. Bernstein, Jim Gray, Jim Melton, Elizabeth J. O'Neil, Patrick E. O'Neil: A Critique of ANSI SQL Isolation Levels. SIGMOD Conference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

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

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

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

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε.

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε. ΠΡΟΛΟΓΟΣ Η εργασία αυτή, παρουσιάζει και αναλύει τις δυνατότητες µοντελοποίησης και προσοµοίωσης που είναι διαθέσιµες στο λογισµικό Extend και πιο συγκεκριµένα περιγράφει τη λειτουργία, µοντελοποίηση και

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PostgreSQL. Oracle. Εαρινό Εξάμηνο . - Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents 1 - Table of contents 1 2 - Table of contents 1 2 3 - 1 2-3 - Καταγωγή από την

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

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

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

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

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

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

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

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

Γιατί υϖάρχει τέτοια καθολική κατάσταση; ΥΛΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΤΩΝ ΑΝΑΓΝΩΣΗΣ/ΕΓΓΡΑΦΗΣ Καταχωρητές που µοιάζουν πιο πολύπλοκοι µπορούν να υλοποιηθούν από απλούστερους καταχωρητές. Multi-valued from Binary Βασικό Αντικείµενο: δυαδικός καταχωρητής ο

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

Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε?

Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε? Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε? Το κλείδωμα δουλεύει σε κάθε περίπτωση, αλλά πρέπει να διαλέξουμε μικρά ή μεγάλα αντικείμενα? Αν κλειδώνουμε μεγάλα αντικείμενα (π.χ.,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

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

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης ιαχείριση Συναλλαγών II Tree Protocols Τζικούλης Βασίλειος redits:γιάννης Μακρυδάκης 1 ιαχείριση Συναλλαγών Συναλλαγή = Αδιάσπαστη Λογική Οµάδα Ενεργειών

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

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

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

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

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

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

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

Εξεταστική Περίοδος Ιουνίου 2004

Εξεταστική Περίοδος Ιουνίου 2004 Aρχεία και Βάσεις εδοµένων Εξεταστική Περίοδος Ιουνίου 2004 ιαβάστε προσεκτικά όλες τις οδηγίες, τις εκφωνήσεις των ερωτηµάτων και τις όποιες οδηγίες υπάρχουν σε κάθε ερώτηµα. Η εξέταση πραγµατοποιείται

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

2.4 Κλασσικά Προβλήματα IPC

2.4 Κλασσικά Προβλήματα IPC 2.4 Κλασσικά Προβλήματα IPC 1 Οι φιλόσοφοι που γευματίζουν - Dining Philosophers Μια πρώτη λύση για Ν φιλοσόφους: philosopher (i) while (1) { think; take_fork(i);/* πάρε αριστερό ξυλάκι */ take_fork(i+1

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

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

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

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

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

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

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

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

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

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

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

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

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

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

Ανάκτηση Δεδομένων (Information Retrieval)

Ανάκτηση Δεδομένων (Information Retrieval) Ανάκτηση Δεδομένων (Information Retrieval) Παύλος Εφραιμίδης Βάσεις Δεδομένων Ανάκτηση Δεδομένων 1 Information Retrieval (1) Βάσεις Δεδομένων: Περιέχουν δομημένη πληροφορία: Πίνακες Ανάκτηση Πληροφορίας

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

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

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

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

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

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

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

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

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

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

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Έλεγχος Μέλους Συνόλου (Set Membership) Οι IN και NOT IN τελεστές ελέγχουν για μονό membership

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

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

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

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

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

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

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

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

Heapsort Using Multiple Heaps

Heapsort Using Multiple Heaps sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους

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

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

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

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

Ισοζυγισµένο έντρο (AVL Tree)

Ισοζυγισµένο έντρο (AVL Tree) Εργαστήριο 7 Ισοζυγισµένο έντρο (AVL Tree) Εισαγωγή Εκτός από τα δυαδικά δέντρα αναζήτησης (inry serh trees) που εξετάσαµε σε προηγούµενο εργαστήριο, υπάρχουν αρκετά είδη δέντρων αναζήτησης µε ξεχωριστό

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

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

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

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