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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ (1) Μετατροπή ερωτήσεων που απευθύνονται σε καθολικές σχέσεις, σε ερωτήσεις που απευθύνονται σε συγκεκριµένα τµήµατα της κατανεµηµένης βάσης. (2) Μέθοδοι που βελτιστοποιούν την αποτίµηση µιας ερώτησης. καθολικές ερωτήσεις (global queries) = ερωτήσεις που απευθύνονται σε καθολικές σχέσεις ερωτήσεις τµηµάτων (fragment queries) = ερωτήσεις που απευθύνονται σε τµήµατα. Ένας από τους βασικούς στόχους των µετασχηµατισµών είναι η πληρότητα και η ορθότητά τους 1

2 Ισοδυναµίες µετασχηµατισµών Μία σχεσιακή ερώτηση µπορεί να εκφραστεί σαν ο συνδυασµός διάφορων εκφράσεων της σχεσιακής άλγεβρας. Μπορούµε να έχουµε διαφορετικά πλάνα εκτέλεσης για το ίδιο αποτέλεσµα. Για παράδειγµα, οι ακόλουθες πράξεις είναι ισοδύναµες µεταξύ τους: π NAME, DEPTNUM σ DEPTNUM = 15 EMP σ DEPTNUM = 15 π NAME, DEPTNUM EMP Στην βελτιστοποίηση ερωτήσεων στις βάσεις δεδοµένων είναι καθιερωµένη τεχνική να χρησιµοποιούµε ένα δέντρο τελεστών (operator tree). Έστω η ερώτηση π TNUM, ROLE σ CITY = 'RHO' (TASK DEPT_TASK) 2

3 Π EMPNUM, ROLE σ CITY='RHO' TNUM = TNUM TASK DEPT_TASK 3

4 Υπάρχουν δύο ειδών τελεστές: οι µοναδιαίοι (unary) και οι δυαδικοί (binary). Στους µοναδιαίους έχουµε την επιλογή και την προβολή (select και project), Στους δυαδικούς το καρτεσιανό γινόµενο, η ένωση, η διαφορά, η τοµή, η σύνδεση, η φυσική σύνδεση και η ηµι-σύνδεση (cartesian product, union, difference, intersection, join, natural join, semi-join). ύο εκφράσεις είναι ισοδύναµες: αν αντικαταστήσουµε τη µία µε την άλλη, το αποτέλεσµα θα παραµείνει το ίδιο, ανεξάρτητα από τα δεδοµένα που περιέχει η βάση δεδοµένων. Αντιµεταθετικότητα µοναδιαίων τελεστών U 1 U 2 R U 2 U 1 R 4

5 Αντιµεταθετικότητα δυαδικών τελεστών R 1 B R 2 R 2 Β R 1 Προσεταιριστικότητα δυαδικών τελεστών R 1 B (R 2 B R 3 ) (R 1 Β R 2 ) B R 3 Μοναδική ποσότητα µοναδιαίων τελεστών U R U 1 U 2 R Επιµεριστικότητα µοναδιαίων τελεστών σε σχέση µε δυαδικούς U(R 1 ) B U(R 2 ) U(R 1 Β R 2 ) Οι παραπάνω ιδιότητες δεν ισχύουν πάντα. Εν γένει, οι ιδιότητες αυτές ισχύουν µόνο όταν κάποιες συνθήκες πληρούνται. 5

6 1. Αντιµεταθετικότητα µεταξύ επιλογής και προβολής.: π A1 σ F2 R = σ F2 π A1 R, όταν Attr(F 2 ) A 1 2. Προσεταιριστικότητα µεταξύ συνδέσεων. R 1 F1 (R 2 F2 R 3 ) (R 1 F1 R 2 ) F2 R 3, όταν Attr(F 2 ) Attr(R 2 ) Attr(R 3 ) 3. Μοναδική ποσότητα µεταξύ προβολών. π A R = π Α1 (π A2 R), όταν A = Α 1, Α A 2 4. Προσεταιριστικότητα µεταξύ καρτεσιανού γινοµένου και προβολής: π A (R 1 R 2 ) = π Α1 (R 1 ) π A2 (R 2 ), όταν A 1 = A - Αttr(R 1 ), A 2 = A - Αttr(R 2 ) 5. Προσεταιριστικότητα µεταξύ ένωσης και σύνδεσης. 6

7 (R 1 R 2 ) (S 1 S 2 ) = (R 1 S 1 ) (R 1 S 2 ) (R 2 S 1 ) (R 2 S 2 ) Μετασχηµατισµοί καθολικών ερωτήσεων σε ερωτήσεις τµηµάτων Έστω µια αλγεβρική έκφραση µιας καθολικής ερώτησης. Η κανονική έκφρασή της (canonical expression), είναι η ισοδύναµη έκφραση, όπου οι καθολικές σχέσεις έχουν αντικατασταθεί από αλγεβρικές εκφράσεις οι οποίες περιγράφουν τον τρόπο µε τον οποίο ανασυντίθεται η καθολική σχέση από τα τµήµατά της. Πολύ βασικός: η κανονική έκφραση περιγράφει τον τρόπο µε τον οποίο η ερώτηση θα αποτιµηθεί στην πράξη. Η κανονική έκφραση είναι και αυτή µια αλγεβρική έκφραση και ως εκ τούτου, όλες οι ισοδυναµίες που περιγράφηκαν προηγουµένως µπορούν να χρησιµοποιηθούν. 7

8 Π TNUM, ROLE σ CITY='RHO' TNUM = TNUM DEPT_TASK1: DEPTNUM = DEPTNUM AND DEPTNUM <= 10 DEPT_TASK3: DEPTNUM = DEPTNUM AND 10 < DEPTNUM <= 20 AND AREA = 'SOUTH' DEPT_TASK4: DEPTNUM = DEPTNUM AND DEPTNUM > 20 TASK1: CITY = 'RHO' TASK2: CITY = 'KAST' DEPT_TASK2: DEPTNUM = DEPTNUM AND 10 < DEPTNUM <= 20 AND AREA = 'NORTH' 8

9 Π TNUM, ROLE TNUM = TNUM π TNUM π TNUM Π TNUM, ROLE Π TNUM, Π TNUM, ROLE Π TNUM, ROLE DEPT_TASK1 ROLE DEPT_TASK3 DEPT_TASK4 σ CITY='RHO' σ CITY='RHO' DEPT_TASK2 TASK1 TASK2 Βελτιστοποίηση µιας κανονικής έκφρασης: οι επιλογές και οι προβολές γίνονται τοπικά 9

10 Κανόνες για τη βελτιστοποίηση ερωτήσεων Κανόνας 1. Βασιζόµενοι στην επιµεριστικότητα των µοναδιαίων τελεστών σε σχέση µε τους δυαδικούς, σπρώχνουµε επιλογές και προβολές όσο πιο χαµηλά γίνεται στο δέντρο. Για παράδειγµα, αντί για να κάνουµε την επιλογή σ CITY='RHO' (TASK DEPT_TASK), προτιµήθηκε να σπρώξουµε την επιλογή µόνο στα τµήµατα TASK 1 και TASK 2, ώστε να µειώσουµε το κόστος µεταφοράς δεδοµένων. Κανόνας 2. Βασιζόµενοι στην αντιµεταθετικότητα και τη µοναδική ποσότητα των µοναδιαίων τελεστών, παράγουµε συνδυασµούς από επιλογές και προβολές σε κάθε εµπλεκόµενη σχέση. Στο προηγούµενο παράδειγµα, αντί να εµπλέξουµε όλο το TASK 1, προτιµήθηκε να χρησιµοποιηθεί η έκφραση π TNUM σ CITY='RHO' (TASK 1 ), η οποία σαφώς µειώνει το µέγεθος της αποτιµούµενης σχέσης. 10

11 Κανόνας 3. Μπορούµε να απαλείφουµε φύλλα του δέντρου, αν ο συνδυασµός των αλγεβρικών εκφράσεων που τα ορίζουν µε τις αλγεβρικές εκφράσεις που τους επιβάλλονται έρχεται σε σύγκρουση. Για παράδειγµα, η έκφραση σ CITY='RHO' (TASK 2 ) ισοδυναµεί µε την έκφραση σ CITY='RHO' σ CITY='KAST' (TASK), η οποία δεν έχει νόηµα να αποτιµηθεί.. Κανόνας 4. Αν ο γράφος σύνδεσης είναι απλός, µπορούµε να εκτελούµε τις συνδέσεις πριν από τις ενώσεις. Εκτελούµε τις συνδέσεις τοπικά, µειώνουµε νωρίς την πληροφορία που διακινούµε στο δίκτυο. Κανόνας 5. Όπου έχουµε αυξηµένη µετα-πληροφορία, µπορούµε να τη χρησιµοποιούµε για να αποφεύγουµε άσκοπες συνδέσεις. Για παράδειγµα, αν γνωρίζουµε ότι DEPTNUM < 10 AREA = NORTH, µπορούµε να αποφύγουµε τη σύνδεση ενός τµήµατος µε AREA = SOUTH µε κάποιο τµήµα DEPT_TASK µε συνθήκη DEPTNUM <

12 Κανόνας 6. Χρησιµοποιούµε όσο το δυνατό πιο συχνά semi-joins αντί για joins, µε σκοπό να µειώσουµε τη διακινούµενη πληροφορία. Ο ρόλος των semi-joins στην βελτιστοποίηση ερωτήσεων στις κατανεµηµένες βάσεις δεδοµένων Η λύση του semi-join σκοπό έχει να µειώσει τον όγκο των δεδοµένων που µπαίνουν στο δίκτυο. Αν υποθέσουµε ότι έχουµε µια σύνδεση µεταξύ δύο σχέσεων, τότε έχουµε διάφορους τρόπους να γράψουµε τη σύνδεση αυτή, ισοδύναµα, χρησιµοποιώντας semi-join. Το ποιον από αυτούς θα διαλέξουµε, εξαρτάται από τη φύση της συγκεκριµένης βάσης δεδοµένων. 12

13 R A=A S (R < A=A S ) A=A S (R < A=A π Α (S)) A=A S R A=A (S < A=A R) (R < A=A S ) A=A (S < A=A R) Ας πάρουµε για παράδειγµα τη δεύτερη εναλλακτική λύση. Παρατηρούµε ότι η σχέση S εµφανίζεται δύο φορές στη σχεσιακή έκφραση. Ας υποθέσουµε τώρα ότι τα R και S βρίσκονται σε δύο διαφορετικές τοποθεσίες. Μπορούµε να κάνουµε γρήγορα µια προβολή στο S, να στείλουµε την πληροφορία στο R και να εκτελέσουµε το semi-join της πρώτης παρένθεσης τοπικά στην τοποθεσία του R. Αν υποθέσουµε ότι το R είναι µια µεγάλη σε όγκο σχέση, το αποτέλεσµα αυτής της πράξης θα είναι µια σαφώς µικρότερη σχέση. Στη συνέχεια, µπορούµε να µεταδώσουµε το 13

14 αποτέλεσµα αυτό στην τοποθεσία της S, όπου και θα γίνει η τελική σύνδεση. A=A (3) Τοποθεσία R < A=A (2) Τοποθεσία R R π Α (1) Τοποθεσία S S 14

15 Το πλάνο εκτέλεσης της ερώτησης R A=A S, µε τη χρήση semi-join Το semi-join αναδεικνύεται πολύ περισσότερο, σαν η προτιµητέα λύση, στην περίπτωση που εµπλέκονται παραπάνω από µία συνδέσεις στην ερώτηση. Όµως, είναι πιθανό, κάποια από τα ενδιάµεσα αποτελέσµατα (ειδικά στην περίπτωση που είναι πολύ µεγάλα) να καθυστερούν την αποτίµηση του αποτελέσµατος. Αυτό µπορεί να συµβεί, καθώς οι σχέσεις στις διάφορες τοποθεσίες έχουν συνήθως indexes τα οποία επιταχύνουν τις ερωτήσεις. Αντιθέτως, οι ενδιάµεσες σχέσεις που θα προκύψουν, δεν µπορούν να εκµεταλλευθούν τη δυνατότητα αυτή. Έτσι, αν και η λύση του semi-join είναι γενικά η προτιµητέα, πολλές φορές είναι πιθανό να µην είναι η βέλτιστη. 15

16 Παράδειγµα Έστω οι σχέσεις S(S#,SNAME) SP(S#,P#,QTY) P(P#,PNAME) που βρίσκονται αποθηκευµένες στους κόµβους Τ1, Τ2 και Τ3 αντίστοιχα. Ας υποθέσουµε ότι γνωρίζουµε τα παρακάτω στοιχεία για τις σχέσεις αυτές: S: έχει 6 εγγραφές µε κλειδιά s1, s2, s3, s4, s5, s6. SP: έχει 8 εγγραφές µε κλειδιά (s1,p1), (s1,p2), (s1,p3), (s2,p1), (s2,p2), (s2,p3), (s3,p1), (s3,p3). P: έχει 6 εγγραφές µε κλειδιά p1, p2, p3, p4, p5, p6. 16

17 Επιπλέον, γνωρίζουµε ότι τα µεγέθη των πεδίων είναι: Κλειδί Μέγεθος (bytes) S# 4 P# 4 QTY 10 SNAME 96 PNAME 196 Έστω, τώρα, ότι µια τοποθεσία Τ4 ενεργοποιεί την ερώτηση S SP P Έστω ότι το κόστος µεταφοράς = µέγεθος των µεταφερόµενων δεδοµένων (Μ). 17

18 Το κόστος χωρίς λειτουργίες semi-join. Η σχέση S (S#, SNAME) έχει 6 εγγραφές και καθεµία από αυτές έχει µέγεθος 4+96=100 bytes. Άρα, το µέγεθος της S είναι bytes=600 bytes. Η σχέση SP (S#, P#, QTY) έχει 8 εγγραφές και καθεµία από αυτές έχει µέγεθος =18 bytes. Άρα, το µέγεθος της SP είναι 8 18 bytes=144 bytes. Η σχέση P (P#, PNAME) έχει 6 εγγραφές και καθεµία από αυτές έχει µέγεθος 4+196=200 bytes. Άρα, το µέγεθος της P είναι bytes=1200 bytes. Το αποτέλεσµα της ερώτησης S JOIN SP JOIN P, είναι µία σχέση R, η οποία αποτελείται από 8 εγγραφές και τα πεδία κάθε εγγραφής είναι τα παρακάτω: R(S#, SNAME, P#, PNAME, QTY). Το µέγεθος κάθε εγγραφής είναι =310 bytes. Συνεπώς, το µέγεθος της σχέσης R θα είναι bytes=2480 bytes. 18

19 Αν η ερώτηση S SP P εκτελεστεί σε οποιονδήποτε άλλο κόµβο εκτός από τον κόµβο Τ4, αυτό σηµαίνει ότι θα πρέπει να µεταφέρουµε το αποτέλεσµα, (το οποίο στη συνέχεια θα ονοµάζουµε R) στον κόµβο Τ4 όπου έχει ενεργοποιηθεί η ερώτηση. Το κόστος µεταφοράς δεδοµένων της λύσης R, είναι ίσο µε το µέγεθος των µεταφερόµενων δεδοµένων, δηλ. είναι C R = 2480 bytes. Αν η ερώτηση εκτελεστεί στον κόµβο Τ1 ή στον κόµβο Τ2 ή στον κόµβο Τ3, το κόστος της ερώτησης θα είναι ίσο µε το άθροισµα των διαφόρων µεταφεροµένων δεδοµένων από τους άλλους δύο κόµβους στον κόµβο που εκτελείται η ερώτηση, προσαυξηµένο κατά 2480 bytes, που είναι το κόστος µεταφοράς της λύσης. Αν µεταφέρουµε όλες τις σχέσεις S, SP και P στον κόµβο Τ4 και εκτελέσουµε εκεί την ερώτηση, έχουµε κόστος = µεταφορά των σχέσεων S,SP και P στον κόµβο Τ4, είναι =1944 bytes. 19

20 Εύρεση κόστους αν υποθέσουµε ότι κάνουµε S < SP Η ερώτηση θα εκτελεστεί ως εξής: προβάλλουµε το S# από την SP στον κόµβο Τ2 και θα το στείλουµε στον Τ1. εκτελουµε το semi-join το οποίο θα δηµιουργήσει το αποτέλεσµα S'. Στέλνουµε στον κόµβο Τ4, τα S', SP, P και εκτελουµε την ένωση. Το SP πρέπει να το στείλουµε πάλι στον Τ4, άσχετα από το αν έχει ήδη συµµετάσχει στο semi-join στον κόµβο Τ1. Αναλυτικά, έχουµε: Πρώτα θα γίνει στον κόµβο Τ2, προβολή των τιµών S# της σχέσης SP. ηλαδή θα γίνει η πράξη: F = Π S# (SP). Η σχέση F έχει 3 εγγραφές: s1, s2, s3. Αυτές οι τιµές µεταφέρονται στον κόµβο Τ1, όπου βρίσκεται η σχέση S. ηλαδή, µεταφέρονται 3 4=12 bytes. 20

21 Στον κόµβο Τ1, γίνεται το join της σχέσης S και των τιµών S# που ήρθανε από τον κόµβο Τ2, δηλαδή γίνεται η πράξη: S'= F S. Η σχέση S' έχει µέγεθος 3 (4+96)=300 bytes. Στη συνέχεια, µεταφέρεται η σχέση S από τον κόµβο Τ1 στον κόµβο Τ4, δηλαδή µεταφέρονται 300 bytes. Η αξία της κίνησης αυτής είναι ότι µε το S < SP, αντί να µεταφερθεί από τον κόµβο Τ1 στον κόµβο Τ4 ολόκληρη η σχέση S, µεταφέρονται µόνο εκείνες οι εγγραφές που πραγµατικά χρειάζονται και θα χρησιµοποιηθούν. Κατόπιν, µεταφέρεται η σχέση SP από τον κόµβο Τ2 στον κόµβο Τ4 (144 bytes) και επίσης µεταφέρεται η σχέση P από τον κόµβο Τ3 στον κόµβο Τ4 (1200 bytes). Τέλος, στον κόµβο Τ4, πραγµατοποιείται η ερώτηση R = S' SP P. Το κόστος της ερώτησης αν χρησιµοποιηθεί το S < SP, είναι: =1656 bytes. 21

22 Εύρεση του βέλτιστου πλάνου, µε τη χρήση semi-joins Παρατηρούµε ότι προβάλλοντας τα πεδία S# και P# της σχέσης SP παίρνουµε 3 τιµές τόσο για το κλειδί S#, όσο και για το P#. Από την άλλη µεριά, προβάλλοντας το πεδίο S# της S και το πεδίο P# της P παίρνουµε 6 τιµές και στις δύο περιπτώσεις. εδοµένου ότι τα πεδία S# και P# αποτελούν τα πεδία σύνδεσης για τη σύνδεση των σχέσεων S, SP και P, και ότι είναι ίδιου µεγέθους, συµφέρει να προβάλλουµε τα πεδία S# και P#, της σχέσης SP. Το καλύτερο πλάνο εκτέλεσης της ερώτησης είναι το εξής: i) Προβάλλουµε το πεδίο S# της SP στον κόµβο Τ2 και µεταφέρουµε τη σχέση F=π S# (SP), δηλαδή C1=12 bytes, στον κόµβο Τ1. ii) Προβάλλουµε το πεδίο P# της SP στον κόµβο Τ2 και µεταφέρουµε τη σχέση G=π P# (SP), δηλαδή C1 =12 bytes, στον κόµβο Τ3. 22

23 iii) Κάνουµε τη σύνδεση F =S S#=S# F στον κόµβο Τ1 και προκύπτει µια σχέση µε µέγεθος : 3 100=300 bytes. iv) Επίσης, κάνουµε τη σύνδεση G =P P#=P# G στον κόµβο Τ3 και προκύπτει µια σχέση µε µέγεθος : 3 200=600 bytes. v) Μεταφέρουµε τη σχέση SP από τον κόµβο Τ2 στον κόµβο Τ4, δηλαδή µεταφέρουµε C2=144 bytes. vi) Μεταφέρουµε την F, δηλαδή C3=300 bytes, από τον κόµβο Τ2 και κάνουµε τη σύνδεση F"=F S#=S# SP, στον κόµβο Τ4. vii) Επίσης, µεταφέρουµε την G, δηλαδή C3 =600 bytes, από τον κόµβο Τ3 και κάνουµε τη σύνδεση F" P#=P# G, για να πάρουµε την τελική σχέση R στον κόµβο Τ4. Το συνολικό κόστος της ερώτησης είναι: C = C1 + C1 + C2 + C3 + C3 = = 1068 bytes 23

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

25 Κατά τη διάρκεια µιας δοσοληψίας, η βάση µπορεί προσωρινά να βρεθεί σε µη συνεπή κατάσταση. Στο τέλος της δοσοληψίας, όµως, πρέπει οπωσδήποτε να είναι συνεπής. 4 βασικές ιδιότητες: αυτονοµία, συνέπεια, αποµόνωση, διάρκεια. Το σύνολο αυτών των ιδιοτήτων είναι γνωστό µε το ακρωνύµιο ACID (Atomicity, Consistency, Isolation, Durability). H αυτονοµία (atomicity) αναφέρεται στο γεγονός ότι µια δοσοληψία είναι µια αδιαίρετη µονάδα λειτουργίας. Είτε θα ολοκληρωθούν όλες οι ενέργειές της, είτε καµία από αυτές δε θα γίνει αποδεκτή. Η συνέπεια (consistency) σηµαίνει ότι µια δοσοληψία παίρνει µια βάση δεδοµένων από µια συνεπή και την µεταφέρει σε µια νέα µορφή, όπου η βάση εξακολουθεί να είναι συνεπής.. 25

26 Η αποµόνωση (isolation) σηµαινει οτι ακόµα και αν υπάρχουν άλλες δοσοληψίες ταυτόχρονα µε αυτή, µια δοσοληψία θα αγνοεί τα αποτελέσµατά τους, σα να µην υπάρχουν - σειριοποιησιµότητα (serializability). Η διάρκεια (durability) είναι η ιδιότητα που εγγυάται ότι αν µια δοσοληψία ολοκληρωθεί επιτυχώς (φτάσει σε commit), τα αποτελέσµατά της θα είναι διαρκή και δε θα χαθούν από τη βάση, ανεξάρτητα από το αν το σύστηµα θα συνεχίσει να λειτουργεί οµαλά, ή θα βρεθεί σε κατάσταση µη οµαλής λειτουργίας. Αρχιτεκτονική. Το monitor κατανεµηµένης εκτέλεσης αποτελείται από δύο κύρια τµήµατα: το διαχειριστή δοσοληψιών (transaction manager) και τον συντονιστή (scheduler). 26

27 Ο διαχειριστής δοσοληψιών είναι υπεύθυνος για το συγχρονισµό της εκτέλεσης των διαφόρων λειτουργιών στη βάση δεδοµένων εκ µέρους µιας εφαρµογής. Ο συντονιστής είναι υπεύθυνος για την υλοποίηση ενός συγκεκριµένου αλγορίθµου συντονισµού δοσοληψιών για την πρόσβαση στη βάση δεδοµένων. Ένα τρίτο κοµµάτι είναι οι τοπικοί διαχειριστές ανάνηψης (recovery managers). Οι διαχειριστές ανάνηψης είναι υπεύθυνοι για την επαναφορά της βάσης σε συνεπή κατάσταση, µετά από µια αποτυχία. Κάθε δοσοληψία ξεκινά από κάποια τοποθεσία. Υπεύθυνο για τη διαχείριση της δοσοληψίας είναι το τοπικό monitor κατανεµηµένης εκτέλεσης, το οποίο είναι και υπεύθυνο για την επικοινωνία µε άλλα monitor κατανεµηµένης εκτέλεσης, σε διαφορετικές τοποθεσίες, έτσι ώστε η κατανεµηµένη δοσοληψία να έρθει εις πέρας. 27

28 Begin_transaction, Read, Write, Commit, Abort Αποτελέσµατα µε άλλα monitor Αιτήσεις Συντονισµού ιαχειριστής δοσοληψιών Συντονιστής µε άλλους συντονιστές µε άλλους επεξεργαστές δεδοµένων Επεξεργαστές δεδοµένων 28

29 Προβλήµατα κατανεµηµένων δοσοληψιών Το πλάνο εκτέλεσης (schedule) µε την οποία θα εκτελεστούν οι διάφορες πράξεις µπορεί να αντιµετωπιστεί είτε σε σχέση µε τη σειρά µε την οποία θα γίνει η εκτέλεση σε κάθε τοποθεσία (τοπικό πλάνο εκτέλεσης -local schedule) είτε σε σχέση µε το καθολικό πλάνο εκτέλεσης σε όλες τις τοποθεσίες (global schedule). Στην περίπτωση που δεν υπάρχει αντιγραφή, το καθολικό πλάνο εκτέλεσης είναι το ίδιο µε την ένωση όλων των τοπικών πλάνων. Στην περίπτωση που υπάρχουν επικαλύψεις, τα πράγµατα γίνονται πιο πολύπλοκα. Πιθανά να έχουµε τοπική σειριοποιησιµότητα χωρίς η καθολική σειριοποιησιµότητα να εξασφαλίζεται. 29

30 Έστω ότι έχουµε δύο τοποθεσίες, οι οποίες έχουν από ένα αντίγραφο x και ξεκινούν οι παρακάτω δοσοληψίες: Τ 1 : Read(x) x := x + 5 Write(x) Commit Τ 2: Read(x) x := 10 * x Write(x) Commit Έστω ότι έχουµε τα εξής τοπικά πλάνα εκτέλεσης: S 1 = {R 1 (x), W 1 (x), C 1, R 2 (x), W 2 (x), C 2 } S 2 = {R 2 (x), W 2 (x), C 2, R 1 (x), W 1 (x), C 1 } Ενώ και τα δύο τοπικά πλάνα εκτέλεσης είναι σειριοποιήσιµα (όντα σειριακά), το καθολικό πλάνο εκτέλεσης είναι µη σειριοποιήσιµο, καθώς οι δύο δοσοληψίες εκτελούνται µε την αντίστροφη σειρά σε κάθε τοποθεσία 30

31 Ταξινόµηση των αλγορίθµων ελέγχου συντονισµού Υπάρχουν διάφοροι τρόποι για την ταξινόµηση των αλγορίθµων ελέγχου συντονισµού. Ο πιο βασικός τρόπος είναι αυτός που κατατάσσει τους αλγόριθµους ανάλογα µε τα µέσα που χρησιµοποιούν για το συντονισµό. Ένας άλλος είναι η θεώρηση που κάνει ο αλγόριθµος για το µέλλον µιας δοσοληψίας: οι αισιόδοξοι (optimistic) αλγόριθµοι θεωρούν ότι το πιο πιθανό είναι η δοσοληψία να τερµατίσει επιτυχώς, χωρίς συγκρούσεις. Οι απαισιόδοξοι (pessimistic) αλγόριθµοι υποθέτουν το αντίθετο. Το αποτέλεσµα είναι ότι οι αισιόδοξοι αλγόριθµοι συγχρονίζουν τις δοσοληψίες στο τέλος τους, ενώ οι απαισιόδοξοι συγχρονίζουν τις δοσοληψίες πολύ νωρίς. υο βασικές οµάδες αλγορίθµων: οι αλγόριθµοι που βασίζονται σε κλειδώµατα (lockings), και οι αλγόριθµοι που βασίζονται σε χρονοσήµανση (timestamps). 31

32 Στους αλγορίθµους που βασίζονται σε κλειδώµατα, ο συγχρονισµός των δοσοληψιών γίνεται µε τη χρήση αµοιβαίου αποκλεισµού των δοσοληψιών, πάνω σε κοµµάτια της βάσης δεδοµένων. Στους αλγορίθµους αυτούς, ο συντονιστής αναφέρεται και ως διαχειριστής κλειδωµάτων (lock manager). Υπάρχουν τρεις κύριοι αλγόριθµοι για τη διαχείριση των κλειδωµάτων κεντρικού κλειδώµατος (centralized locking). κλειδώµατος του πρωτεύοντος αντιγράφου (primary copy locking). αποκεντρωµένη προσέγγιση (decentralized locking). 32

33 Αλγόριθµοι κλειδωµάτων Στις µη κατανεµηµένες βάσεις δεδοµένων ο κλασικός αλγόριθµος που χρησιµοποιείται για τα κλειδώµατα είναι ο αλγόριθµος κλειδώµατος σε δύο φάσεις (2 Phase Locking - 2PL). S X S Ναι Όχι X Όχι Όχι Ο αλγόριθµος κεντρικού κλειδώµατος επεκτείνει τον κλασικό 2PL αναθέτοντας τη διαχείριση των κατανεµηµένων δοσοληψιών σε µία τοποθεσία µόνο. Αυτό σηµαίνει ότι µόνο µια τοποθεσία έχει διαχειριστή κλειδωµάτων και οι διαχειριστές δοσοληψιών στις άλλες τοποθεσίες επικοινωνούν µε αυτόν. 33

34 κλειδωµάτων Επεξεργαστές δεδοµένων στις εµπλεκόµενες τοποθεσίες Monitor Συντονιστής 1. Αίτηση κλειδώµατος ιαχειριστής κλειδωµάτων κεντρικής τοποθεσίας 2. Παροχή κλειδώµατος 3. Λειτουργία 4. Τέλος λειτουργίας 5. Απελευθέρωση Αλγόριθµος κεντρικού κλειδώµατος Ένα βασικό µειονέκτηµα του αλγορίθµου κεντρικού κλειδώµατος είναι ότι η κεντρική τοποθεσία µπορεί να µεταβληθεί στο bottleneck του όλου συστήµατος, ιδιαίτερα σε συστήµατα µε υψηλό ρυθµό δοσοληψιών. Επίσης, αν για κάποιο λόγο η κεντρική τοποθεσία δεν µπορεί να επικοινωνήσει µε τις υπόλοιπες, τότε το σύστηµα δεν µπορεί να λειτουργήσει. 34

35 Στον αλγόριθµο κλειδώµατος του πρωτεύοντος αντιγράφου, έχουµε µια επέκταση του αλγορίθµου κεντρικού κλειδώµατος. Επιτρέπουµε σε παραπάνω από µια τοποθεσίες να έχουν διαχειριστή κλειδωµάτων. Κάθε διαχειριστής κλειδωµάτων είναι υπεύθυνος για να διαχειρίζεται κλειδώµατα για µια οµάδα από "οντότητες" (πλειάδες, πίνακες). Οι διαχειριστές δοσοληψιών επικοινωνούν κάθε φορά µε τον κατάλληλο διαχειριστή κλειδωµάτων. Έτσι, για κάθε τµήµα πληροφορίας, έχουµε ένα πρωτεύον αντίγραφο. Ο αλγόριθµος κλειδώµατος του πρωτεύοντος αντιγράφου έχει το µειονέκτηµα ότι απαιτεί επιπλέον µετα-πληροφορία για την περιγραφή της αρχιτεκτονικής κάθε βάσης. Παρ' όλα αυτά, το φορτίο στις διάφορες τοποθεσίες είναι λιγότερο απ' ότι στον αλγόριθµο κεντρικού κλειδώµατος. 35

36 Στον κατανεµηµένο 2PL αλγόριθµο, θεωρούµε ότι έχουµε διαχειριστές κλειδωµάτων σε κάθε τοποθεσία. Κάθε συντονιστής είναι υπεύθυνος για τα αντίγραφα της πληροφορίας που βρίσκεται τοπικά. Μια δοσοληψία, είναι υποχρεωµένη να κλειδώσει όλα τα αντίγραφα που υπάρχουν στην κατανεµηµένη βάση (εµπλέκονται περισσότεροι του ενός διαχειριστές κλειδωµάτων). Αυτό, ναι µεν επιτρέπει την αποφυγή του bottleneck σε κάποια κεντρική τοποθεσία, αλλά δηµιουργεί επιπλέον προβλήµατα συγχρονισµού µεταξύ των διαχειριστών κλειδωµάτων. 36

37 Monitor Συντονιστής ιαχειριστές κλειδωµάτων στις εµπλεκόµενες τοποθεσίες Επεξεργαστές δεδοµένων στις εµπλεκόµενες τοποθεσίες 1. Αίτηση κλειδώµατος 2. Λειτουργία 3. Λειτουργία 4. Απελευθέρωση κλειδωµάτων Κατανεµηµένος 2PL αλγόριθµος 37

38 COMMIT & RECOVERY OF DISTRIBUTED TRANSACTIONS Οι βασικοί τρόποι µε τους οποίους µπορεί να συµβεί µια αποτυχία σε µια βάση δεδοµένων είναι οι εξής: 1.Αποτυχία χωρίς απώλεια πληροφορίας (abort) 2.Αποτυχία µε απώλεια κεντρικής µνήµης 3.Αποτυχία µε απώλεια δευτερεύουσας µνήµης (media failures). Κατανεµηµένες δοσοληψίες Στην περίπτωση των κατανεµηµένων δοσοληψιών υπάρχουν επιπλέον προβλήµατα που µπορούν να επηρεάσουν την εξέλιξη µιας δοσοληψίας. Θεωρούµε ότι υπάρχει µια εφαρµογή (κάποιο monitor, δηλαδή) η οποία ξεκινά µια δοσοληψία και είναι ο συντονιστής (coodinator) της δοσοληψίας. 38

39 Ο συντονιστής επικοινωνεί µε διάφορα monitors σε άλλες τοποθεσίες, τα οποία βοηθούν στην ολοκλήρωση της εν λόγω δοσοληψίας. Υπάρχουν δύο βασικά πρωτόκολλα που θα µας απασχολήσουν: τα πρωτόκολλα τερµατισµού (termination) και τα πρωτόκολλα ανάνηψης. Στα πρωτόκολλα τερµατισµού, το ζητούµενο είναι να ολοκληρωθεί επιτυχώς, ή να αναιρεθεί µια δοσοληψία, µε γενικό στόχο τη συνολική συνέπεια της κατανεµηµένης βάσης δεδοµένων. Στα πρωτόκολλα ανάνηψης, το ζητούµενο είναι πάλι η συνέπεια της βάσης, µέσα όµως από διαδικασίες επαναλειτουργίας της βάσης, µετά από κάποια αποτυχία. 39

40 2 Phase Commit (2PC) Εν γένει, από ένα πρωτόκολλο τερµατισµού έχουµε τις παρακάτω απαιτήσεις: Το πρωτόκολλο πρέπει να διατηρεί την ατοµικότητα των δοσοληψιών. Ακόµα και αν µια δοσοληψία εµπλέκει παραπάνω από µία τοποθεσίες, πρέπει, είτε να ολοκληρώνεται επιτυχώς συνολικά, είτε να αναιρείται συνολικά. Το πρωτόκολλο πρέπει να µπορεί να τερµατίζει µια δοσοληψία, χωρίς να χρειάζεται να περιµένει την επάνοδο µιας τοποθεσίας που βρίσκεται εκτός λειτουργίας. To πρωτόκολλο 2PC στηρίζεται στην κεντρική ιδέα ότι όλες οι τοποθεσίες που εµπλέκονται σε µια κατανεµηµένη δοσοληψία πρέπει να συµφωνήσουν στην επιτυχή ολοκλήρωσή της (commit) πριν τα αποτελέσµατα της δοσοληψίας αποθηκευθούν διαρκώς στη βάση δεδοµένων. 40

41 Συνεπαγόµενο αυτής της κεντρικής ιδέας είναι το ότι αν µία τοποθεσία αρνηθεί την επιτυχή ολοκλήρωση, όλη η δοσοληψία αναιρείται. Κατ' αρχήν, ο συντονιστής γράφει στο µηχανισµό καταγραφής ένα record µε την ένδειξη "begin_transaction" (σηµατοδοτώντας έτσι την έναρξη µιας δοσοληψίας). Στη συνέχεια, στέλνει ένα µήνυµα "prepare" στις υπόλοιπες τοποθεσίες και µπαίνει σε κατάσταση "WAIT". Όταν µια τοποθεσία δέχεται ένα µήνυµα "prepare" ελέγχει αν µπορεί να ολοκληρώσει επιτυχώς τη δοσοληψία. Στην περίπτωση που µπορεί, γράφει στο µηχανισµό καταγραφής της ένα record µε την ένδειξη "ready", στέλνει ένα µήνυµα "vote-commit" στο συντονιστή και µπαίνει σε κατάσταση "READY". 41

42 Στην περίπτωση που για οποιοδήποτε λόγο, µια τοποθεσία αδυνατεί να ολοκληρώσει επιτυχώς τη δοσοληψία, γράφει στο µηχανισµό καταγραφής της ένα record µε ένδειξη "ABORT" και αποστέλλει ένα µήνυµα µε ένδειξη "vote-abort" στο συντονιστή. Στην περίπτωση αυτή, η τοποθεσία παύει να ασχολείται πλέον µε τη δοσοληψία, καθώς είναι σίγουρο ότι η δοσοληψία θα αναιρεθεί συνολικά. Όταν ο συντονιστής έχει λάβει τα µηνύµατα από όλες τις εµπλεκόµενες τοποθεσίες αποφασίζει αν θα ολοκληρώσει επιτυχώς τη δοσοληψία. Η απόφαση αυτή είναι θετική, µόνο στην περίπτωση που όλες οι τοποθεσίες έχουν "ψηφίσει" υπέρ της κατάληξης αυτής. Στην περίπτωση έστω και µιας αρνητικής ψήφου, η δοσοληψία αναιρείται. 42

43 Στην περίπτωση της επιτυχούς ολοκλήρωσης, ο συντονιστής γράφει ένα "commit" record στο µηχανισµό καταγραφής του, στέλνει ένα "globalcommit" record σε όλες τις τοποθεσίες και µπαίνει σε κατάσταση "COMMIT". Στην αντίθετη περίπτωση, γράφει ένα "abort" record στο µηχανισµό καταγραφής του, αποστέλλει ένα µήνυµα "global-abort" στις εµπλεκόµενες τοποθεσίες και µπαίνει σε κατάσταση "ABORT". Οι τοποθεσίες είναι υποχρεωµένες να δράσουν ανάλογα µε το µήνυµα του συντονιστή και να του επιβεβαιώσουν την πράξη τους. Όταν ο συντονιστής λάβει θετικές επιβεβαιώσεις από όλες τις τοποθεσίες γράφει στο µηχανισµό καταγραφής του ένα "end-of-transaction" record και η δοσοληψία τερµατίζει. 43

44 Συντονιστής Συµµετέχοντες Συντονιστής Συµµετέχοντες Συντονιστής prepare vote-abort/ vote-commit global-abort/ global-commit aborted/ commited Πρωτόκολλο 2 Phase Commit - Κεντρικός 2PC 44

45 Υπάρχουν διάφορες παραλλαγές αυτού του αλγορίθµου µε πιο βασική αυτή του κατανεµηµένου 2PC (distributed 2PC). Στην περίπτωση αυτή, κάθε τοποθεσία, µόλις λάβει το µήνυµα "prepare" ενηµερώνει όλες τις εµπλεκόµενες τοποθεσίες για την ψήφο της. Κάθε µία τοποθεσία περιµένει την ψήφο όλων των άλλων εµπλεκοµένων τοποθεσιών και αν όλοι έχουν ψηφίσει θετικά, ολοκληρώνει επιτυχώς τη δοσοληψία Συντονιστής Συµµετέχοντες Συµµετέχοντες prepare vote-abort/ vote-commit global-abort/ global-commit 45

46 Ένα άλλο σηµείο που πρέπει να τονίσουµε είναι ότι µέχρι στιγµής, υποθέσαµε ότι οι τοποθεσίες µπορούν να επικοινωνούν µεταξύ τους. ο 2PC αλγόριθµος πάσχει σε αυτή την περίπτωση, καθώς βασίζεται στην οµοφωνία (ή αντίστοιχα στο veto) των τοποθεσιών για την ολοκλήρωση µιας δοσοληψίας. Η αντιµετώπιση του εν λόγω προβλήµατος µπορεί να γίνει µε διάφορους τρόπους (χρήση µετρητών χρόνου και timeouts). 1.Κάποιο µήνυµα χάνεται στο δίκτυο. Στην περίπτωση που το µήνυµα απευθύνεται πρός το συντονιστή, αν λήξει το αντίστοιχο timeout, η δοσοληψία αναιρείται. Αν το µήνυµα απευθύνεται σε κάποιο συµµετέχοντα, ο συµµετέχων, µε τη λήξη του timeout, µπορεί να ζητήσει επανάληψη της αποστολής του µηνύµατος. 46

47 2.Κάποιος συµµετέχων αποτυγχάνει πριν γράψει το "ready" record στο µηχανισµό καταγραφής του. Αν το timeout του συντονιστή λήξει, η δοσοληψία αναιρείται. Μόλις ο συµµετέχων ανανήψει, απλά αναιρεί και αυτός τη δοσοληψία. 3.Κάποιος συµµετέχων αποτυγχάνει αφού γράψει το "ready" record στο µηχανισµό καταγραφής του και αποστείλει το "READY" µήνυµα. Σε αυτή την περίπτωση, οι υπόλοιποι τερµατίζουν τη δοσοληψία χωρίς να τον λαµβάνουν υπόψη τους. Μόλις ο συµµετέχων ανανήψει, ζητά από το συντονιστή να µάθει το αποτέλεσµα της δοσοληψίας και ενεργεί και αυτός κατάλληλα. 4.Ο συντονιστής αποτυγχάνει αφού έχει γράψει το "prepare" record αλλά πριν γράψει το "global_commit" record στο µηχανισµό καταγραφής του. Μόλις ανανήψει, αυτός αποστέλει το "prepare" µήνυµα στις τοποθεσίες και η δοσοληψία συνεχίζει κανονικά. 47

48 5.Ο συντονιστής αποτυγχάνει αφού έχει γράψει το "global_commit" record στο µηχανισµό καταγραφής του, αλλά πριν γράψει το "end-oftransaction" record. Το σενάριο και εδώ είναι το ίδιο µε την προηγούµενη περίπτωση. 6.Το δίκτυο κόβεται κάπου σε δύο τµήµατα. Τότε, σε ότι αφορά το συντονιστή, η κατάσταση είναι ίδια µε τις περιπτώσεις 2 και 3, ενώ σε ότι αφορά τους συµµετέχοντες, η κατάσταση είναι ίδια µε τις περιπτώσεις 4 και 5. 48

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

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

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

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις

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

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1 ΓΕΝΙΚΑ Μια κατανεµηµένη βάση δεδοµένων (distributed database) µπορεί να οριστεί σαν µια οµάδα από λογικά συνδεόµενες βάσεις δεδοµένων που είναι διεσπαρµένες σε ένα δίκτυο

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

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

Επεξεργασία Ερωτήσεων Επεξεργαστής Ερωτήσεων (Query Processor) Ερώτηση του χρήστη σε κάποια γλώσσα υψηλού επιπέδου (π.χ., QL) Χαµηλού επιπέδου εντολές επεξεργασίας δεδοµένων (π.χ., υλοποιήσεις πράξεων της σχεσιακής άλγεβρας)

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

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 7 ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Π. ΒΑΣΙΛΕΙΑ ΗΣ 2.1 ΓΕΝΙΚΑ Μια κατανεµηµένη βάση δεδοµένων (distributed database) µπορεί να οριστεί σαν µια οµάδα από λογικά συνδεόµενες βάσεις

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων. Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης

Σχεδίαση Βάσεων Δεδομένων. Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης Σχεδίαση Βάσεων Δεδομένων Ενότητα 5-Κατανεμημένα συστήματα ΒΔ Μανώλης Μαραγκουδάκης Εισαγωγή Τα δεδομένα είναι αποθηκευμένα σε διαφορετικούς κόμβους και κάθε κόμβο τον διαχειρίζεται ένα ΣΔΒΔ που τρέχει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1 ΓΕΝΙΚΑ Μια κατανεµηµένη βάση δεδοµένων (distributed database) µπορεί να οριστεί σαν µια οµάδα από λογικά συνδεόµενες βάσεις δεδοµένων που είναι διεσπαρµένες σε ένα δίκτυο

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών «Προηγµένα Συστήµατα Πληροφορικής» Μεταπτυχιακή ιατριβή Τίτλος ιατριβής ιασύνδεση επικοινωνία και ενηµέρωση κατανεµηµένων βάσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

Απαντήσεις. Απάντηση. Απάντηση

Απαντήσεις. Απάντηση. Απάντηση 6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα.

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

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

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασµός. Κατανεµηµένες Βάσεις εδοµένων Από πάνω προς τα κάτω Κυρίως στο σχεδιασµό συστηµάτων από την αρχή Κυρίως σε οµογενή συστήµατα

Σχεδιασµός. Κατανεµηµένες Βάσεις εδοµένων Από πάνω προς τα κάτω Κυρίως στο σχεδιασµό συστηµάτων από την αρχή Κυρίως σε οµογενή συστήµατα Κατανεµηµένος Σχεδιασµός Σχεδιασµός Κατανεµηµένων Βάσεων εδοµένων Από πάνω προς τα κάτω Κυρίως στο σχεδιασµό συστηµάτων από την αρχή Κυρίως σε οµογενή συστήµατα Από κάτω προς τα πάνω Όταν ήδη υπάρχουν

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

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

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

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

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

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

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

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

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

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

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

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

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες] Α. Στο παρακάτω διάγραµµα εµφανίζεται η εκτέλεση ενός παράλληλου αλγόριθµου που λύνει το ίδιο πρόβληµα µε έναν ακολουθιακό αλγόριθµο χωρίς πλεονασµό. Τα Α i και B i αντιστοιχούν σε ακολουθιακά υποέργα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

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

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

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

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

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

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

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

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

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

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

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

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

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

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύγχρονο σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένος Υπολογισµός 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) θεωρητικές Γλώσσες Ερωτήσεων (Formal Query Languages): Σχεσιακή Άλγεβρα Τελεστές Θεωρίας Συνόλων

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

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

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

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

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:

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

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

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

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

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

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

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

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

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

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 2006-2007 2η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ 1. ίνεται το γνωστό πρόβληµα των δύο δοχείων: «Υπάρχουν δύο δοχεία

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος; ΙΝΥΣΜΤ ΘΕΩΡΙ ΘΕΜΤ ΘΕΩΡΙΣ Τι ονοµάζουµε διάνυσµα; AB A (αρχή) B (πέρας) Στη Γεωµετρία το διάνυσµα ορίζεται ως ένα προσανατολισµένο ευθύγραµµο τµήµα, δηλαδή ως ένα ευθύγραµµο τµήµα του οποίου τα άκρα θεωρούνται

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

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

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

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

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά

οµήτης παρουσίασης Marzullo και Neiger αλγόριθµος Παράδειγµα Distributed Debugging Εισαγωγικά Distributed Debugging Τσώτσος Θοδωρής Φωλίνας Νίκος Εισαγωγικά Επιθυµούµε να µπορούµε να παρατηρούµε την εκτέλεση του προγράµµατος κατά τη διάρκειά του. Έχουµε τη δυνατότητα να ελέγξουµε αν οι απαιτούµενες

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Πληροφορική 2. Βάσεις Δεδομένων (Databases) Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν

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

Ιδιοκτησία Αντικειµένου

Ιδιοκτησία Αντικειµένου Software Transactional Memory H STM υποστηρίζει την εκτέλεση δοσοληψιών από τις διεργασίες, οι οποίες περιέχουν λειτουργίες που ο χρήστης θέλει να εκτελέσει στα διαµοιραζόµενα αντικείµενα. H STM εγγυάται

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 9 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Εξαρτήσεις Εντολών Κίνδυνοι Κίνδυνοι από δοµικές εξαρτήσεις n Εξαρτήσεις υλικού Κίνδυνοι από εξαρτήσεις

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

Επίλυση Γραµµικών Συστηµάτων

Επίλυση Γραµµικών Συστηµάτων Κεφάλαιο 3 Επίλυση Γραµµικών Συστηµάτων 31 Εισαγωγή Αριθµητική λύση γενικών γραµµικών συστηµάτων n n A n n x n 1 b n 1, όπου a 11 a 12 a 1n a 21 a 22 a 2n A [a i j, x a n1 a n2 a nn x n, b b 1 b 2 b n

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

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

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

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6.

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6. D.P.S. 710 DRIVER Με την εγκατάσταση του οδηγού D.P.S 710 εγκαθίστανται και οι usb drivers στο φάκελο C:\DPS710_FISCAL\DRIVERS Συνδέστε την ταµειακή και στο παράθυρο που θα εµφανίσουν τα windows για την

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

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1 Καθολικέςκαταστάσεις Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική Κατανεµηµένα Συστήµατα 04-1 Ορισµοί Τοπικήιστορία διεργασίας p i Έστω ότι e ij είναι το γεγονός jτης

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

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

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 1: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής, στον οποίο ένα πρόγραµµα ολοκληρώνει την εκτέλεσή

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

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

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

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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