Βάσεις Δεδομένων II 2000-2001 Ευαγγελία Πιτουρά 1 Κατανεμημένες Βάσεις Δεδομένων.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Indexing.
Advertisements

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Πώς να χρησιμοποιήσετε τον λογαριασμό σας στο Gmail
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασφάλεια και Δικαιοδοσία σε Βάσεις Δεδομένων.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
1 Επεξεργασία Συναλλαγών. 2 Συναλλαγές m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων (ΚΒΔ)
ΕΡΓΑΛΕΙΟ ΠΑΡΑΓΩΓΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΣΕ WEB SITE (CONTENT MANAGEMENT TOOL)
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Στο λειτουργικό σύστημα Windows, υπάρχουν εικονίδια (icons) τα οποία αναπαριστούν τις διάφορες οντότητες (φυλαγμένες πληροφορίες, προγράμματα που κάνουν.
Υπηρεσίες δικτύων επικοινωνίας
ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Παράγραφος 1.7. ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Είσαι εκεί; Εδώ είμαι Είσαι έτοιμος να λάβεις ένα μήνυμα; Είμαι έτοιμος Πάρε το πρώτο.
Τεχνικές Μεταγωγής Παράγραφος 1.5.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
Κατανεμημένα Συστήματα με Java Ενότητα # 3: Καθολικά κατηγορήματα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων.
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Κατανεμημένες Βάσεις Δεδομένων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Λογικός Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
Ηλεκτρονικό ταχυδρομείο ( )
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
Κεφάλαιο 17 Εισαγωγή στη Θεωρία των Δοσοληψιών. Δοσοληψίες Η Έννοια της Δοσοληψίας Κατάσταση Δοσοληψίας Ταυτόχρονες Εκτελέσεις Σειριοποιησιμότητα Ανάκαμψη.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
Java DataBase Connectivity
Κατανεμημένα Συστήματα
Κεφάλαιο 7: Διαδικτύωση-Internet
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
Σχεσιακεσ βασεισ δεδομενων
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
Κατανεμημένες δοσοληψίες
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Εισαγωγή Τα δεδομένα είναι αποθηκευμένα σε διαφορετικούς κόμβους και κάθε κόμβο τον διαχειρίζεται ένα ΣΔΒΔ που τρέχει ανεξάρτητα Κατανεμημένη Ανεξαρτησία Δεδομένων: Οι χρήστες δεν πρέπει να γνωρίζουν που βρίσκονται τα δεδομένα (επέκταση της Φυσικής και Λογικής Ανεξαρτησίας)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Είδη ΚΒΔ ΣΔΒΔ1ΣΔΒΔ2 ΣΔΒΔ3 Gateway Ομογενή: Κάθε πλευρά τρέχει τον ίδιο τύπο ΣΔΒΔ Ετερογενή : Κάθε πλευρά τρέχει διαφορετικά ΣΔΒΔ (διαφορετικά σχεσιακά ΣΔΒΔ ή και μη-σχεσιακά ΣΔΒΔ)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Αρχιτεκτονικές ΚΣΔΒΔ zΠελάτη-Εξυπηρέτη ΠΕΛΑΤΗΣ ΕΞΥΠΗΡΕΤΗΣ Ερώτηση Ο πελάτης στέλνει (ships) την ερώτηση σε μία πλευρά. Η επεξεργασία της ερώτησης γίνεται στον εξυπηρέτη. ΕΞΥΠΗΡΕΤΗΣ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Αρχιτεκτονικές ΚΣΔΒΔ z Συνεργαζόμενων εξυπηρετών ερώτηση Μια ερώτηση εκτελείται σε πολλές πλευρές ΕΞΥΠΗΡΕΤΗΣ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Αποθήκευση Δεδομένων zΚατατεμαχισμός (fragmentation) yΟριζόντιος: Συνήθως ξένα. yΚάθετος: Χωρίς Απώλειες στη συνένωση; tids. TID t1 t2 t3 t4

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Αποθήκευση Δεδομένων zΑντίγραφα -- Ομοιοτυπία (Replication) yΔιαθεσιμότητα yΓρηγορότερος υπολογισμός ερωτήσεων. yΣύγχρονο και Ασύγχρονος υπολογισμός xενημέρωση αντιγράφων. R1 R2 R3 Κόμβος A Κόμβος Β

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Κατάλογος Συστήματος zΔιατήρηση πληροφορίας για την κατανομή των δεδομένων στους κόμβους zΌνομα για κάθε αντίγραφο σε κάθε τμήμα. Διατήρηση τοπικής αυτονομίας y zΚατάλογος σε κάθε κόμβο: Περιγράφει κάθε αντικείμενο (τεμάχιο, αντίγραφο) στον κόμβο + κρατά πληροφορία για τα αντίγραφα των σχέσεων που δημιουργήθηκαν στον κόμβο. yΕύρεση σχέσης, αναζήτηση στον κατάλογο στον κόμβο που δημιουργήθηκε. yΟ κόμβος που δημιουργήθηκε η σχέση δεν αλλάζει ακόμα και αν η σχέση μετακινηθεί.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Επεξεργασία Ερωτήσεων zΟριζόντιος κατατεμαχισμός: Οι πλειάδες με rating = 5 στοTokyo. yΠρέπει να υπολογίσουμε SUM(age), COUNT(age) και στους δύο κόμβους. yΑν το WHERE περιείχε μόνο S.rating>6, θα αρκούσε ο υπολογισμός σε έναν μόνο κόμβο. SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Επεξεργασία Ερωτήσεων zΚάθετος κατατεμαχισμός : sid και rating στη Shanghai, sname and age στοTokyo, tid και στους δύο κόμβους. yΠρέπει πρώτα να ξανά-σχηματιστεί η σχέση με συνένωση στο tid, και μετά να υπολογιστεί η ερώτηση SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Επεξεργασία Ερωτήσεων  Αντίγραφα: αντίγραφα της σχέσης Sailors και στους δύο κόμβους. yΕπιλογή του κόμβου με βάση το τοπικό κόστος, κόστος για την μεταφορά του αποτελέσματος SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση zΜεταφορά όταν χρειάζεται, Εμφωλευμένος βρόγχος με τη σχέση Sailors στον εξωτερικό βρόγχο : yΚόστος: 500 D * 1000 (D+S) SailorsReserves LONDON PARIS 500 pages1000 pages D κόστος εγγραφής/ανάγνωσης σελίδας S κόστος μεταφοράς σελίδας

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση zΜεταφορά όταν χρειάζεται, Εμφωλευμένος βρόγχος με τη σχέση Sailors στον εξωτερικό βρόγχο : yΑν η ερώτηση δεν είχε υποβληθεί στο Λονδίνο πρέπει να προσθέσουμε και το κόστος μεταφοράς του αποτελέσματος στον κόμβο που αρχικά υποβλήθηκε η ερώτηση yΟ υπολογισμός μπορεί επίσης να γίνει στο Παρίσι SailorsReserves LONDON PARIS 500 pages1000 pages

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Επεξεργασία Ερωτήσεων: Κατανεμημένη Συνένωση zΜεταφορά όλης της σχέσης σε έναν κόμβο: μεταφορά της Reserves στο Λονδίνο yΚόστος: 1000 S D (με ταξινόμηση/συγχώνευση; κόστος = 3*( )) yΑν το μέγεθος του αποτελέσματος είναι πολύ μεγάλο, μπορεί να συμφέρει να μεταφέρουμε και τις δύο σχέσεις στον κόμβο υποβολής της ερώτησης και να υπολογίσουμε τη συνένωση εκεί SailorsReserves LONDON PARIS 500 pages1000 pages

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Επεξεργασία Ερωτήσεων: Ημι-Συνένωση Sailors Reserves LONDON PARIS 500 pages 1000 pages Ημι-συνένωση Στο Λονδίνο, προβολή (project) Sailors στις στήλες του join Μεταφορά του αποτελέσματος στο Παρίσι Στο Παρίσι, συνένωση της προβολής Sailors με τη Reserves. Το αποτέλεσμα ονομάζεται Ελάττωση (reduction) της Reserves σε σχέση με τη Sailors. Μεταφορά της ελάττωσης της σχέσης Reserves στο Λονδίνο Στο Λονδίνο, συνένωση Sailors με την ελάττωση της Reserves.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Επεξεργασία Ερωτήσεων: Ημι-Συνένωση Sailors Reserves LONDON PARIS 500 pages 1000 pages Ημι-συνένωση Ιδέα: Αποφυγή μεταφοράς όλης της σχέσης Reserves στο Λονδίνο -- με την επιβάρυνση του υπολογισμού και της μεταφοράς της προβολής της Sailors και του υπολογισμού της συνένωσης της προβολής με τη Reserves Ιδιαίτερα χρήσιμο όταν υπάρχει μια συνθήκη επιλογής στη σχέση Sailors, και η απάντηση πρέπει να δοθεί στο Λονδίνο

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Επεξεργασία Ερωτήσεων zΥπολογισμός όλων των πλάνων - επιλογή αυτού με το μικρότερο κόστος yΔιαφορά 1: Κόστος επικοινωνίας yΔιαφορά 2: Τοπική αυτονομία κάθε κόμβου yΔιαφορά 3: Νέοι τρόποι υπολογισμού κατανεμημένης συνένωσης zΚατασκευή ολικού πλάνου -- κάθε κόμβος το δικό του

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 Ενημέρωση Κατανεμημένων Δεδομένων zΔιαχείριση αντιγράφων zΚατανεμημένη Διαχείριση Δοσοληψιών zΚατανεμημένη Ανάρρωση από Αποτυχίας

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Ενημέρωση Κατανεμημένων Δεδομένων Πολλαπλά αντίγραφα δεδομένων zΣύγχρονη Ενημέρωση Αντιγράφων: Όλα τα αντίγραφα μιας τροποποιημένης σχέσης (τεμάχια) πρέπει να τροποποιηθούν πριν την επικύρωση της δοσοληψίας yΗ κατανομή των δεδομένων είναι αδιαφανής (transparent) στους χρήστες zΑσύγχρονη Ενημέρωση Αντιγράφων : Τα αντίγραφα μιας σχέσης ενημερώνονται περιοδικά, διαφορετικά αντίγραφα μπορεί στα ενδιάμεσα διαστήματα να μην είναι ενημερωμένα (out of synch) yΟι χρήστες γνωρίζουν την κατανομή των δεδομένων yΠολλά προϊόντα ακολουθούν αυτήν την προσέγγιση

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 Σύγχρονη Ενημέρωση Αντιγράφων zΜέθοδος της Πλειοψηφίας: Μια δοσοληψία πρέπει να γράψει την πλειοψηφία των αντιγράφων για να τροποποιήσει ένα αντικείμενο -- πρέπει να διαβάσει αρκετά αντίγραφα έτσι ώστε να δει τουλάχιστον ένα καινούριο (πιο πρόσφατο) αντίγραφο yΓια παράδειγμα, 10 αντίγραφα, 7 να γραφούν για τροποποίηση, 4 αντίγραφα για ανάγνωση yΚάθε αντίγραφο έχει έναν αριθμό έκδοσης yΠρόβλημα γιατί συνήθως οι αναγνώσεις είναι πιο συχνές από τις εγγραφές zRead-any Write-all: Σχετικά με τη μέθοδο της πλειοψηφίας, οι εγγραφές είναι αργές και οι αναγνώσεις πιο γρήγορες yΗ πιο συνηθισμένη προσέγγιση στη σύγχρονη ενημέρωση αντιγράφων zΗ επιλογή της τεχνικής καθορίζει ποια κλειδιά πρέπει να ζητηθούν

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Σύγχρονη Ενημέρωση Αντιγράφων zΠριν επικυρωθεί μια δοσοληψία (που περιλαμβάνει τροποποιήσεις) πρέπει να αποκτήσει κλειδιά σε όλα τα τροποποιημένα αντίγραφα yΣτέλνει αιτήσεις για κλειδιά σε απομακρυσμένους κόμβους και ενώ περιμένει για απάντηση κρατά τα άλλα κλειδιά yΑν ένας κόμβος ή μια σύνδεση πέσει (αποτύχει), η δοσοληψία δε μπορεί να επικυρωθεί μέχρι να επιστρέψουν σε λειτουργία yΑκόμα και αν δεν υπάρξει αποτυχία, η επικύρωση πρέπει να ακολουθήσει ένα ακριβό πρωτόκολλο επικύρωσης (commit protocol) με πολλά μηνύματα. z  Ασύγχρονη ενημέρωση των αντιγράφων

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Ασύγχρονη Ενημέρωση Αντιγράφων zΕπιτρέπει την επικύρωση (commit) μιας δοσοληψίας πριν την ενημέρωση όλων των αντιγράφων (και οι αναγνώσεις μπορεί να διαβάζουν μόνο ένα αντίγραφο) να επικυρωθεί. yΟι χρήστες γνωρίζουν πιο αντίγραφο διαβάζουν και ότι τα αντίγραφα μπορεί να μην είναι ενημερωμένα για κάποια μικρά χρονικά διαστήματα zΔύο προσεγγίσεις: Πρωτεύων Κόμβος (primary site) και Peer-to-Peer : Bάσει του αριθμού των αντιγράφψν που μπορούν να ενημερωθούν (master copies)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Ασύγχρονη Ενημέρωση Αντιγράφων Peer-to-Peer zΠερισσότερα από ένα master αντίγραφα ενός αντικειμένου (αντίγραφα που μπορεί να τροποποιηθούν) zΤροποποιήσεις κάποιου maser αντιγράφου πρέπει κάπως να μεταδοθούν στα άλλα αντίγραφα zΌταν δυο master αντίγραφα τροποποιούνται με συγκρουόμενο τρόπο, πρέπει να διευθετηθούν οι συγκρούσεις (π.χ., Site 1: Joe’s age changed to 35; Site 2: to 36) zΠροτιμότερη όταν δεν συμβαίνουν συγκρούσεις: yΠ.χ., Κάθε master κόμβος κατέχει ένα ξένο τεμάχιο yE.g.,Τροποποίηση δικαιωμάτων που κατέχονται από ένα master τη φορά

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Ασύγχρονη Ενημέρωση Αντιγράφων Πρωτεύουσα Αντιγραφή zΑκριβώς ένα αντίγραφο μιας σχέσης (αντικειμένου) χαρακτηρίζεται ως πρωτεύον ή master αντίγραφο. Αντίγραφα σε άλλους κόμβους δε μπορούν να τροποποιηθούν άμεσα. yΚοινοποιείται ποιο είναι το πρωτεύον αντίγραφο. yΟι άλλοι κόμβοι εγγράφονται σε (τεμάχια) της σχέσης, είναι δευτερεύοντα αντίγραφα.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Ασύγχρονη Ενημέρωση Αντιγράφων zΒασικό Θέμα: Πως οι τροποποιήσεις στο πρωτεύον αντίγραφο μεταδίδονται στα δευτερεύοντα αντίγραφα Γίνεται σε δύο βήματα xΕντοπισμός των αλλαγών xΕφαρμογή των αλλαγών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Ασύγχρονη Ενημέρωση Αντιγράφων zLog-Based Εντοπισμός: Το ημερολόγιο του συστήματος (log) που κρατείται για ανάρρωση χρησιμοποιείται για τη δημιουργία ενός πίνακα που καλείται Change Data Table (CDT). yΑν αυτό γίνεται όταν το log tail γράφεται στο δίσκο τότε με κάποιο τρόπο να σβηστούν οι τροποποιήσεις που οφείλονται σε δοσοληψίες που απορρίπτονται αργότερα. zΔιαδικαστικός Εντοπισμός: Μια διαδικασία καλείται αυτόματα (συνήθως παίρνει απλώς ένα στιγμιότυπο). zΟ Log-Based εντοπισμός είναι καλύτερος (φθηνότερος, πιο γρήγορος) αλλά βασίζεται σε proprietary λεπτομέρειες του log. Εντοπισμός των Αλλαγών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Ασύγχρονη Ενημέρωση Αντιγράφων zΗ διαδικασία της εφαρμογής των αλλαγών στο δευτερεύοντα κόμβο δέχεται περιοδικά από τον πρωτεύοντα κόμβο ένα στιγμιότυπο ή τις αλλαγές και τροποποιεί το αντίγραφο. yΗ περίοδος ήταν ορίζεται από το χρήστη ή την εφαρμογή είτε βασίζεται στο χρόνο. zLog-Based εντοπισμός και συνεχής εφαρμογής αλλαγών ελαχιστοποιεί την καθυστέρηση στη μετάδοση των αλλαγών. zΔιαδικαστικός εντοπισμός και εφαρμογή που καθορίζεται από τις εφαρμογές είναι ο πιο ευέλικτος τρόπος για τη διαχείριση των αλλαγών. Εφαρμογή των Αλλαγών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Κατανεμημένο Κλείδωμα Αντιγράφων yΚεντρικά (Centralized): Ένας κόμβος είναι υπεύθυνος για τη διαχείριση όλων των κλειδιών. xΑποτυχία του κόμβου; yΠρωτεύον αντίγραφο: Η διαχείριση των κλειδιών για ένα αντικείμενο γίνεται στον κόμβο όπου βρίσκεται το πρωτεύον αντίγραφο του αντικειμένου xΗ ανάγνωση απαιτεί προσπέλαση και στον κόμβο που διαχειρίζεται τα κλειδιά και του κόμβου όπου είναι αποθηκευμένο το αντικείμενο. yΠλήρως κατανεμημένη: Η διαχείριση του κλειδιού για ένα αντίγραφο γίνεται στον κόμβο που βρίσκεται το αντίγραφο xΗ εγγραφή απαιτεί κλειδιά σε όλους τους κόμβους Πως γίνεται η διαχείριση των κλειδιών για δεδομένα στους διαφορετικούς κόμβους;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Κατανεμημένη Ανίχνευση Αδιεξόδων zΚάθε κόμβος διατηρεί έναν τοπικό waits-for γράφο. zΈνα ολικό αδιέξοδο μπορεί να δημιουργηθεί ακόμα και αν οι τοπικοί κόμβοι δεν περιέχουν κύκλους: T1 T2 SITE ASITE BGLOBAL

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 Κατανεμημένη Ανίχνευση Αδιεξόδων T1T2 v Τρεις λύσεις: v Κεντρική (αποστολή όλων των τοπικών γράφων σε έναν κόμβο) v Hierarchical (οργάνωση κόμβων σε μια ιεραρχία και αποστολή γράφων στον γονέα στην ιεραρχία v Timeout (απόρριψη μιας δοσοληψίας αν περιμένει για πάρα πολύ).

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Κατανεμημένη Ανάκαμψη zΔυο νέα θέματα: yΔυο νέα ειδών αποτυχιών, π.χ., συνδέσεις και απομακρυσμένοι κόμβοι. yΑν τμήματα μιας δοσοληψίας εκτελούνται σε διαφορετικούς κόμβους όλες ή μια πρέπει να επικυρωθούν  πρωτόκολλο επικύρωσης. zΔιατηρείται ένα log σε κάθε κόμβο, όπως και στα κεντρικά ΣΔΒΔ στο οποίο καταγράφονται και οι πράξεις του πρωτοκόλλου

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΟ κόμβος από τον οποίο ξεκίνησε μια δοσοληψία είναι ο συντονιστής (coordinate) -- οι υπόλοιποι κόμβοι που συμμετέχουν στην εκτέλεση της δοσοληψίας ορίζονται ως συμμετέχοντες (subordinates). Πρωτόκολλο Επικύρωσης Δύο Φάσεων (Two Phase Commit Protocol 2PC)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΌταν μια δοσοληψία πρέπει να επικυρωθεί: ¬ Ο συντονιστής στέλνει ένα μήνυμα prepare σε όλους τους συμμετέχοντες κόμβους. ­ Κάθε συμμετέχον κόμβος force-writes μια εγγραφή abort ή prepare στο log και μετά στέλνει ένα μήνυμα no ή yes στον συντονιστή. ® Αν ο συντονιστής δεχθεί μηνύματα yes από όλους, force-writes μια εγγραφή commit στο log και μετά στέλνει ένα μήνυμα commit σε όλους τους συμμετέχοντες κόμβους. Αλλιώς, force-writes μια εγγραφή abort στο log και μετά στέλνει ένα μήνυμα abort. ¯ Κάθε συμμετέχον κόμβος βάσει του μηνύματος που δέχεται, force- writes μια εγγραφή abort/commit στο log, και μετά στέλνει ένα μήνυμα ack στον συντονιστή. ° Ο συντονιστής αφού λάβει όλα τα acks γράφει μια εγγραφή end στο log.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΔυο γύροι επικοινωνίας: πρώτα ψηφοφορία (voting) και μετά τερματισμός. Και οι δυο ξεκινούν από τον συντονιστή. zΟποιοσδήποτε κόμβος μπορεί να αποφασίσει να απορρίψει μια δοσοληψία. zΚάθε μήνυμα αντιστοιχεί σε μια απόφαση του αποστολέα: για την αντιμετώπιση των αποτυχιών αυτή η απόφαση καταγράφεται στο τοπικό log (πριν σταλεί) zΌλες οι εγγραφές στο log που αφορούν το πρωτόκολλο επικύρωσης περιέχουν το id της δοσοληψίας Xactid και το id του κόμβου του συντονιστή Coordinatorid. Οι εγγραφές abort/commit περιέχουν τα ids όλων των κόμβων που συμμετέχουν

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΑν για μια δοσοληψία Τ έχουμε μια εγγραφή commit ή abort αλλά δεν έχουμε μια εγγραφή end, πρέπει η ΤΑ να γίνει ή redo ή undo yΑν αυτός ο κόμβος είναι ο συντονιστής για την T, θα πρέπει να συνεχίσει να στέλνει μηνύματα commit/abort μέχρι να λάβει acks από όλους τους συμμετέχοντες κόμβους

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΑν για μια δοσοληψία Τ έχουμε μια εγγραφή prepare αλλά δεν έχουμε μια εγγραφή commit/abort, αυτός ο κόμβος πρέπει να είναι κόμβος που συμμετέχει. yΕπαναληπτικά επικοινωνεί με το συντονιστή για να βρει την κατάσταση της Τ, yγράφει εγγραφές commit/abort στο log yredo/undo T yγράφει εγγραφές end στο log

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΑν για μια δοσοληψία Τ δεν έχουμε ούτε μια εγγραφή prepare, abort και undo T. yΑυτός ο κόμβος μπορεί να είναι ο συντονιστής. Σε αυτήν την περίπτωση μπορεί οι συμμετέχοντες να στείλουν μηνύματα.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΑν ο συντονιστής για την T αποτύχει, οι συμμετέχοντες κόμβοι που έχουν ψηφίσει δεν μπορούν να αποφασίσουν αν θα πρέπει να επικυρώσουν ή να ακυρώσουν την T μέχρι να αναρρώσει ο συντονιστής. yT is blocked. yΑκόμα και αν όλοι οι συμμετέχοντες κόμβοι γνωρίζουν ο ένας τον άλλο (επιπλέον overhead στα μηνύματα prepare) δεν μπορούν να αποφασίσουν εκτός αν ένας από αυτούς έχει ψηφίσει no

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΑν ένας κόμβος δεν αποκρίνεται σε έναν κόμβο x κατά τη διάρκεια του πρωτοκόλλου επικύρωσης επειδή είτε ο κόμβος είτε η σύνδεση έχει αποτύχει: yΑν ο κόμβος x είναι ο συντονιστής, πρέπει να απορρίψει την T. yΑν ο κόμβος x είναι συμμετέχον, και δεν έχει ακόμα ψηφίσει yes, πρέπει να απορρίψει την T. yΑν ο κόμβος x είναι συμμετέχον, και έχει ακόμα ψηφίσει yes, πρέπει να περιμένει μέχρι να αποκριθεί ο συντονιστής

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Πρωτόκολλο Επικύρωσης Δύο Φάσεων zΜηνύματα Ack χρησιμοποιούνται για να εισδοποιήσουν τον συντονιστή ότι μπορεί να «ξεχάσει» τη δοσοληψία, μέχρι να λάβει αυτό το μήνυμα πρέπει να κρατά την δοσοληψία στον πίνακα δοσοληψιών zΑν ο συντονιστής αποτύχει αφού στείλει μηνύματα prepare αλλά πριν γράψει τις εγγραφές commit/abort, τότε κάνει τη δοσοληψία abort zΑν η δοσοληψία δεν περιλαμβάνει ενημερώσεις, τότε δεν έχει σημασία αν γίνει commit ή abort

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 41 Περίληψη zΤα κατανεμημένα ΣΔΒΔ προσφέρουν αυτονομία σε κάθε κόμβο και κατανεμημένη διαχείριση. Χρειάζονται νέες τεχνικές αποθήκευσης, διαχείρισης του καταλόγου, ελέγχου συγχρονικότητας και ανάκαμψης.