Αρχιτεκτονικές Σ Β Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Κατανεµηµένηαποθήκευσηδεδοµένων Κατανεµηµένη επεξεργασία ερωτηµάτων Κατανεµηµένες δοσοληψίες Βασική πηγή διαφανειών: Silberschatz et al., Database System Concepts, 4/e Εργαστήριο Πληροφοριακών Συστηµάτων, Παν/µιο Πειραιώς (http://isl.cs.unipi.gr/) έκδοση: Μάρτιος 2007 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Κατανεµηµένηαποθήκευσηδεδοµένων Κατανεµηµένη επεξεργασία ερωτηµάτων Κατανεµηµένες δοσοληψίες 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.1
Συγκεντρωτικά συστήµατα Εκτελούνται σε ένα µόνουπολογιστικόσύστηµα καιδεναλληλεπιδρούνµε άλλα υπολογιστικά συστήµατα Γενικήςχρήσηςυπολογιστικόσύστηµα: µία ή το πολύ λίγες CPUs και ένας αριθµός device controllers που συνδέονται διαµέσου ενός κοινού διαύλου (bus), ο οποίος παρέχει πρόσβαση σε διαµοιρασµένη µνήµη. Σύστηµα ενόςχρήστη(π.χ. προσωπικός υπολογιστής ή σταθµός εργασίας): συνήθως έχει µία µόνο CPU και ένα ή δύο σκληρούς δίσκους, το λειτουργικό σύστηµα µπορεί να υποστηρίξει µόνο έναν χρήστη. Σύστηµα πολλαπλών χρηστών: περισσότεροι δίσκοι, µεγαλύτερη µνήµη, πολλαπλές CPUs, και λειτουργικό σύστηµα πολλαπλών χρηστών. Εξυπηρετεί µεγάλο αριθµό χρηστών οι οποίοι είναι συνδεδεµένοι στο σύστηµα µέσω τερµατικών. Συχνά καλείται σύστηµα διακοµιστή (server system). 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα συγκεντρωτικού συστήµατος 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.2
Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Κατανεµηµένηαποθήκευσηδεδοµένων Κατανεµηµένη επεξεργασία ερωτηµάτων Κατανεµηµένες δοσοληψίες 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συστήµατα πελάτη - διακοµιστή Το σύστηµα διακοµιστή (server) ικανοποιεί αιτήσεις που παράγονται από m συστήµατα πελατών (clients): 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.3
Συστήµατα πελάτη διακοµιστή (συν.) Η λειτουργικότητα της βάσης δεδοµένων µπορείναχωριστείσε: Back-end: διαχειρίζεται τις δοµές προσπέλασης στα δεδοµένα, την επεξεργασία και βελτιστοποίηση των ερωτηµάτων, τον έλεγχο συνδροµικότητας (concurrency control) και ανάκτησης (recovery). Front-end: αποτελείται από εργαλεία για δηµιουργία φορµών, αναφορών και γραφικών user interfaces 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συστήµατα πελάτη διακοµιστή (συν.) Πλεονεκτήµατα της αντικατάστασης των mainframes µε δίκτυα σταθµών εργασίας ή προσωπικών υπολογιστών συνδεδεµένων σε back-end διακοµιστές: Καλύτερη λειτουργικότητα σε σχέση µε τοκόστος Ευελιξία στην ανάθεση πόρων (resource allocation) Καλύτερα user interfaces Ευκολότερη συντήρηση Οι διακοµιστές µπορούν να κατηγοριοποιηθούν σε δύο είδη: ιακοµιστές δοσοληψιών (transaction servers), οι οποίοι χρησιµοποιούνται κυρίως σε Σχεσιακά Σ Β, και ιακοµιστές δεδοµένων (data servers), οι οποίοι συνήθως χρησιµοποιούνται σε Αντικειµενοστρεφή Σ Β 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.4
ιακοµιστές οσοληψιών Ονοµάζονται και query servers ή SQL server systems. Οι πελάτες στέλνουν αιτήµατα στο διακοµιστή, όπου εκτελούνται οι δοσοληψίες, και τα αποτελέσµατα επιστρέφονται στον πελάτη. Τα αιτήµατα εκφράζονται σε SQL και µεταφέρονται στο διακοµιστή µέσω ενός µηχανισµού κλήσης αποµακρυσµένης διαδικασίας (remote procedure call - RPC). Πολλές κλήσεις RPC µπορούν να σχηµατίσουν µία συλλογική δοσοληψία. Πρότυπα: Open Database Connectivity (ODBC) : API, γραµµένο σε C, για διασύνδεση µε διακοµιστή, αποστολή αιτηµάτων σε SQL και λήψη αποτελεσµάτων. JDBC : παρόµοιο µε τοodbc, γραµµένο σε Java. 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης ιακοµιστές οσοληψιών (συν.) Ένας τυπικός διακοµιστής δοσοληψιών αποτελείται από πολλαπλές διεργασίες πρόσβασης δεδοµένων σε διαµοιρασµένη µνήµη. Οι διεργασίες λαµβάνουν τις επερωτήσεις των χρηστών, σε µορφή δοσοληψιών, τις εκτελούν και στέλνουν πίσω τα αποτελέσµατα. Oι διεργασίες µπορεί να είναι πολυνηµατικές (multithreaded), δηλαδή µία µοναδική διεργασία µπορεί να εκτελέσει αρκετές επερωτήσεις ταυτόχρονα. Ηδιαµοιραζόµενη µνήµη περιλαµβάνει διαµοιραζόµενα δεδοµένα Όλες οι διεργασίες µπορούν να προσπελάσουν τη διαµοιραζόµενη µνήµη Για να εξασφαλιστεί ότι δύο διεργασίες δεν έχουν πρόσβαση στα ίδια δεδοµένα ταυτόχρονα, τα συστήµατα πελάτη - διακοµιστή εκτελούν αµοιβαίο αποκλεισµό (mutual exclusion) π.χ. µε σηµατοφορείς (semaphores) του λειτουργικού συστήµατος 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.5
ιακοµιστές οσοληψιών (συν.) 11 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης ιακοµιστές εδοµένων Χρησιµοποιούνται στα τοπικά δίκτυα LAN, όπου η σύνδεση ανάµεσα στον πελάτη και στο διακοµιστή είναι υψηλής ταχύτητας, οι µηχανές πελάτη είναι συγκρίσιµες σε δύναµη επεξεργασίας µε τη µηχανή του διακοµιστή και οι εργασίες που πρόκειται να εκτελεστούν είναι «βαριές» υπολογιστικά. Μεταφέρονται δεδοµένα στις µηχανές πελατών όπου και εκτελείται η επεξεργασία τους, και κατόπιν µεταφέρονται τα αποτελέσµατα πίσω στη µηχανή του διακοµιστή. Θέµατα που υπεισέρχονται: Μεταφορά σελίδας (page-shipping) ήστοιχείου(item-shipping) Κλειδώµατα εδοµένα στην cache 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.6
ιακοµιστές εδοµένων (συν.) Μεταφορά σελίδας ή Μεταφορά στοιχείου Μικρότερη µονάδα µεταφοράς περισσότερα µηνύµατα Αξίζει να γίνει προανάκτηση (prefetching) στοιχείων σχετικών µε αυτάγιατα οποία γίνεται η αίτηση Η µεταφορά σελίδας µπορεί να θεωρηθεί σαν µία µορφή προανάκτησης Κλειδώµατα Λόγω των καθυστερήσεων των µηνυµάτων, συχνά υπάρχουν υπερβολικές αιτήσεις και παροχές κλειδωµάτων από το διακοµιστή Κλειδώµατα σε ένα προανακτηµένο στοιχείο µπορεί ναι είναι P{called back} από το διακοµιστή και να επιστραφούν εάν το στοιχείο αυτό δεν έχει χρησιµοποιηθεί. εδοµένα στην cache εδοµένα µπορεί να γίνουν cached στον πελάτη ακόµα καιστοενδιάµεσο των δοσοληψιών Απαραίτητος είναι ο έλεγχος των δεδοµένων προτού χρησιµοποιηθούν. Ο έλεγχος µπορεί να γίνει τη στιγµή πουυπάρχειαίτησηκλειδώµατος στα δεδοµένα αυτά 13 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συγκεντρωτικά συστήµατα Β Συστήµατα πελάτη - διακοµιστή (client-server) Κατανεµηµένα συστήµατα Β Κατανεµηµένηαποθήκευσηδεδοµένων Κατανεµηµένη επεξεργασία ερωτηµάτων Κατανεµηµένες δοσοληψίες 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.7
Κατανεµηµένα Συστήµατα Τα δεδοµένα είναι απλωµένα σε πολλές µηχανές, που ονοµάζονται «τόποι» (sites) ή «κόµβοι» (nodes) οι µηχανές είναι συνδεδεµένες µέσω ενός δικτύου (LAN ή WAN) Τα δεδοµένα είναι κοινά για χρήστες που τα προσπελαύνουν από πολλές µηχανές 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατανεµηµένες Β Οµογενείς Κατανεµηµένες Β Το ίδιο λογισµικό και σχήµα Β σε όλους τους τόπους, τα δεδοµένα είναι µοιρασµένα µεταξύ των τόπων. Στόχος: να φαίνεται σαν µια ενιαία Β, κρύβοντας την κατανοµήτης σε τόπους Ετερογενείς Κατανεµηµένες Β ιαφορετικό λογισµικό και σχήµα Β από τόπο σε τόπο Στόχος: η ολοκλήρωση διαφορετικών Β που ήδη υπάρχουν ιάκριση µεταξύ τοπικών (local) και καθολικών (global) δοσοληψιών Μια τοπική δοσοληψία προσπελαύνει δεδοµένα στον τόπο από τον οποίο προήλθε. Μια καθολική δοσοληψία είτε προσπελαύνει δεδοµένα σε τόπο διαφορετικό από αυτόν από τον οποίο προήλθε είτε προσπελαύνει δεδοµένα σε πολλούς τόπους. 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.8
Κατανεµηµένες Β (συν.) Χαρακτηριστικά Κατανεµηµένων Β ιαµοίραση δεδοµένων: οι χρήστες ενός τόπου µπορούν να προσπελάσουν δεδοµένα που βρίσκονται σε άλλον τόπο. Αυτονοµία: κάθε τόπος µπορεί να έχει έλεγχο στα «δικά του» δεδοµένα. Πλεονασµός (redundancy): τα ίδια δεδοµένα µπορούν να επαναληφθούν σε διαφορετικούς τόπους (διπλή αποθήκευση) ώστε το σύστηµαναλειτουργήσειακόµηκαι αν «πέσει» κάποιος τόπος Μειονέκτηµα: η πρόσθετη πολυπλοκότητα που απαιτείται για τον συντονισµό τωντόπων(κόστος ανάπτυξης λογισµικού, αυξηµένη πιθανότητα bugs, επιπλέον επεξεργασία / συντήρηση κλπ.) 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατανεµηµένο Σύστηµα Β Ένα κατανεµηµένο σύστηµα Β αποτελείται από χαλαρά συνδεδεµένους τόπους (sites) που δεν µοιράζονται κανένα φυσικό συστατικό Τα συστήµατα Β που τρέχουν σε κάθε τόπο είναι ανεξάρτητα µεταξύ τους Οι δοσοληψίες µπορεί να προσπελαύνουν δεδοµένα σε έναν ή περισσότερους τόπους Αυτή είναι η βασική διαφορά µεταξύ κεντρικοποιηµένων και κατανεµηµένων Σ Β : Στα κεντρικοποιηµένα (κατανεµηµένα), τα δεδοµένα βρίσκονται σε µία µόνο τοποθεσία (σε πολλές τοποθεσίες, αντίστοιχα) 18 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.9
Οµογενείς / Ετερογενείς ΚΒ Σε µια Οµογενή ΚΒ Όλοι οι τόποι έχουν το ίδιο λογισµικό Είναι ενήµεροι ο ένας του άλλου και έχουν «συµφωνήσει» να συνεργάζονται στην επεξεργασία των αιτηµάτων των χρηστών Έχουν «απεµπολήσει» µέρος της αυτονοµίας τους, π.χ. το δικαίωµα νααλλάξουνσχήµα Β ήλογισµικό κατά βούληση ΗΟµογενής Β εµφανίζεται προς τον χρήστη σαν ένα µόνο σύστηµα Β Σε µια Ετερογενή ΚΒ ιαφορετικοί τόποι µπορούν να χρησιµοποιούν διαφορετικό σχήµα Β ή/και λογισµικό Το πρώτο επιβαρύνει την επεξεργασία ερωτηµάτων Το δεύτερο επιβαρύνει την επεξεργασία δοσοληψιών Είναι ενδεχόµενο οι τόποι να µην είναι ενήµεροι ο ένας του άλλου και να παρέχουν περιορισµένες δυνατότητες συνεργασίας στην επεξεργασία των δοσοληψιών 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατανεµηµένη Αποθήκευση εδοµένων Υποθέτουµε τοσχεσιακόμοντέλο εδοµένων Επανάληψη (replication) Το σύστηµα συντηρεί πολλαπλά αντίγραφα των δεδοµένων, σε διαφορετικούς τόπους, για ταχύτερη προσπέλαση και ανοχή σε σφάλµατα (fault tolerance) Τεµαχισµός (fragmentation) Μια σχέση «τεµαχίζεται» σε τµήµατα που αποθηκεύονται σε διαφορετικούς τόπους Συνδυασµός επανάληψης και τεµαχισµού Μια σχέση τεµαχίζεται σε τµήµατα και για το κάθε τµήµα το σύστηµα συντηρεί πολλαπλά αντίγραφα 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.10
Επανάληψη δεδοµένων (replication) Μια σχέση (ή ένατµήµα της) λέγεται επαναλαµβανόµενη (replicated) εάν έχει αντιγραφεί σε δύο ή περισσότερους τόπους Πλήρη επανάληψη (full replication) µιαςσχέσηςέχουµε ότανη σχέση αποθηκεύεται σε όλους τους τόπους Πλήρως επαναλαµβανόµενες Β είναι αυτές στις οποίες κάθε τόπος περιέχει ένα αντίγραφο ολόκληρης της Β Πλεονεκτήµατα: ιαθεσιµότητα δεδοµένων (όταν είναι επαναλαµβανόµενα) παραλληλισµός στην επεξεργασία ερωτηµάτων λιγότερη µεταφορά δεδοµένων Μειονεκτήµατα: Αυξηµένο κόστος ενηµέρωσης της Β (λόγω ύπαρξης αντιγράφων) Πολύπλοκος έλεγχος συνδροµικότητας (αν γίνουν αλλαγές σε δύο αντίγραφα µιαςσχέσηςσεδιαφορετικούςτόπους, τι ισχύει τελικά;) Μια πιθανή λύση στο πρόβληµα: ένα απ όλα θεωρείται ως το πρωτεύον αντίγραφο. 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Τεµαχισµός δεδοµένων (fragmentation) ιαίρεση µιας σχέσης r σε τµήµατα (fragments) r 1, r 2,, r n τα οποία περιέχουν επαρκή πληροφορία για την ανακατασκευή της σχέσης r. Οριζόντιος τεµαχισµός: κάθε πλειάδα της σχέσης r εκχωρείται σε ένα ή περισσότερα τµήµατα Ανακατασκευή r: r 1 r 2 r n Κάθετος τεµαχισµός: το σχήµα της σχέσης r χωρίζεται σε µικρότερα σχήµατα Ανακατασκευή r: r 1 r 2 r n Όλατασχήµατα που προκύπτουν πρέπει να περιέχουν ένα κοινό κλειδί (ή υπερκλειδί) για να εξασφαλιστεί η «σύνδεση χωρίς απώλειες» (lossless join property). Το ρόλο αυτό µπορεί να τον παίξει και ένα ειδικό χαρακτηριστικό (tuple-id) 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.11
Παραδείγµατα Τεµαχισµού Οριζόντιος τεµαχισµός της σχέσης account Account-schema = (branch-name, account-number, balance) και έστω ότι υπάρχουν 2 τόποι, ένας σε κάθε υποκατάστηµα (branch) Κάθετος τεµαχισµός της σχέσης deposit Deposit-schema = (branch-name, account-number, customer-name, balance) Για τον τεµαχισµό, θα προσθέσουµε τοχαρακτηριστικόtuple-id (αυτό το χαρακτηριστικό ΕΝ είναι ορατό στους χρήστες) 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Οριζόντιος Τεµαχισµός της account branch-name account-number balance Hillside Hillside Hillside A-305 A-226 A-155 500 336 62 account 1 =σ branch-name= Hillside (account) branch-name account-number balance Valleyview Valleyview Valleyview Valleyview A-177 A-402 A-408 A-639 205 10000 1123 750 account 2 =σ branch-name= Valleyview (account) 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.12
Κάθετος Τεµαχισµός της deposit branch-name customer-name tuple-id Hillside Hillside Valleyview Valleyview Hillside Valleyview Valleyview Lowman Camp Camp Kahn Kahn Kahn Green deposit 1 =Π branch-name, customer-name, tuple-id (deposit) 1 2 3 4 5 6 7 account number balance tuple-id A-305 A-226 A-177 A-402 A-155 A-408 A-639 500 336 205 10000 62 1123 750 deposit 2 =Π account-number, balance, tuple-id (deposit) 1 2 3 4 5 6 7 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ανάµιξη Τεµαχισµού - Επανάληψης Ανάµιξη οριζόντιου και κάθετου τεµαχισµού Τµήµατα που προέρχονται από τεµαχισµό µπορούν µε τη σειρά τους να υποστούν τεµαχισµό κοκ. Παράδειγµα: deposit 1a =σ branch= Hillside (deposit 1 ), deposit 1b =σ branch= Valleyview (deposit 1 ) deposit = (deposit 1a deposit 1b ) deposit 2 Ανάµιξη επανάληψης και τεµαχισµού Οι τεχνικές της επανάληψης και του τεµαχισµού µπορούν να εφαρµοστούν διαδοχικά πολλές φορές στην ίδια σχέση. Παράδειγµα: Τεµαχισµός της σχέσης deposit σε deposit 1a, deposit 1b, deposit 2 Επανάληψη της deposit 1a στους τόπους S 1, S 3, S 7, της deposit 1b στους τόπους S 7, S 10, της deposit 2 στους τόπους S 2, S 8, S 9. 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.13
Πλεονεκτήµατα του Τεµαχισµού Οριζόντιος Τεµαχισµός: Επιτρέπει την παράλληλη επεξεργασία σε τµήµατα µιας σχέσης Επιτρέπει το σπάσιµο µιαςσχέσηςέτσιώστεοιπλειάδεςναείναι αποθηκευµένες στον τόπο µέσω του οποίου γίνεται συνήθως η προσπέλασή τους Κάθετος Τεµαχισµός: Επιτρέπει το σπάσιµο των πλειάδων έτσι ώστε κάθε τµήµα ναείναι αποθηκευµένο εκεί απ όπου γίνεται συνήθως η προσπέλασή του Το χαρακτηριστικό tuple-id επιτρέπει σύνδεση των τµηµάτων χωρίς απώλειες Επιτρέπει την παράλληλη επεξεργασία σε τµήµατα µιας σχέσης 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατανεµηµένη Επεξεργασία Ερωτήσεων Στα κεντρικοποιηµένα συστήµατα, το βασικό κριτήριο για τη µέτρηση κόστους µιας συγκεκριµένης στρατηγικής είναι το πλήθος των προσπελάσεων δίσκου. Αντίθετα, σε ένα κατανεµηµένο σύστηµα πρέπειναληφθούνυπόψηάλλοι παράγοντες, όπως: Το κόστος µετάδοσης δεδοµένων πάνω στο δίκτυο Το πιθανό κέρδος που πετυχαίνουµε αν εκτελεστούν παράλληλα κάποια µέρη του ερωτήµατος σε διαφορετικούς τόπους Μετασχηµατισµός ερωτηµάτων µε βάσητοντεµαχισµό που έχει ήδη γίνει. Παράδειγµα: οριζόντιος τεµαχισµός της σχέσης account account 1 = σ branch-name = Hillside (account) account 2 = σ branch-name = Valleyview (account) Το ερώτηµα σ branch-name = Hillside (account) γίνεται σ branch-name= Hillside (account 1 account 2 ), που βελτιστοποιείται σε σ branch-name= Hillside (account 1 ) σ branch-name= Hillside (account 2 ) Το αποτέλεσµα της δεξιάς έκφρασης είναι κενό εξ ορισµού 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.14
Επεξεργασία Συνδέσεων Έστω η ακόλουθη έκφραση σχεσιακής άλγεβρας, όπου οι σχέσεις δεν είναι ούτε επαναλαµβανόµενες ούτε τεµαχισµένες account depositor branch account στον τόπο S 1, depositor στον S 2, branch στον S 3 Εναλλακτικοί τρόποι επεξεργασίας: Μεταφορά όλων των σχέσεων στον S k και επιλογή πλάνου εκτέλεσης τοπικά στο S k. Μεταφορά της account στον S 2 και εκτέλεση temp 1 = account depositor τοπικά στον S 2. Μεταφορά του temp 1 από τον S 2 στον S 3, και εκτέλεση temp 2 = temp 1 branch τοπικά στον S 3. Μεταφορά του αποτελέσµατος temp 2 στον S k. Παρόµοιες στρατηγικές, µε εναλλαγή των ρόλων S 1, S 2, S 3 Παράγοντες που πρέπει να ληφθούν υπόψη: Ποσότητα δεδοµένων που µεταφέρονται Κόστος µεταφοράς από έναν τόπο σε άλλον Ταχύτητα επεξεργασίας σε κάθε τόπο 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Στρατηγική ηµι-σύνδεσης (semi-join) Έστω r 1 µια σχέση µε σχήµα R 1 αποθηκευµένη στον τόπο S 1 Έστω r 2 µια σχέση µε σχήµα R 2 αποθηκευµένη στον τόπο S 2 Να αξιολογηθεί η έκφραση r 1 r 2 και το αποτέλεσµα ναείναιστοs 1. 1. Υπολογισµός temp 1 R1 R2 (r1) στον S 1. 2. Μεταφορά του temp 1 από τον S 1 στον S 2. 3. Υπολογισµός temp 2 r 2 temp1 στον S 2 4. Μεταφορά του temp 2 από τον S 2 στον S 1. 5. Υπολογισµός r 1 temp 2 στον S 1. Είναι το ίδιο µε το r 1 r 2!! Η ηµι-σύνδεση (semi-join) της r 1 µετηνr 2, δηλώνεται: r 1 r 2 καιορίζεταιωςεξής: R1 (r 1 r 2 ) Με άλλα λόγια, ηέκφρασηr 1 r 2 επιλέγει τις πλειάδες της r 1 (µόνο) πουσυνεισφέρουνστηνέκφρασηr 1 r 2. Στο βήµα 3 πάνω, temp 2 =r 2 r 1. 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.15
Κατανεµηµένες οσοληψίες Μια δοσοληψία µπορεί να προσπελάσει δεδοµένα σε πολλούς τόπους Κάθε τόπος έχει έναν τοπικό διαχειριστή δοσοληψιών (local transaction manager - TM) υπεύθυνο για: τη συντήρηση log που χρειάζεται για ανάκαµψη (recovery) το συντονισµό των δοσοληψιών (π.χ. για τον έλεγχο συνδροµικότητας) που εκτελούνται ταυτόχρονα σε εκείνον τον τόπο Κάθε τόπος έχει έναν συντονιστή δοσοληψιών (transaction coordinator - TC) υπεύθυνο για: την εκκίνηση των δοσοληψιών που προέρχονται από τον ίδιο τόπο το σπάσιµο µιας δοσοληψίας σε κοµµάτια (sub-transactions) και την κατανοµή τους στους κατάλληλους τόπους προς εκτέλεση τον συντονισµό τουτερµατισµού των δοσοληψιών που προέρχονται από τον ίδιο τόπο κάτι που µπορεί να συνεπάγεται είτε την επικύρωση (commit) είτε την ακύρωση (abort) τηςδοσοληψίαςσεόλουςτουςτόπουςπουεµπλέκονται 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονική Συστήµατος οσοληψιών 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 8.16