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

Σχετικά έγγραφα
Εαρινό Εξάμηνο

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

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

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

Query-by-Example (QBE)

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

Κατανεμημένες Βάσεις Δεδομένων

Βάσεις Δεδομένων ΙΙ. Διάλεξη 4 η Aρχιτεκτονικές ΣΒΔ. Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

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

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Συστημάτων Βάσεων εδομένων

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

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

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

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

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

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

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

Διαχείριση Δεδομένων

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

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

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

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

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

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

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

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

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Δυναμικός Κατακερματισμός

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

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

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

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

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

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

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

Βάσεις δεδομένων. (9 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

#5. Σχεσιακό Μοντέλο

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

Αυτοματοποιημένη χαρτογραφία

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

Τμήμα Πληροφορικής ΑΠΘ

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

Βελτιστοποίηση επερωτημάτων

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 8: Παράλληλες & Κατανεμημένες Βάσεις Δεδομένων

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

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

Αρχιτεκτονικές Συστηµάτων Βάσεων εδοµένων

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Διαχείριση Πολιτισμικών Δεδομένων

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

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

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Εισαγωγικά στοιχεία για παραλληλισμό και ΒΔ Μοντέλα και αρχιτεκτονικές παραλληλισμού Διαμερισμός δεδομένων Παράλληλη επεξεργασία ερωτημάτων

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

SQL: Αιτήματα. ( Συνέχεια...) Κεφάλαιο 5. Ενηµέρωση: 23/12/2008. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Εισαγωγή στη Σχεσιακή Άλγεβρα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Transcript:

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

Table of contents ΙΙ 1 Παράλληλες

Table of contents ΙΙ Παράλληλες 1 2

Table of contents ΙΙ Παράλληλες 1 2 3

Table of contents ΙΙ Παράλληλες 1 2 3 4

1 Παράλληλες 2 3 4

Αρχιτεκτονικές ΒΔ ΙΙ Παράλληλες Οι βασικές Αρχιτεκτονικές ΣΔΒΔ Κεντρικοποιημένα Συστήματα Παράλληλα Συστήματα Κατανεμημένα Συστήματα

Αρχιτεκτονικές ΒΔ ΙΙ Παράλληλες Οι βασικές Αρχιτεκτονικές ΣΔΒΔ Κεντρικοποιημένα Συστήματα Παράλληλα Συστήματα Κατανεμημένα Συστήματα Επιλογή της κατάλληλης με βάση: Διαθέσιμοι Πόροι Απαιτήσεις Εϕαρμογών

Παράλληλες Αρχιτεκτονικές ΙΙ Παράλληλες

Τεχνικές Τμηματοποίησης ΙΙ Για ένα σύνολο Δίσκων: D 0 D 1... D n 1 Παράλληλες Τεχνικές Round-Robin: Η i-οστη εγγραϕή αποθηκεύεται στο δίσκο D i mod n

Τεχνικές Τμηματοποίησης ΙΙ Για ένα σύνολο Δίσκων: D 0 D 1... D n 1 Παράλληλες Τεχνικές Round-Robin: Η i-οστη εγγραϕή αποθηκεύεται στο δίσκο D i mod n Hash-Partitioning: πραγματοποιώντας hashing σε ένα σύνολο ιδιοτήτων της σχέσης. Εύρος hashing: {0,1,, n-1}

Τεχνικές Τμηματοποίησης ΙΙ Για ένα σύνολο Δίσκων: D 0 D 1... D n 1 Παράλληλες Τεχνικές Round-Robin: Η i-οστη εγγραϕή αποθηκεύεται στο δίσκο D i mod n Hash-Partitioning: πραγματοποιώντας hashing σε ένα σύνολο ιδιοτήτων της σχέσης. Εύρος hashing: {0,1,, n-1} Range Partitioning: Κάθε δίσκος περιέχει εγγραϕές σε ένα εύρος ως προς κάποια ιδιότητα της σχέσης

Τεχνικές Τμηματοποίησης ΙΙ Για ένα σύνολο Δίσκων: D 0 D 1... D n 1 Παράλληλες Τεχνικές Round-Robin: Η i-οστη εγγραϕή αποθηκεύεται στο δίσκο D i mod n Hash-Partitioning: πραγματοποιώντας hashing σε ένα σύνολο ιδιοτήτων της σχέσης. Εύρος hashing: {0,1,, n-1} Range Partitioning: Κάθε δίσκος περιέχει εγγραϕές σε ένα εύρος ως προς κάποια ιδιότητα της σχέσης

Πρόσβαση ΙΙ Μορϕές Πρόσβασης Παράλληλες Σάρωση ολόκληρης της Σχέσης Point Queries Range Queries

Πρόσβαση ΙΙ Μορϕές Πρόσβασης Παράλληλες Σάρωση ολόκληρης της Σχέσης Point Queries Range Queries Καταλληλότητα Κάθε τεχνική τμηματοποίησης είναι καταλληλότερη για συγκεκριμένες μορϕές πρόσβασης

1 Παράλληλες 2 3 4

ΙΙ Παράλληλες Ομογενείς Το ίδιο λογισμικό και σχήμα ΒΔ σε όλους τους κόμβους, τα δεδομένα είναι μοιρασμένα μεταξύ των κόμβων. Στόχος: να ϕαίνεται σαν μια ενιαία ΒΔ, κρύβοντας την κατανομή της σε κόμβους

ΙΙ Παράλληλες Ομογενείς Το ίδιο λογισμικό και σχήμα ΒΔ σε όλους τους κόμβους, τα δεδομένα είναι μοιρασμένα μεταξύ των κόμβων. Στόχος: να ϕαίνεται σαν μια ενιαία ΒΔ, κρύβοντας την κατανομή της σε κόμβους Ετερογενείς Διαϕορετικό λογισμικό και σχήμα ΒΔ από κόμβο σε κόμβο Στόχος: η ολοκλήρωση διαϕορετικών ΒΔ που ήδη υπάρχουν

Αποθήκευση ΙΙ Παράλληλες Αντιγραϕή Κατακερματισμός Συνδυασμός των παραπάνω

Αποθήκευση με Αντιγραϕή ΙΙ Παράλληλες Πλεονεκτήματα Διαθεσιμότητα Παραλληλισμός Μειονεκτήματα Αυξημένο κόστος ενημέρωσης

Κατακερματισμός ΙΙ Παράλληλες Οριζόντιος: Πλειάδων (σ) Κατακόρυϕος: Ιδιοτήτων (π)

Οριζόντιος Κατακερματισμός ΙΙ Παράλληλες t 1 t 2 t 3 t 4 t 5 t 6 Ο οριζόντιος κατακερματισμός μπορεί να οριστεί ως μια επιλογή στη σχέση: r i = σ Pi (r) Ανακατασκευή: r = r 1 r 2 r n

Κατακόρυϕος Κατακερματισμός ΙΙ Παράλληλες t 1 t 2 t 3 t 4 t 5 t 6 Ο κατακόρυϕος κατακερματισμός μπορεί να οριστεί με προβολή: r i = Π Ri (r) Ανακατασκευή: r = r 1 r 2 r n

1 Παράλληλες 2 3 4

Παράδειγμα 1 ΙΙ Παράλληλες Reserves(sid, bid, day, name) 40 bytes ανα πλειάδα 100 πλειάδες/page 1000 pages 100.000 πλειάδες

Παράδειγμα 1 ΙΙ Παράλληλες Reserves(sid, bid, day, name) 40 bytes ανα πλειάδα 100 πλειάδες/page 1000 pages 100.000 πλειάδες Sailors(sid, sname, rating, age) 50 bytes ανα πλειάδα 80 πλειάδες/page 500 pages 40.000 πλειάδες

Παράδειγμα 1 ΙΙ Παράλληλες Οριζόντιος κατακερματισμός Shanghai: rating < 5 Tokyo: rating 5

Παράδειγμα 1 ΙΙ Παράλληλες Οριζόντιος κατακερματισμός Shanghai: rating < 5 Tokyo: rating 5 SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7

Παράδειγμα 2 - JOIN: Απλή προσέγγιση ΙΙ Παράλληλες D: Κόστος ανάγνωσης/εγγραϕής σελίδας T: Κόστος μεταϕοράς σελίδας

Παράδειγμα 2 - JOIN: Απλή προσέγγιση ΙΙ Παράλληλες D: Κόστος ανάγνωσης/εγγραϕής σελίδας T: Κόστος μεταϕοράς σελίδας Sailors JOIN Reserves Με εμϕωλευμένο βρόγχο και τη σχέση Sailors στον εξωτερικό βρόγχο Κόστος

Παράδειγμα 2 - JOIN: Απλή προσέγγιση ΙΙ Παράλληλες D: Κόστος ανάγνωσης/εγγραϕής σελίδας T: Κόστος μεταϕοράς σελίδας Sailors JOIN Reserves Με εμϕωλευμένο βρόγχο και τη σχέση Sailors στον εξωτερικό βρόγχο Κόστος Κόστος: 500D + 500*1000(D+T)

Παράδειγμα 3 - JOIN: Μεταϕορά Σχέσης ΙΙ Παράλληλες Μεταϕέροντας αρχικά την σχέση Reserves.. Κόστος

Παράδειγμα 3 - JOIN: Μεταϕορά Σχέσης ΙΙ Παράλληλες Μεταϕέροντας αρχικά την σχέση Reserves.. Κόστος Κόστος: 1000Τ + 4500D

Παράδειγμα 3 - JOIN: Μεταϕορά Σχέσης ΙΙ Παράλληλες Μεταϕέροντας αρχικά την σχέση Reserves.. Κόστος Κόστος: 1000Τ + 4500D Αν το μέγεθος του αποτελέσματος είναι πολύ μεγάλο, μπορεί να συμϕέρει να μεταϕέρουμε και τις δύο σχέσεις στον κόμβο υποβολής της ερώτησης και να υπολογίσουμε τη συνένωση εκεί

Παράδειγμα 4 - SemiJOIN ΙΙ Παράλληλες S R : (R semijoin S) S (R semijoin π A (S)) S R (S semijoin R) (R semijoin S) (S semijoin R) όπου Α τα κοινά γνωρίσματα.

Παράδειγμα 4 - SemiJOIN ΙΙ Παράλληλες Τοποθεσίες - Σχέσεις T 1 : S(S#, SNAME) Κλειδιά: s1, s2, s3, s4, s5, s6 T 2 : SP(S#, P#, QTY) Κλειδιά: (s 1, p 1 ), (s 1, p 2 ), (s 1, p 3 ), (s 2, p 1 ), (s 2, p 2 ), (s 2, p 3 ), (s 3, p 1 ), (s 3, p 3 ), T 3 : P(P#, PNAME) Κλειδιά: p1, p2, p3, p4, p5, p6

Παράδειγμα 4 - SemiJOIN ΙΙ Παράλληλες Τοποθεσίες - Σχέσεις T 1 : S(S#, SNAME) Κλειδιά: s1, s2, s3, s4, s5, s6 T 2 : SP(S#, P#, QTY) Κλειδιά: (s 1, p 1 ), (s 1, p 2 ), (s 1, p 3 ), (s 2, p 1 ), (s 2, p 2 ), (s 2, p 3 ), (s 3, p 1 ), (s 3, p 3 ), T 3 : P(P#, PNAME) Κλειδιά: p1, p2, p3, p4, p5, p6 S#: 4 bytes P#: 4 bytes QTY: 10 bytes SNAME 96 bytes PNAME 196 bytes

Παράδειγμα 4 ΙΙ Παράλληλες Ερώτημα T 4 : S SP P Να υπολογιστούν οι μεταϕορές για τις παρακάτω περιπτώσεις χωρίς χρήση semi-join με χρήση semi-join

Λύση - Semi-Join ΙΙ Παράλληλες Εύρεση κόστους αν υποθέσουμε ότι κάνουμε S SemiJOIN SP Η ερώτηση θα εκτελεστεί ως εξής:

Λύση - Semi-Join ΙΙ Παράλληλες Εύρεση κόστους αν υποθέσουμε ότι κάνουμε S SemiJOIN SP Η ερώτηση θα εκτελεστεί ως εξής: προβάλλουμε το S# από την SP στον κόμβο Τ2 και θα το στείλουμε στον Τ1

Λύση - Semi-Join ΙΙ Παράλληλες Εύρεση κόστους αν υποθέσουμε ότι κάνουμε S SemiJOIN SP Η ερώτηση θα εκτελεστεί ως εξής: προβάλλουμε το S# από την SP στον κόμβο Τ2 και θα το στείλουμε στον Τ1 εκτελούμε το semi-join το οποίο θα δημιουργήσει το αποτέλεσμα S'

Λύση - Semi-Join ΙΙ Παράλληλες Εύρεση κόστους αν υποθέσουμε ότι κάνουμε S SemiJOIN SP Η ερώτηση θα εκτελεστεί ως εξής: προβάλλουμε το S# από την SP στον κόμβο Τ2 και θα το στείλουμε στον Τ1 εκτελούμε το semi-join το οποίο θα δημιουργήσει το αποτέλεσμα S' Στέλνουμε στον κόμβο Τ4, τα S', SP, P και εκτελούμε την ένωση

Λύση - Semi-Join ΙΙ Παράλληλες Εύρεση κόστους αν υποθέσουμε ότι κάνουμε S SemiJOIN SP Η ερώτηση θα εκτελεστεί ως εξής: προβάλλουμε το S# από την SP στον κόμβο Τ2 και θα το στείλουμε στον Τ1 εκτελούμε το semi-join το οποίο θα δημιουργήσει το αποτέλεσμα S' Στέλνουμε στον κόμβο Τ4, τα S', SP, P και εκτελούμε την ένωση Το SP πρέπει να το στείλουμε πάλι στον Τ4, άσχετα από το αν έχει ήδη συμμετάσχει στο semi-join στον κόμβο Τ1

Λύση - Semi-Join Αναλυτικά έχουμε: ΙΙ Παράλληλες

Λύση - Semi-Join ΙΙ Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Παράλληλες

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S Δηλαδή, μεταϕέρονται 3*4=12 bytes

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S Δηλαδή, μεταϕέρονται 3*4=12 bytes Στον κόμβο Τ1, γίνεται το join της σχέσης S και των τιμών S# που ήρθανε από τον κόμβο Τ2, δηλαδή γίνεται η πράξη:

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S Δηλαδή, μεταϕέρονται 3*4=12 bytes Στον κόμβο Τ1, γίνεται το join της σχέσης S και των τιμών S# που ήρθανε από τον κόμβο Τ2, δηλαδή γίνεται η πράξη: S'= F JOIN S Η σχέση S' έχει μέγεθος 3*(4+96)=300 bytes

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S Δηλαδή, μεταϕέρονται 3*4=12 bytes Στον κόμβο Τ1, γίνεται το join της σχέσης S και των τιμών S# που ήρθανε από τον κόμβο Τ2, δηλαδή γίνεται η πράξη: S'= F JOIN S Η σχέση S' έχει μέγεθος 3*(4+96)=300 bytes Στη συνέχεια, μεταϕέρεται η σχέση S από τον κόμβο Τ1 στον κόμβο Τ4, δηλαδή μεταϕέρονται 300 bytes

Λύση - Semi-Join ΙΙ Παράλληλες Αναλυτικά έχουμε: Πρώτα θα γίνει στον κόμβο Τ2, προβολή των τιμών S# της σχέσης SP Δηλαδή θα γίνει η πράξη: F = ΠS#(SP). Η σχέση F έχει 3 εγγραϕές :s1, s2, s3. Αυτές οι τιμές μεταϕέρονται στον κόμβο Τ1, όπου βρίσκεται η σχέση S Δηλαδή, μεταϕέρονται 3*4=12 bytes Στον κόμβο Τ1, γίνεται το join της σχέσης S και των τιμών S# που ήρθανε από τον κόμβο Τ2, δηλαδή γίνεται η πράξη: S'= F JOIN S Η σχέση S' έχει μέγεθος 3*(4+96)=300 bytes Στη συνέχεια, μεταϕέρεται η σχέση S από τον κόμβο Τ1 στον κόμβο Τ4, δηλαδή μεταϕέρονται 300 bytes Η αξία της κίνησης αυτής είναι ότι με το S SEMIJOIN SP, αντί να μεταϕερθεί από τον κόμβο Τ1 στον κόμβο Τ4 ολόκληρη η σχέση S, μεταϕέρονται μόνο εκείνες οι εγγραϕές που πραγματικά χρειάζονται και θα χρησιμοποιηθούν

Λύση - Semi-Join ΙΙ Παράλληλες Κατόπιν, μεταϕέρεται η σχέση SP από τον κόμβο Τ2 στον κόμβο Τ4 (144 bytes) και επίσης μεταϕέρεται η σχέση P από τον κόμβο Τ3 στον κόμβο Τ4 (1200 bytes) Τέλος, στον κόμβο Τ4, πραγματοποιείται η ερώτηση R = S' JOIN SP JOIN P Το κόστος της ερώτησης αν χρησιμοποιηθεί το S SEMIJOIN SP, είναι 12+300+144+1200=1656 bytes

Βέλτιστη Λύση ΙΙ Παράλληλες Βέλτιστη Λύση 1068 bytes. Πως?

1 Παράλληλες 2 3 4

ΙΙ Παράλληλες Abraham Silberschatz, Henry F. Korth and S. Sudarshan, Database System Concepts Fourth Edition, McGraw-Hill, 2002 Raghu Ramakrishnan and Johannes Gehkre, Database Management Systems Second Edition, McGraw Hill, 2000