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

Slides:



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

Ταχύτητα, Απλότητα & Αξιοπιστία. Αρχιτεκτονική Μηχανισμοί Αυτοελέγχου Συνδεσιμότητα Περιβάλλον Εργασίας Πληροφορίες Σχήματος Report Builder Import Manager.
ΕΙΣΑΓΩΓΗ ΣΤΟ DOS (Disk Operating System)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Αποθήκευση Δεδομένων.
Το υλικο του Υπολογιστη
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Επεξεργασία ερωτήσεων Πάνος Βασιλειάδης Ιανουάριος 2008
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων (ΚΒΔ)
δφσδφ ΦΥΣΙΚΟ ΕΠΙΠΕΔΟ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ: ΜΕΡΟΣ Α’ 4/6/2017
Λειτουργικά συστήματα ΙΙ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
6 Η ΠΑΡΟΥΣΙΑΣΗ: ΠΑΝΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΟΙΝΩΝΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ: ΕΠΙΚΟΙΝΩΝΙΑΣ, ΜΕΣΩΝ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΦΗΜΙΣΗ.
ΚΛΕΙΣΤΑ ΔΙΚΤΥΑ ΟΥΡΩΝ MARKOV 30/05/2011
Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
Τα ανθρώπινα δικαιώματα 30 είναι τα άρθρα της Οικουμενικής Διακήρυξης των Ανθρωπίνων Δικαιωμάτων που έχουν εκδοθεί ειδικά για τους νέους.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Παράλληλα Συστήματα Διαχείρισης Βάσεων Δεδομένων ‘The Future of High Performance.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
6/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Static Random Access Memory.
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Επεξεργασία Ερωτήσεων.
Προσομοίωση Δικτύων 2n Άσκηση Δημιουργία, διαμόρφωση μελέτη επικοινωνιακών ζεύξεων.
Week 11 Quiz Sentence #2. The sentence. λαλο ῦ μεν ε ἰ δότες ὅ τι ὁ ἐ γείρας τ ὸ ν κύριον Ἰ ησο ῦ ν κα ὶ ἡ μ ᾶ ς σ ὺ ν Ἰ ησο ῦ ἐ γερε ῖ κα ὶ παραστήσει.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
Lesson 1a: Let’s Get Started JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Αριθμητική Επίλυση Διαφορικών Εξισώσεων 1. Συνήθης Δ.Ε. 1 ανεξάρτητη μεταβλητή x 1 εξαρτημένη μεταβλητή y Καθώς και παράγωγοι της y μέχρι n τάξης, στη.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Διαχείριση Διαδικτυακής Φήμης! Do the Online Reputation Check! «Ημέρα Ασφαλούς Διαδικτύου 2015» Ε. Κοντοπίδη, ΠΕ19.
Μάθημα 1 ΔΙΑΔΙΚΤΥΟ Διευθύνσεις και Πρωτόκολλα. Διευθύνσεις Πως αποκωδικοποιούνται οι διευθύνσεις: Πρωτόκολλο://server.domain.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Διευθύνσεις και Πρωτόκολλα στο διαδίκτυο
Δυναμικός Κατακερματισμός
Βάσεις Δεδομένων Ι Εισαγωγή
Ερωτήσεις –απαντήσεις Ομάδων Εργασίας
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Φάσμα παιδαγωγικής ανάπτυξης
Ασκήσεις Κεφάλαιο 11.
Matrix Analytic Techniques
Ψηφιακeς ιδEες και αξIες
DREMEL: Interactive Analysis of Web-Scale Datasets
GO.
Επιβλέπων: Καθηγητής Εφαρμογών Δρ. Δημήτριος Βαρσάμης
Ποιος: ταυτότητα του ομιλητή Τι: φύση της γλώσσας (γνώση/ χρήση)
Βελτιστοποίηση και Επεξεργασία Ερωτημάτων
Μία πρακτική εισαγωγή στην χρήση του R
Πανεπιστήμιο Θεσσαλίας
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ
JSIS E 111: Elementary Modern Greek
GLY 326 Structural Geology
ΤΙ ΕΙΝΑΙ ΤΑ ΜΟΆΙ;.
ΜΕΤΑΦΡΑΣΗ ‘ABC of Selling’. ΤΟ ΑΛΦΑΒΗΤΑΡΙ ΤΩΝ ΠΩΛΗΣΕΩΝ
Δυναμικός Κατακερματισμός
Δοκοί Διαγράμματα Τεμνουσών Δυνάμεων και Καμπτικών Ροπών
Find: ρc [in] from load (4 layers)
CPSC-608 Database Systems
Μεταγράφημα παρουσίασης:

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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Αρχιτεκτονικές Συστημάτων Βάσεων Δεδομένων 1.Συγκεντρωτικά συστήματα ΒΔ 2.Συστήματα πελάτη - εξυπηρετητή (client-server) 3.Παράλληλα συστήματα ΒΔ 4.Κατανεμημένα συστήματα ΒΔ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Σε τι χρειάζεται ο παραλληλισμός 1 Terabyte 10 MB/s Με 10 MB/s 1.2 μέρες για scan 1 Terabyte 1,000 x parallel 1.5 λεπτά για scan. παραλληλισμός: διάσπαση ενός μεγάλου προβλήματος σε μικρότερα τα οποία θα λυθούν παράλληλα Bandwidth

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Παράλληλα Συστήματα  Τα παράλληλα συστήματα ΒΔ αποτελούνται από ένα σύνολο πολλών επεξεργαστών και πολλών δίσκων διασυνδεδεμένων σε ένα γρήγορο δίκτυο.  Μία coarse-grain παράλληλη μηχανή αποτελείται από ένα μικρό αριθμό ισχυρών επεξεργαστών (** χοντρόκοκκοι **)  Μία μαζικά παράλληλη (massively parallel) ή fine grain παράλληλη μηχανή χρησιμοποιεί χιλιάδες μικρότερους επεξεργαστές (** λεπτόκοκκοι **)

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

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Αρχιτεκτονικές Παράλληλων ΣΒΔ  Διαμοιρασμένη μνήμη (shared memory) : οι επεξεργαστές μοιράζονται κοινή μνήμη  Διαμοιρασμένο σύστημα δίσκων (shared disk) : οι επεξεργαστές μοιράζονται κοινό σύστημα δίσκων  «Τίποτα» διαμοιρασμένο (shared nothing) : οι επεξεργαστές ΔΕΝ μοιράζονται ούτε κοινή μνήμη ούτε κοινό δίσκο  Ιεραρχική : υβριδική αρχιτεκτονική – συνδυασμός των ανωτέρω

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Αρχιτεκτονικές Παράλληλων ΣΒΔ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) Διαμοιρασμένη μνήμη (shared memory)  Ιδιαίτερα αποδοτική επικοινωνία μεταξύ των επεξεργαστών. Όλοι προσπελαύνουν τα δεδομένα στην (κοινή) μνήμη χωρίς να χρειάζεται να τα μετακινήσουν από εκεί.  Πρόβλημα: δεν κλιμακώνεται πέρα από 32 ή 64 επεξεργαστές καθώς προκαλείται κυκλοφοριακή συμφόρηση (bottleneck) στον δίαυλο μνήμης. Συνήθως χρησιμοποιείται για χαμηλό βαθμό παραλληλισμού (4-8).

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) Διαμοιρασμένο σύστημα δίσκων (shared disk)  Ο δίαυλος μνήμης δεν είναι πια πρόβλημα αλλά τώρα η κυκλοφοριακή συμφόρηση συμβαίνει στη σύνδεση με το σύστημα δίσκων  Ανοχή σφαλμάτων (fault-tolerance). Εάν αποτύχει ένας επεξεργαστής, οι υπόλοιποι αναλαμβάνουν τις εργασίες του αφού η ΒΔ είναι αποθηκευμένη σε δίσκους προσπελάσιμους από όλους  Κλιμάκωση σε κάπως μεγαλύτερο αριθμό επεξεργαστών  Τα πρώτα εμπορικά συστήματα: IBM Sysplex και DEC clusters (τώρα Compaq) που έτρεχαν Rdb (τώρα Oracle Rdb)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) «Τίποτα» διαμοιρασμένο (shared nothing) Ένας «κόμβος» αποτελείται από έναν επεξεργαστή, μια μνήμη και ένα σύστημα δίσκων. Οι κόμβοι είναι συνδεδεμένοι μεταξύ τους. Κάθε κόμβος παίζει το ρόλο του εξυπηρετητή για τα δεδομένα που είναι αποθηκευμένα στο σύστημα δίσκων του. Η κλιμάκωση μπορεί να γίνει σε χιλιάδες επεξεργαστές Πρόβλημα: κόστος επικοινωνίας μεταξύ επεξεργαστών και η προσπέλαση δεδομένων σε μη τοπικούς δίσκους (απαιτείται λογισμικό αποστολής δεδομένων από το έναν κόμβο στον άλλο) Εμπορικά συστήματα: Teradata, Tandem, Oracle-n CUBE

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Αρχιτεκτονικές Παράλληλων ΣΒΔ (συν.) «Ιεραρχική αρχιτεκτονική Το ανώτερο επίπεδο μπορεί να ακολουθεί την αρχιτεκτονική «τίποτα» διαμοιρασμένου ενώ εσωτερικά κάθε κόμβος μπορεί να είναι διαμοιρασμένης μνήμης ή διαμοιρασμένου συστήματος δίσκων (σε πολλά επίπεδα)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Παραδείγματα Παράλληλων Συστημάτων (9/1995) Shared Nothing Teradata: 400 nodes Tandem: 110 nodes IBM / SP2 / DB2: 128 nodes Informix/SP2 48 nodes ATT & Sybase ? nodes Shared Disk Oracle170 nodes DEC Rdb 24 nodes Shared Memory Informix 9 nodes RedBrick ? nodes

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Μέτρα Απόδοσης  Δύο κύρια μέτρα απόδοσης:  Ρυθμός εξόδου ή ολοκλήρωσης (throughput): ο αριθμός των εργασιών που μπορούν να ολοκληρωθούν σε συγκεκριμένο χρονικό διάστημα  Χρόνος απόκρισης (response time) : ο χρόνος που απαιτείται για να ολοκληρωθεί μία εργασία από τη στιγμή που θα υποβληθεί

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Μέτρα Απόδοσης Επιτάχυνση (Speed-Up) Περισότεροι πόροι σημαίνει αναλογικά λιγότερος χρόνος για ένα δοσμένη ποσότητα δεδομένων degree of ||-ism Xact/sec. (throughput) Ιδανική

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Μέτρα Απόδοσης Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός degree of ||-ism Ιδανική Xact/sec. (throughput)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Μέτρα Απόδοσης Κλιμάκωση (Scale-Up) Αν οι πόροι αυξάνονται σε αναλογία με το μέγεθος δεδομένων, ο χρόνος είναι σταθερός degree of ||-ism sec./Xact (response time) Ιδανική

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Αρχιτεκτονικές Παράλληλων ΣΒΔ Διαμοιραζόμενης Μνήμης Shared Memory (SMP) Διαμοιραζόμενου Δίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) CLIENTS Memory Processors Εύκολο στον προγραμματισμό Ακριβό στην κατασκευή Δύσκολη κλιμάκωση Sequent, SGI, Sun Μια μέση επιβάρυνση 1% για κάθε επιπρόσθετη CPU σημαίνει ότι η μέγιστη επιτάχυνση είναι 37, πρόσθεση νέων CPU οδηγεί σε επιβράδυνση, 1000 CPU Μόνο 4% πιο γρήγορες από ένα σύστημα με 1 CPU

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 Αρχιτεκτονικές Παράλληλων ΣΒΔ Διαμοιραζόμενης Μνήμης Shared Memory (SMP) Διαμοιραζόμενου Δίσκου Shared Disk Τίποτα διαμοιρασμένο Shared Nothing (δικτυακές) CLIENTS Memory Processors Εύκολο στον προγραμματισμό Ακριβό στην κατασκευή Δύσκολη κλιμάκωση Δύσκολο στον προγραμματισμό Οικονομικό στην κατασκευή Εύκολη κλιμάκωση Sequent, SGI, Sun VMScluster, Sysplex Tandem, Teradata, SP2

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Τύποι Παραλληλίας  Παραλληλισμός μέσω σωληνωτής εκτέλεσης (pipeline parallelism): πολλές μηχανές που η καθεμία εκτελεί ένα βήμα μιας διαδικασίας πολλών βημάτων  Παραλληλισμός με διάσπαση (partition parallelism): πολλές μηχανές που εκτελούν την ίδια λειτουργία σε διαφορετικά τμήματα των δεδομένων  Και οι δύο τύποι παραλληλισμού είναι δυνατοί στα ΣΔΒΔ Pipeline Partition Any Sequential Program Any Sequential Program Sequential Any Sequential Program Any Sequential Program outputs split N ways, inputs merge M ways

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 ΣΔΒΔ: Η επιτυχία του παραλληλισμού zDBMSs are the most (only?) successful application of parallelism. yTeradata, Tandem vs. Thinking Machines, KSR.. yEvery major DBMS vendor has some || server yWorkstation manufacturers now depend on || DB server sales. zReasons for success: yBulk-processing (= partition ||-ism). yNatural pipelining. yInexpensive hardware can do the trick! yUsers/app-programmers don’t need to think in ||

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Αυτόματη Διαμέριση Δεδομένων Διαμερισμός ενός πίνακα Ταξινόμηση, επιλογή n περιοχών έτσι ώστε κάθε περιοχή να περιέχει περίπου τον ίδιο αριθμό πλειάδων, πλειάδες στην περιοχή i στον επεξεργαστή i A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z ΠεριοχήκατακερματισμόςRound Robin

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Αυτόματη Διαμέριση Δεδομένων A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z περιοχήKατακερματισμόςround robin Μια σύναρτηση κατακερματισμού εφαρμόζεται σε επιλεγμένα γνωρίσματα κάθε πλειάδας και μας δίνει τον αριθμό του επεξεργαστή

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Αυτόματη Διαμέριση Δεδομένων A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z περιοχήκατακερματισμόςRound Robin H i-οστή πλειάδα πάει στον i mod n επεξεργαστή

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Αυτόματη Διαμέριση Δεδομένων  Round robin καλό για προσπέλαση όλης της σχέσης  Αν μόνο ένα υποσύνολο διαμέριση περιοχής και κατακερματισμού (αν ισότητα) καλύτερα – αν βέβαια η επιλογή αφορά τα ίαδια γνωρίσματα  Επιλογή περιοχής τότε διαμέριση περιοχής καλύτερη  Το data skew πρόβλημα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Αυτόματη Διαμέριση Δεδομένων Shared disk and memory less sensitive to partitioning, Shared nothing benefits from "good" partitioning A...E F...J K...NO...ST...Z A...E F...JK...NO...S T...Z A...EF...J K...N O...S T...Z Καλός για συνενώσεις ισότητας, Ερωτήσεις περιοχής ομαδοποίηση Καλός για συνενώσεις ισότητας Καλός τρόπος για καταμερισμό φορτίου ΠεριοχήΚατακερματισμόςRound Robin

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Παραλληλισμός Σειραικού κώδικα  split  merge  δίκτυο ροής δεδομένων (data flow network)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Διαφορετικοί Τύποι Παραλληλισμού σε ΣΔΒΔ zΠαράλληλη εκτέλεση μιας πράξης (Intra-operator parallelism) y όλες οι μηχανές εργάζονται στην εκτέλεση μιας συγκεκριμένης πράξης (scan, sort, join) zΠαράλληλη εκτέλεση πολλών πράξεων (Inter-operator parallelism) y κάθε πράξη μπορεί να εκτελείται ταυτόχρονα σε διαφορετικούς κόμβους (και χρήση σωληνωτής εκτέλεσης) zΠαράλληλη εκτέλεση ερωτήσεων (Inter-query parallelism) y διαφορετικές ερωτήσεις εκτελούνται σε διαφορετικούς κόμβους zΘα επικεντρωθούμε στο πως μπορούμε να εκτελέσουμε παράλληλα μια πράξη (intra-operator ||-ism)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Παράλληλο Scan zScan in parallel, and merge. zSelection may not require all sites for range or hash partitioning. zIndexes can be built at each partition. zQuestion: How do indexes differ in the different schemes? yThink about both lookups and inserts! yWhat about unique indexes?

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Παράλληλη Ταξινόμηση zCurrent records: y8.5 Gb/minute, shared-nothing; Datamation benchmark in 2.41 secs (UCB students! zΙδέα 1 zΚαλύτερη ιδέα yScan in parallel, and range-partition as you go. yAs tuples come in, begin “local” sorting on each yResulting data is sorted, and range-partitioned. yProblem: skew! ySolution: “sample” the data at start to determine partition points (splitting vector)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 Jim Gray & Gordon Bell: VLDB 95 Parallel Database Systems Survey Παράλληλες Συναθροιστικές zFor each aggregate function, need a decomposition: ycount(S) = S count(s(i)), ditto for sum() yavg(S) = (S sum(s(i))) / S count(s(i)) yand so on... zFor groups: ySub-aggregate groups close to the source. yPass each sub-aggregate to its group’s site. xChosen via a hash fn.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Παράλληλες Συνενώσεις zNested loop: yEach outer tuple must be compared with each inner tuple that might join. yEasy for range partitioning on join cols, hard otherwise! zSort-Merge (or plain Merge-Join): ySorting gives range-partitioning. xBut what about handling 2 skews? yMerging partitioned tables is local.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Parallel Hash Join zIn first phase, partitions get distributed to different sites: yA good hash function automatically distributes work evenly! zDo second phase at each site. zAlmost always the winner for equi-join. Original Relations (R then S) OUTPUT 2 B main memory buffers Disk INPUT 1 hash function h B-1 Partitions 1 2 B-1... Phase 1

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Dataflow Network for || Join zGood use of split/merge makes it easier to build parallel versions of sequential join code.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Παραλληλισμός Πλάνου Εκτέλεσης Ερώτησης zComplex Queries: Inter-Operator parallelism yPipelining between operators: xnote that sort and phase 1 of hash-join block the pipeline!! yBushy Trees A BRS Sites 1-4Sites 5-8 Sites 1-8

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Observations zIt is relatively easy to build a fast parallel query executor yS.M.O.P. zIt is hard to write a robust and world- class parallel query optimizer. yThere are many tricks. yOne quickly hits the complexity barrier. yStill open research!

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 Parallel Query Optimization zCommon approach: 2 phases yPick best sequential plan (System R algorithm) yPick degree of parallelism based on current system parameters. z“Bind” operators to processors yTake query tree, “decorate” as in previous picture.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 zBest serial plan != Best || plan! Why? zTrivial counter-example: yTable partitioned with local secondary index at two nodes yRange query: all of node 1 and 1% of node 2. yNode 1 should do a scan of its partition. yNode 2 should use secondary index. zSELECT * FROM telephone_book WHERE name < “NoGood”; What’s Wrong With That? N..Z Table Scan A..M Index Scan

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Περίληψη z||-ism natural to query processing: yBoth pipeline and partition ||-ism! zShared-Nothing vs. Shared-Mem yShared-disk too, but less standard yShared-mem easy, costly. Doesn’t scaleup. yShared-nothing cheap, scales well, harder to implement. zIntra-op, Inter-op, & Inter-query ||-ism all possible.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Περίληψη zData layout choices important! zMost DB operations can be done partition-|| ySort. ySort-merge join, hash-join. zComplex plans. yAllow for pipeline-||ism, but sorts, hashes block the pipeline. yPartition ||-ism acheived via bushy trees.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Περίληψη zHardest part of the equation: optimization. y2-phase optimization simplest, but can be ineffective. yMore complex schemes still at the research stage. zWe haven’t said anything about Xacts, logging. yEasy in shared-memory architecture. yTakes some care in shared-nothing.