Παρά η η Δια είριση Δεδομέν ν

Σχετικά έγγραφα
Ο Κατά ο ος Υπο ραφών

Το Λο ικό Μοντέ ο. Περιε όμενα Κεφα αίου

Το Διανυσματικό Μοντέ ο

Ο Αντεστραμμένος Κατά ο ος

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Τε νο ο ίας Π ηροφορικής και Υπο ο ιστών. Διπ ματική Ερ ασία

Α όρι μοι και Πο υπ οκότητα 1η Σειρά Γραπτών Ασκήσε ν

Κανονισμός Εποπτικού Συμ ου ίου

Επέκταση του συστήματος ανοι τού κώδικα Pig

Κανονισμός Εκτε εστικής Επιτροπής

Ανάπτυξη Βι ιο ήκης Γραφικών ια Ενσ ματ μένο Σύστημα

Κανονισμός Διοικητικού Συμ ου ίου

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Τε νο ο ίας Π ηροφορικής και Υπο ο ιστών. Διπ ματική Ερ ασία

Κανονισμός Οικονομικής Δια είρισης

Ανάκτηση Π ηροφορίας. Συ ραφή Απόστο ος Ν. Παπαδόπου ος Ι άννης Μαν όπου ος Κ νσταντίνος Τσί ας. Κριτικός Ανα νώστης Δημήτριος Κατσαρός

Ανάκτηση Π ηροφορίας στον Πα κόσμιο Ιστό

Το Πι ανοκρατικό Μοντέ ο

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

Εισα ή στην Ανάκτηση Π ηροφορίας

Αποτίμηση Αποτε εσματικότητας

Απ ή υ οποίηση α ορί μου Fast Multipole Method ανεξάρτητου συνάρτησης πυρήνα

Ορ ανισμός Εσ τερικής Υπηρεσίας

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Η εκτρικής Ισ ύος. Διπ ματική Ερ ασία

Π Ε Δ (Π.Ε.Δ.) Ι Ν ΠΕΔ. Κανονισμοί. ΟΕΥ Προσωπικού Διοικητικού Συμβουλίου Εκτελεστικής Επιτροπής Οικονομικής Διαχείρισης Εποπτικού Συμβουλίου

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

ἔστω Ο...πισινός μας! American Bar το καναμε για όλους μας. * * * κι από τη Σκιά τους. σε κάθε νησί;

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

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

Ε νικό Μετσό ιο Πο υτε νείο

Ανάπτυξη Συστήματος Συστάσε ν Συνερ ατικής Διή ησης με ρήση Ιεραρ ικών Α ορί μ ν Κατάταξης

Ε νικό Μετσό ιο Πο υτε νείο. Διπ ματική Ερ ασία

Σ εδιασμός Συστημάτ ν Ε έ ου

JEAN-CHARLES BLATZ 02XD RE52755

Ε νικό Μετσό ιο Πο υτε νείο. Α όρι μοι Επανε ραφής Τροποποιημέν ν Ερ τημάτ ν ια Βατές Περι ραφικές Λο ικές

Ε νικό Μετσό ιο Πο υτε νείο. Πρακτικά Συστήματα Συ ο ιστικής ια Εκφραστικές Ασαφείς Περι ραφικές Λο ικές

Υ οποίηση αντα α ής κ ειδιού DH και ψηφιακών υπο ραφών ασισμένη σε ε ειπτικές καμπύ ες

Ε νικό Μετσό ιο Πο υτε νείο

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Χημικών Μη ανικών. Με έτη και σ εδιασμός με όδ ν Εξόρυξης Δεδομέν ν και εφαρμο ές σε προ ήματα Μετα ο ομικής

Εξόρυξη νώσης από μέσα κοιν νικής δικτύ σης: Με έτη περίπτ σης στο Twitter.

ΚΑΝΟΝΙΣ ΜΟ Ι ΙΕΞΑΓΩΓΗΣ ΑΓΩΝΩΝ 1 / 8 SCALE IC TRA CK ΕΛ. Μ. Ε

Ανάπτυξη συντακτικού ανα υτή φυσικής ώσσας με ρήση του φορμα ισμού LFG. Πανα ιώτης Μίνος

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Επικοιν νιών, Η εκτρονικής και Συστημάτ ν Π ηροφορικής

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

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

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

20/5/ /5/ /5/ /5/2005

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

αναλυτικός απλός 1 Ο αναλυτικός βλέπει τον κόσμο σαν να αποτελείται από πολλά μικρά κομμάτια.

Η Αρ ιτεκτονική αναφοράς Μα ησιακών Χώρ ν CROP - Μια πρώτη προσέ ιση

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

Πα κ έ τ ο Ε ρ γ α σ ί α ς 4 Α ν ά π τ υ ξ η κ α ι π ρ ο σ α ρ µ ο γ ή έ ν τ υ π ο υ κ α ι η λ ε κ τ ρ ο ν ι κ ο ύ ε κ π α ι δ ε υ τ ι κ ο ύ υ λ ι κ ο

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

α κα ρι ι ο ος α α νηρ ος ου ουκ ε πο ρε ε ευ θη εν βου λη η η α α σε ε ε βων και εν ο δω ω α α µαρ τω λω ων ουουκ ε ε ε

ΣΤΟ ΧΟΣ- Ε ΠΙ ΔΙΩ ΞΗ ΠΛΑΙ ΣΙΟ ΧΡΗ ΜΑ ΤΟ ΔΟ ΤΗ ΣΗΣ

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

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


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

Π α σα πνο η αι νε σα τω τον Κυ ρι. Π α σα πνο η αι νε σα α τω τον. Ἕτερον. Τάξις Ἑωθινοῦ Εὐαγγελίου, Ὀ Ν Ψαλµός. Μέλος Ἰωάννου Ἀ. Νέγρη.


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

Κεφ.11: Ευρετήρια και Κατακερματισμός

FAX : spudonpe@ypepth.gr) Φ. 12 / 600 / /Γ1

Tη λ.: +30 (210) Fax: +30 (210)

Ε νικό και Καποδιστριακό Πανεπιστήμιο Α ηνών. Δι οτομίες Πο υπ οκότητας σε Προ ήματα Μέτρησης

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

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

Ε.Ε. Π α ρ.ι(i), Α ρ.3932, 10/12/2004 Ο ΠΕΡΙ ΚΟΙΜΗΤΗΡΙΩΝ (ΤΑΦΗ ΚΑΙ ΕΚΤΑΦΗ) ΝΟΜΟΣ. H Βουλή των Αντιπροσώπων ψηφίζει ως ακολούθως:

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

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


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

31/12/ /12/2005 (36) (109) (36) (126) (36) (126)

Περιεχόµ εν α. Εισαγω γή. Επ ισκόπ ηση υπ ο βο λής φακέλω ν (IUCLID 5) Επ ισκόπ ηση υπ ο βο λής φακέλω ν (Reach-IT) Ερω τήσεις καιαπ αν τήσεις

20/5/ /5/ /5/ /5/2006

Πρι τ αρακτηρ οτικ λαπλ ουοτηματα μικρ ετ εξεργατ δ π υ τ

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

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

Οι τα α α α α α α α Κ. ε ε ε ε ε ε ε ε ε Χε ε ε. ε ε ε ε ε ε ρου ου βι ι ι ι ι ι ι. ιµ µυ στι κω ω ω ω ω ως ει κο ο

Tηλ.: +30 (210) Fax: +30 (210)

14/5/ /12/ /5/ /5/2007

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

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

d u d dt u e u d dt e u d u 1 u dt e 0 2 e

Εικονογραφημένο Λεξικό Το Πρώτο μου Λεξικό

1.2.3 ιαρ θρω τι κές πο λι τι κές Σύ στη μα έ λεγ χου της κοι νής α λιευ τι κής πο λι τι κής...37

( THN & JEAN-ROCH LICARI . 05AV

Η κ άσση L A TEX dithesis

ο Θε ος η η µων κα τα φυ γη η και δυ υ υ να α α α µις βο η θο ος ε εν θλι ψε ε ε σι ταις ευ ρου ου ου ου ου σαις η η µα α α ας σφο ο ο ο

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

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

Τ τμημα Ηλεκτρ Λ γ α ργ ΨηφιακΦ Συα ημ τω Α αθμ Σκ π τη κη η Σκ π τηζ κη η ε αι α ρησ μ π ε π υδαα η Λ γ κθζ π Λε π ΛΛΦ ε δω α α δε ξε τ τρ π με π γ ε

LAFARGE BETON A.B.E.E

1 Θέμα Γενική Περι ραφή Θέματος Υ ικά Εξαρτήματα και Τε νο ο ίες Συνδεσμο ο ία... 2


Αρ έ ονα αρυτικά κύματα από τον κοσμο ο ικό π η ρισμό και CMB

Τι μπορεί να δει κάποιος στο μουσείο της Ι.Μ. Μεγάλου Μετεώρου

2006 (20/5/06 31/12/06)

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

ΘΕΜΑ: Οδηγίες για την αποστολή στοιχείων απλήρωτων υποχρεώσεων & ληξιπρόθεσµων οφειλών του Προγράµµατος ηµοσίων Επενδύσεων

Ό λοι οι κα νό νες πε ρί με λέ της συ νο ψί ζο νται στον ε ξής έ να: Μά θε, μό νο προκει μέ νου. Friedrich Schelling. σελ. 13. σελ. 17. σελ.

Transcript:

17 Παρά η η Δια είριση Δεδομέν ν Ο όρος "με ά α δεδομένα" εμφανίστηκε στα μέσα της δεκαετίας του 2000 και έ ει έσει νέες προκ ήσεις στα ΣΔΒΔ. Συνοπτικά, οι προκ ήσεις αυτές απορρέουν κυρί ς από τον πο ύ με ά ο ό κο, το ρυ μό παρα ής και την ποικι ομορφία τ ν σύ ρον ν δεδομέν ν, ενώ ανακύπτουν επιπ έον ζητήματα σ ετικά με την ποιότητα. Η έννοια του "πο ύ με ά ου", αναφορικά με τον ό κο δεδομέν ν και τις τε νο ο ίες Βάσε ν Δεδομέν ν, δεν είναι σαφώς ορισμένη και ανα ε ρείται με την πρόοδο της τε νο ο ίας. Κατά το ρόνο συ ραφής αυτού του κεφα αίου, ς πο ύ με ά α σύνο α δεδομέν ν ε ρούνται αυτά που περιέ ουν ε ραφές, τ ν οποί ν το π ή ος ξεπερνά κατά τάξεις με έ ους το δισεκατομμύριο και κατά κανόνα, δεν ράνε στην κύρια μνήμη ενός, έστ και προη μένου, προσ πικού υπο ο ιστή. Τέτοια σύνο α δεδομέν ν παρά ονται από μία ευρεία κάμα εφαρμο ών, όπ ς εφαρμο ές κοιν νικών δικτύ ν, αποτε έσματα προ ραμμάτ ν προσομοιώσε ν, δεδομένα αισ ητήρ ν, α ά και αρ εία ημερο ο ί ν εξυπηρετών δικτύου. Το ασικό πρό ημα με τη δια είριση τ ν με ά ν δεδομέν ν δεν είναι η απο ήκευσή τους, όσο η αποδοτική τους επεξερ ασία, δεδομένου ότι άσει όσ ν αναφέρ ηκαν παραπάν, η επεξερ ασία συνή ς συμπερι αμ άνει προσπε άσεις στη δευτερεύουσα μνήμη, που συνε ίζει να είναι ο πιο αρ ός τύπος πόρου, συ- κριτικά με τις μονάδες επεξερ ασίας και την κύρια μνήμη. Π.., ένας SSD δίσκος με τα ύτητα ανά ν σης 2500ΜΒ/sec, α μπορέσει απ ώς να ανα νώσει 441

442 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων 1TB (10 12 bytes) δεδομέν ν σε σ εδόν 7 επτά, ενώ η ανά ν ση 1PB (10 15 bytes), αν υπο έσουμε ότι αναπτύσσεται η τε νο ο ία SSD ώστε να παράξει SSD τέτοιας ρητικότητας, α απαιτούσε σ εδόν 5 μέρες. Όμ ς από τα πρώτα ρόνια ρίμανσης τ ν τε νο ο ιών τ ν ΣΔΒΔ εί ε εμφανιστεί η ανά κη δια είρισης ό κου δεδομέν ν τέτοιου με έ ους, που ένα κεντρικοποιημένο ΣΔΒΔ δεν μπορούσε να πρα ματοποιήσει αποδοτικά. Η π έον ενδεδει μένη ύση ήταν η παρα η οποίηση. Η παρα η οποίηση επιτρέπει σε ένα σύστημα ΣΔΒΔ να έ ει πρόσ αση σε πο απ ούς πόρους. Οι ασικοί τύποι τ ν πόρ ν είναι τρεις: α) η υπο ο ιστική ισ ύς CPU, ) η κύρια μνήμη και ) η δευτερεύουσα μνήμη. Η παρα η οποίηση στις ΒΔ είναι π έον μία ώριμη τε νο ο ία με πο ύ συ- νή ρήση στην πράξη και αποτε εί ένα ασικό μη ανισμό αντιμετώπισης προ- ημάτ ν σ ετικά με τα με ά α δεδομένα. Οι ασικοί ό οι που κα ιερώ ηκε συνοψίζονται στο ε ονός ότι οι μικροεπεξερ αστές ια τους πόρους που αναφέραμε παραπάν έ ουν αμη ή τιμή, η παρα ή παρά η ν συστημάτ ν ΒΔ δεν απαιτεί εξειδικευμένο υ ικό και τέ ος, η σ εσιακή ά ε ρα είναι επιδεκτή στον παρα η ισμό. Τα επόμενα κεφά αια ασ ο ούνται με έματα μορφών παρα η ισμού, παρά η ν αρ ιτεκτονικών και παρά η ης επεξερ ασίας ερ τημάτ ν. Στη συνέ εια, εξετάζονται έματα παρά η ης επεξερ ασίας σε συστήματα τύπου MapReduce, δη αδή ερ τήματα εκτός τ ν π αισί ν ΣΔΒΔ, και κατανεμημέν ν ΒΔ. 17.1 Βασικές Μορφές και Μετρικές Παρα η- ισμού Στις παρά η ες ΒΔ, η ασική υπό εση είναι ότι τα δεδομένα απο ηκεύονται σε πο απ ούς σκ ηρούς δίσκους, έτσι ώστε α) να ε τιώνεται η απόδοση, π.., οι ακρι ές Ι/Ο πράξεις να επιτε ούνται παρά η α, και ) να αυξάνεται η αξιοπιστία του συστήματος, π.., να παραμένει δια έσιμο παρά τις αποτυ ίες μέρους του υ ικού. Τα ερ τήματα SQL παραμένουν τα ίδια με αυτά στα κεντρικοποιημένα συστήματα, δη αδή ο παρα η ισμός είναι απο ύτ ς κρυμμένος από τον ρήστη. Τα ερ τήματα συνε ίζουν να μεταφράζονται σε εκφράσεις σ εσιακής ά ε ρας, οι οποίες όμ ς εκτε ούνται παρά η α. Οι μορφές της παρά η ης εκτέ εσης είναι πο ές και εξετάζονται επτομερώς παρακάτ.

17.1. Βασικές Μορφές και Μετρικές Παραλληλισμού 443 17.1.1 Μορφές Παρα η ισμού Σχήμα 17.1: Κατηγοριοποίηση των μορφών παραλληλισμού. Οι ασικές μορφές παρα η ισμού είναι δύο: 1. Πο ά διαφορετικά ερ τήματα μπορούν να εκτε ούνται ταυτό ρονα σε ένα σύστημα με πο ούς δια έσιμους πόρους. Το κά ε ένα ερώτημα εκτε είται με ένα κ ασικό κεντρικοποιημένο τρόπο, όπ ς π.., εξη ή ηκε στο Κεφά- αιο 12, ενώ ο έ ε ος ταυτο ρονισμού, που με ετή ηκε στο Κεφά αιο 13, ε υάται την ορ ή συνο ική εκτέ εση ό ν τ ν ερ τημάτ ν. Αυτή η μορφή παρα η ισμού ονομάζεται παρα η ισμός ανάμεσα στα ερωτήματα (intra-query). 2. Ένα συ κεκριμένο ερώτημα μπορεί να εκτε είται παρά η α σε πο ούς δια έσιμους πόρους. Αυτή η μορφή ονομάζεται παρα η ισμός μέσα στο ερώτημα (inter-query) και διακρίνεται σε τρεις υπο-περιπτώσεις: Ένας τε εστής αντι ράφεται και εκτε είται σε πο απ ούς διαφορετικούς επεξερ αστές. Κά ε ένα αντί ραφο επεξερ άζεται ένα διαφορετικό τμήμα (partition) τ ν δεδομέν ν. Η συ κεκριμένη μορφή παρα η ισμού ονομάζεται παρα η ισμός μέσα στον τελεστή ή διαμερισμένος (intra-operator, ή partitioned). Οποιοσδήποτε τε εστής σε ένα π άνο εκτέ εσης μπορεί να φε η εί από αυτήν τη μορφή παρα - η ισμού και στη ενική περίπτ ση, μπορεί να επιφέρει με α ύτερη ε τί ση στην απόδοση συ κριτικά με τις ά ες δύο μορφές. Μία α η ου ία τε εστών στο π άνο εκτέ εσης μπορεί να εκτε είται με την τε νική διο έτευσης (pipelining), όπου κά ε τε εστής εκτε- είται σε διαφορετικό επεξερ αστή. Κατ' αυτόν τον τρόπο, η έξοδος του ενός τε εστή περνάει κατευ είαν ς είσοδος στον επόμενο και

444 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων η εκτέ εση τ ν τε εστών επικα ύπτεται ρονικά. Η συ κεκριμένη μορφή παρα η ισμού ονομάζεται παρα η ισμός ανάμεσα στους τελεστές (inter-operator, ή pipelined). Για να μπορεί ένας τε εστής να φε η εί από αυτήν τη μορφή παρα η ισμού, πρέπει να επιτρέπει την εκτέ εση διο έτευσης, δη αδή να μην απαιτεί να κατανα ώσει ό η την είσοδο πριν παράξει κάποια π ειάδα εξόδου. Ανεξάρτητα υποδένδρα στο π άνο εκτέ εσης μπορούν να εκτε ούνται παρά η α. Αυτή η μορφή παρα η ισμού ονομάζεται ανεξάρτητη (independent) και εφαρμόζεται σε π άνα εκτέ εσης που δεν αποτε- ούνται από ένα μοναδικό μονοπάτι από ένα φύ ο προς τη ρίζα του π άνου. Σχήμα 17.2: Παραδείγματα των μορφών παραλληλισμού μέσα σε ένα ερώτημα. Οι μορφές παρα η ισμού συνοψίζονται στην Εικόνα 17.1, ενώ πρέπει να ίνει ξεκά αρο ότι μπορούν να συνδυαστούν. Δη αδή, πο ά ερ τήματα μπορούν να εκτε ούνται ταυτό ρονα, ενώ το κα ένα από αυτά μπορεί να εκτε είται παρά η α και με τους τρεις τρόπους που αναφέρ ηκαν. Παραδεί ματα αυτών τ ν τριών τρόπ ν φαίνονται στην Εικόνα 17.2. Αριστερά, μία σύνδεση R S εκτε είται με διαμερισμένο παρα η ισμό ρησιμοποιώντας τέσσερα αντί ραφα ή α ιώς στι μιότυπα ή κ ώνους (δη αδή, με α μό παρα η ισμού 4). Κά ε ένα αντί ραφο ανα αμ άνει ένα μη επικα υπτόμενο τμήμα της εισόδου. Στην εικόνα ισ ύει R = R1 R2 και S = S1 S2. Στη μέση, φαίνεται ένα π άνο με τέσσερις τε εστές συμπερι αμ ανομένου και αυτού της ανά ν σης της σ έσης R. Ό οι οι τε εστές μπορούν να εκτε εστούν με διο έτευση σε ανεξάρτητους επεξερ αστές. Δεξιά, ς παράδει μα ανεξάρτητου παρα η ισμού, οι δύο συνδέσεις αμη ότερα στο π άνο μπορούν να εκτε ούνται ταυτό ρονα. Τέ ος, είναι σημαντικό να διευκρινίσουμε τη επτή κυριο εκτική διαφορά μεταξύ ταυτό ρονης (simultaneous) και σύ ρονης (concurrent) εκτέ εσης. Στο παράδει μα της Εικόνας 17.2( ), οι τέσσερις τε εστές μπορούν να εκτε ούνται παρά η α με την τε νική διο έτευσης σε ένα μοναδικό επεξερ αστή. Αυτή η

17.1. Βασικές Μορφές και Μετρικές Παραλληλισμού 445 εκτέ εση είναι σύ ρονη (concurrent). Σε μία τέτοια περίπτ ση, ό οι οι τε εστές είναι ενερ οί ταυτό ρονα, α ά σε κά ε μία ρονική στι μή, μόνο ένας τε εστής επεξερ άζεται κάποια π ειάδα εξόδου. Οπότε η τε νική διο έτευσης αναμένεται να μην επιφέρει ε τί ση της απόδοσης σε ένα κεντρικοποιημένο σύστημα, δη αδή σε ένα σύστημα με ένα επεξερ αστή. Στην περίπτ ση όμ ς που υπήρ αν τέσσερις επεξερ αστές, τότε α ήταν εφικτό κά ε τε εστής να επεξερ άζεται την ίδια ρονική στι μή μία, προφανώς διαφορετική, π ειάδα εισόδου. Αυτή η ταυτό ρονη (simultaneous) επεξερ ασία ανάμεσα στους τε εστές αναμένεται να επιφέρει ε τιώσεις στο ρόνο επεξερ ασίας. 17.1.2 Μέτρα Απόδοσης Έστ T 1 ο ρόνος που απαιτείται ώστε ένα ερώτημα να επεξερ αστεί σε ένα κεντρικοποιημένο σύστημα με έναν επεξερ αστή. Επίσης, έστ T n ο ρόνος επεξερ ασίας του ίδιου ερ τήματος όταν ρησιμοποιούνται n επεξερ αστές και αντίστοι α αυξάνουν και οι ά οι τύποι πόρ ν. Ένα ασικό μέτρο απόδοσης του παρα η ισμού είναι η επιτάχυνση (speed-up) που, ς συνάρτηση του n, ορίζεται ς εξής: speed up(n) = T 1 T n Σχήμα 17.3: (α) περιπτώσεις επιτάχυνσης και (β) χρόνος εκτέλεσης για γραμμική επιτάχυνση. Στο Σ ήμα 17.3(α) φαίνονται οι τρεις ενικές περιπτώσεις, η υπερ- ραμμική, η ραμμική και η υπο- ραμμική, όπου η επιτά υνση είναι με α ύτερη, ίση ή μικρότερη του n, αντίστοι α. Η ραμμική επιτά υνση πρακτικά σημαίνει ότι με n φορές περισσότερους πόρους, το ερώτημα εκτε είται n φορές τα ύτερα, δη αδή T n = T 1 /n.

446 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Τρεις σημαντικές παρατηρήσεις είναι οι εξής. Συ νά η ραμμική επιτά υνση μεταφράζεται ς ιδανική περίπτ ση. Όμ ς αυτό δεν ισ ύει, κα ώς η υπερ- ραμμική επιτά υνση είναι εφικτή στην πράξη, π.., όταν αυξάνοντας τους πόρους η επεξερ ασία ενός ερ τήματος μπορεί να επιτε εστεί εξο οκ ήρου στην κύρια μνήμη ρίς να ισ ύει η ανά υση κόστους του Κεφα αίου 12. Επίσης, κα ώς αυξάνουμε τους πόρους, η μεί ση του ρόνου εκτέ εσης σε από υτα νούμερα μειώνεται και τείνει να ίνει μηδενική, όπ ς φαίνεται στο Σ ήμα 17.3( ). Τέ ος, η επιτά υνση πο ές φορές είναι υπο- ραμμική εξαιτίας τ ν εμποδί ν απόδοσης, που α εξη- η ούν παρακάτ και του ε ονότος ότι κάποια σημεία του π άνου ερ τήματος μπορεί να μην είναι παρα η οποιήσιμα, π.., τα αρ ικά δεδομένα ή ο κατά ο ος είναι απο ηκευμένα σε ένα μοναδικό σκ ηρό δίσκο. Η επιτά υνση είναι ένα κα ό μέτρο όταν έ ουμε να δούμε τη ε τί ση απόδοσης σε κά ε μεμον μένο ερώτημα. Πο ές φορές όμ ς μας ενδιαφέρει, όταν αυξάνει το π ή ος τ ν ερ τημάτ ν που εκτε ούνται ταυτό ρονα, ο μέσος ρόνος απόκρισης να παραμένει στα ερός. Ορίζουμε ς μέ ε ος προ ήματος το π ή- ος τ ν ερ τημάτ ν και ε ρούμε ότι όσο αυξάνεται αυτό το π ή ος, ανα ο ικά αυξάνεται και το π ή ος τ ν παρά η α ρησιμοποιούμεν ν πόρ ν. Τότε, η κλιμάκωση (scale-up) όταν το αρ ικό μας πρό ημα (smaller problem) με α ώνει n φορές (n-fold larger problem) ορίζεται ς εξής: scale up(n) = T small problem T n fold larger problem Σχήμα 17.4: Περιτπώσεις κλιμάκωσης. Οι δύο ασικές περιπτώσεις κ ιμάκ σης παρουσιάζονται στο Σ ήμα 17.4. Προσέξτε ότι η υπερ- ραμμική κ ιμάκ ση είναι ασυνή ιστη. Κάπ ς κατα ρηστικά, η κ ιμάκ ση ρησιμοποιείται και ια την περίπτ ση που αυξάνουμε το π ή ος δεδομέν ν εισόδου σε ένα ερώτημα.

17.2. Αρχιτεκτονικές Παραλληλισμού 447 17.1.3 Εμπόδια στον αποδοτικό παρα η ισμό Πέρα από την περίπτ ση που το π άνο ερ τήματος περι αμ άνει μη παρα η- οποιήσιμα κομμάτια, υπάρ ουν τρεις μορφές εμποδί ν στον αποδοτικό παρα - η ισμό, όπου ς αποδοτικός αρακτηρίζεται ο παρα η ισμός που επιτυ άνει επιτά υνση του ά ιστον κοντά στη ραμμική. Οι μορφές αυτές είναι οι παρακάτ : 1. Κόστος εκκίνησης (startup). Το κόστος εκκίνησης, δη αδή της αρ ικοποίησης, μίας παρά η ης πράξης μπορεί να είναι με α ύτερο από τα οφέ η του παρα η ισμού, ειδικά όταν η αρ ικοποίηση τ ν κόμ ν επιτε είται από έναν κεντρικό κόμ ο σειριακά. 2. Παρεμβολές (interference). Το ε ονός ότι πο ές παρά η ες διερ ασίες προσπα ούν να προσπε άσουν ταυτό ρονα κοινούς πόρους, προξενεί κα υστερήσεις ό συμφόρησης και ανά κης συντονισμού. 3. Ανομοιόμορφη Κατανομή (skew). Στην περίπτ ση διαμερισμένου παρα η- ισμού, όταν ο φόρτος ερ ασίας δεν καταμερίζεται ισομερώς στα διάφορα στι μιότυπα τε εστών, ο ρόνος ο οκ ήρ σης της παρα η οποιημένης πράξης είναι ο με α ύτερος από τους επιμέρους ρόνους ο οκ ήρ σης και κατά κανόνα, η αντίστοι η επιτά υνση είναι υπο- ραμμική. Επίσης, στην περίπτ ση που πο απ οί τε εστές εκτε ούνται με διο έτευση και ο κα- ένας σε διαφορετικό επεξερ αστή, η επιτά υνση είναι υπο- ραμμική όταν οι τε εστές έ ουν διαφορετικό κόστος, με αποτέ εσμα ο φόρτος σε κά ε επεξερ αστή να είναι διαφορετικός. Ομοί ς συμ αίνει και στην περίπτ ση του ανεξάρτητου παρα η ισμού. 17.2 Αρ ιτεκτονικές Παρα η ισμού Οι ασικές ενα ακτικές αρ ιτεκτονικές παρά η ν Βάσε ν Δεδομέν ν, όπ ς απεικονίζονται στην Εικόνα 17.5, είναι τρεις: 1. Κοινόχρηστης μνήμης (shared-memory). Στην αρ ιτεκτονική αυτή, οι διακριτές μονάδες επεξερ ασίας προσπε αύνουν και διαμοιράζονται την ίδια μνήμη, είτε αυτή είναι κύρια είτε δευτερεύουσα. Το αρακτηριστικό αυτής της αρ ιτεκτονικής είναι η πο ύ εύκο η επικοιν νία μεταξύ τ ν επεξερ- αστών. Το με ά ο μειονέκτημα είναι ότι το πρό ημα τ ν παρεμ ο ν

448 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Σχήμα 17.5: Οι αρχιτεκτονικές κοινόχρηστης μνήμης (πάνω-αριστερά), κοινόχρηστου δίσκου (πάνω-δεξιά) και χωρίς κοινόχρηστους πόρους (κάτω) είναι έντονο και κα ίσταται ιδιαίτερα οξύ ια μεσαίους και με ά ους α μούς παρα η ισμού. Γι αυτόν τον ό ο, εφαρμόζεται στην πράξη και είναι αποδοτική ια μικρούς α μούς παρα η ισμού. 2. Κοινόχρηστου δίσκου (shared-disk). Στην αρ ιτεκτονική αυτή, οι επεξερ- αστές έ ουν τη δικής τους τοπική κύρια μνήμη, α ά διαμοιράζονται τον απο ηκευτικό ώρο της δευτερεύουσας μνήμης ρησιμοποιώντας τε νο- ο ίες, όπ ς SAN και NAS, που εξη ή ηκαν στο Κεφά αιο 2. Οι προσπε άσεις στον διαμοιρασμένο πόρο είναι προφανώς ι ότερες, οπότε το πρό ημα τ ν παρεμ ο ών αμ ύνεται σε σύ κριση με την αρ ιτεκτονική κοινό ρηστης μνήμης, α ά δεν εξα είφεται. Αυτό οδη εί στη δυνατότητα αποδοτικής κ ιμάκ σης σε με α ύτερους α μούς παρα η ισμού. Όμ ς η επικοιν νία μεταξύ τ ν επεξερ αστών ίνεται πιο δύσκο η και τυπικά, περι αμ άνει αντα α ή μηνυμάτ ν. 3. Χωρίς κοινόχρηστους πόρους (shared-nothing). Η τρίτη μορφή αρ ιτεκτονικής ε ρεί ότι επεξερ αστές με τοπική μνήμη και σκ ηρό δίσκο, που κατά άση α μπορούσαν να ειτουρ ήσουν και αυτόνομα, διασυνδέονται μέσ συνη ισμένου δικτύου, ώστε να ειτουρ ούν ς ένα ενιαίο μη άνημα. Η αρ ιτεκτονική αυτή έ ει δύο με ά α π εονεκτήματα. Κατ' αρ ήν, δεν παρουσιάζει το πρό ημα τ ν παρεμ ο ών. Συνεπώς, μπορεί και κ ι-

17.3. Διαμερισμός των Δεδομένων 449 μακώνεται αποδοτικά, δη αδή καταφέρνει να επιτυ άνει σ εδόν ραμμική επιτά υνση και κ ιμάκ ση, ακόμη και όταν ρησιμοποιεί ι ιάδες επεξερ- αστές. Επιπ έον, δεν απαιτεί ειδικό υ ικό, α ά μπορεί να υ οποιη εί με διασύνδεση συνη ισμέν ν μη ανημάτ ν. Ένα αδύνατο σημείο της είναι ότι κά ε επικοιν νία μεταξύ τ ν επεξερ αστών ίνεται με μηνύματα που μεταφέρονται μέσ δικτύου, άρα η επικοιν νία ίνεται πιο ακρι ή. Επίσης, η εξισορρόπηση φόρτου είναι πιο δύσκο η στη ενική περίπτ ση, κα ώς περι αμ άνει μετακίνηση δεδομέν ν, που αρ ικά ρίσκονται στο δίσκο, μέσ δικτύου. Αντί ετα, στις προη ούμενες δύο αρ ιτεκτονικές, η διαδικασία εξισορρόπησης του φόρτου περι αμ άνει μόνο αντα α ή μηνυμάτ ν, ρίς ανα καστική φυσική μετακίνηση δεδομέν ν. Επειδή όμ ς τα π εονεκτήματα κρίνονται πιο σημαντικά από τα μειονεκτήματα, η αρ ιτεκτονική ρίς κοινό ρηστους πόρους αποτε εί τη ασική επι ο ή ια παρα η ισμό, όταν ο ό κος τ ν δεδομέν ν είναι πο ύ με ά ος. Οι παραπάν μορφές αρ ιτεκτονικής μπορούν να συνδυαστούν, ώστε να προκύψουν πιο σύν ετες μορφές, όπ ς η ιεραρ ική και η NUMA (non-uniform memory access). Π.., οι επιμέρους κόμ οι μίας αρ ιτεκτονικής ρίς κοινό- ρηστους πόρους μπορεί να είναι ένα μικρότερο παρά η ο σύστημα ασισμένο στην αρ ιτεκτονική κοινό ρηστης μνήμης. 17.3 Διαμερισμός τ ν Δεδομέν ν Ο διαμερισμός τ ν δεδομέν ν (data partitioning) αναφέρεται στον τρόπο με τον οποίο διαμοιράζονται τα δεδομένα ανάμεσα στους επεξερ αστές κατά την εκτέ εση ενός ερ τήματος και στον τρόπο με τον οποίο τοπο ετούνται φυσικά τα δεδομένα στους επιμέρους σκ ηρούς δίσκους στην αρ ιτεκτονική ρίς κοινό ρηστους πόρους. Μπορεί να επιτε εστεί στατικά ή δυναμικά. Στην τε ευταία περίπτ ση, ο αρ ικός διαμερισμός ανα ε ρείται ανά διαστήματα. Επίσης, όπ ς α εξη η εί επτομερώς στην επόμενη ενότητα, κατά τη διάρκεια της παρά η ης εκτέ εσης είναι πο ύ συ νό το φαινόμενο του δυναμικού επαναδιαμερισμού τ ν ενδιάμεσ ν αποτε εσμάτ ν. Οι ασικοί τρόποι διαμερισμού είναι δύο: Χωρίς αντίγραφα. Σε αυτήν την περίπτ ση, κά ε μία π ειάδα τ ν σ έσε ν, είτε είναι αρ ικές σ έσεις απο ηκευμένες στους σκ ηρούς δίσκους, είτε είναι μέρος ενδιάμεσ ν αποτε εσμάτ ν σε ένα π άνο ερ τήματος, αποστέ εται σε έναν από τους συμμετέ οντες επεξερ αστές.

450 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Με αντίγραφα. Σε αυτήν την περίπτ ση, κά ε μία π ειάδα τ ν σ έσε ν μπορεί να αποστα εί σε πο απ ές τοπο εσίες. Οι δύο παραπάν τρόποι δεν είναι αμοι αί ς αποκ ειόμενοι. Αντί ετα, μία τε νική με αντί ραφα μπορεί να ασίζεται αρ ικά σε μία τε νική ρίς αντί ραφα, την οποία και επεκτείνει. Στη συνέ εια, α εξη ήσουμε πρώτα π ς ίνεται ο διαμερισμός ρίς αντί ραφα και μετά π ς ίνεται όταν υπάρ ουν αντί ραφα. Θε ρούμε ότι μία σ έση διαιρείται σε n μέρη. Το n μπορεί να ισούται με το π ή ος τ ν κόμ ν σε μία αρ ιτεκτονική ρίς κοινό ρηστους πόρους (π ήρης διαμερισμός) ή να είναι μικρότερο από το π ή ος τ ν κόμ ν και αποτέ εσμα μίας συνάρτησης τ ν μεταδεδομέν ν, όπ ς του με έ ους της σ έσης ή της συ- νότητας προσπέ ασης. Σε κά ε περίπτ ση, η σ έση ε ρείται πο ύ με ά η ια να τοπο ετη εί σε ένα μόνο κόμ ο. Οι τρεις ασικοί τρόποι υ οποίησης του διαμερισμού είναι οι παρακάτ : Round-robin: οι π ειάδες ανατί ενται με τη σειρά σε ό ους τους κόμ ους. Μία τε νική που το επιτυ άνει αυτό, είναι ο κα ορισμός του κόμ ου ια την π ειάδα i μέσ της συνάρτησης i mod n. O διαμερισμός round-robin δεν κοιτάει το περιε όμενο τ ν π ειάδ ν. Το ασικό του π εονέκτημα είναι ότι επιτυ άνει την κα ύτερη δυνατή εξισορρόπηση φόρτου. Διαμερισμός με κατακερματισμό: αρ ικά επι έ ονται ένα ή περισσότερα πεδία μέσα στην π ειάδα, τα οποία συμ ο ίζονται με A. Κατόπιν, εφαρμόζεται μία συνάρτηση κατακερματισμού, η οποία παρά ει αποτε έσματα στο πεδίο τιμών [0, αn 1], όπου α ένας μικρός ετικός ακέραιος. Στην πιο απ ή περίπτ ση, α = 1 και η συνάρτηση κατακερματισμού έ ει τη μορφή (τιμή της πλειάδας i στο Α) mod n. Με α ύτερες τιμές του α επιτρέπουν κα ύτερη εξισορρόπηση του φόρτου. Διαμερισμός με διαστήματα τιμών: και σε αυτήν την περίπτ ση, επι έ ονται αρ ικά ένα ή περισσότερα πεδία και οι π ειάδες ταξινομούνται άσει τ ν τιμών τους στα συ κεκριμένα πεδία. Κατόπιν, επι έ ονται n 1 σημεία δια ρισμού στα ίδια πεδία, που ορίζουν n διαστήματα τιμών. Kά ε ένα διάστημα αντιστοι εί σε ένα διαφορετικό κόμ ο. Στα ερ τήματα που προσπε αύνουν υπο ρε τικά ο όκ ηρη τη σ έση, υπερτερεί ο διαμερισμός round-robin ό κα ύτερης εξισορρόπησης φόρτου. Όμ ς και οι ά οι δύο τρόποι υ οποίησης αποδίδουν πο ύ κα ά στην πράξη, υπό την προϋπό εση ότι υπάρ ουν τα ανα καία στατιστικά μεταδεδομένα ώστε τα δεδομένα να διαμεριστούν με όσο το δυνατόν πιο ισοκατανεμημένο τρόπο.

17.4. Παράλληλη Επεξεργασία Ερωτημάτων 451 Στα ερ τήματα που προσπε αύνουν π ειάδες μίας σ έσης που ικανοποιούν μία συ κεκριμένη συν ήκη υπερτερεί ο διαμερισμός με κατακερματισμό ή με διαστήματα τιμών, υπό την προϋπό εση ότι τα πεδία που ρησιμοποιή ηκαν στον διαμερισμό είναι τα ίδια με αυτά στη συν ήκη. Σε μία τέτοια περίπτ ση, ναι μεν δεν υπάρ ει ισοκατανομή φόρτου επεξερ ασίας, α ά το κόστος του ερ τήματος ίνεται συνο ικά μικρότερο, κα ώς ι ότεροι κόμ οι α ρειαστεί να συμμετάσ ουν στην επεξερ ασία, ενώ οι υπό οιποι είναι δια έσιμοι ια ά α ερ τήματα. Μέ ρι τώρα ε ρούσαμε ότι κά ε π ειάδα ανατί εται σε ένα κόμ ο. Ανεξάρτητα με το π ς ακρι ώς υ οποιή ηκε ένας τέτοιος διαμερισμός, τα δεδομένα που κατέ ηξαν σε ένα κόμ ο μπορούν να αντι ραφούν σε έναν ή περισσότερους ά ους κόμ ους ια ό ους αύξησης της δια εσιμότητας και επίτευξης υψη ής αξιοπιστίας. Ο πιο απ ός τρόπος δημιουρ ίας αντι ράφ ν είναι κά ε κομμάτι δεδομέν ν σε έναν κόμ ο, που έ ει προκύψει από κάποιο διαμερισμό ρίς αντί ραφα (πρωτεύον αντίγραφο), να αντι ράφεται σε ένα δεύτερο κόμ ο (δευτερεύον αντίγραφο). Έτσι, αν ένας κόμ ος αποτύ ει, αντικα ίσταται μέ ρι να επανέ ει από το δεύτερο κόμ ο, ο οποίος όμ ς α κ η εί να ανταποκρι εί σε διπ άσιο φόρτο. Μία επέκταση έ ει ς εξής. Το δευτερεύον αντί ραφο να διαμερίζεται σε n 1 κομμάτια, ώστε σε περίπτ ση αποτυ ίας ενός κόμ ου, η αύξηση φόρτου στους υπό οιπους να είναι ισοκατανεμημένη. 17.4 Παρά η η Επεξερ ασία Ερ τημάτ ν Η ενότητα αυτή εξετάζει έματα παρά η ης επεξερ ασίας με διαμερισμένο παρα η ισμό και ε τιστοποίησης. Χ ρίς απώ εια της ενικότητας, ε ρούμε ότι το παρά η ο σύστημα αποτε είται από n μη ανήματα συνδεδεμένα σύμφ να με την αρ ιτεκτονική ρίς κοινό ρηστους πόρους και ότι οι αρ ικές σ έσεις έ ουν διαμεριστεί σε ό ους τους κόμ ους ρίς αντί ραφα με τυ αίο τρόπο. Για την επεξερ ασία, ε ρούμε ότι έ ουμε στη διά εσή μας το σύνο ο τ ν σ εσιακών τε εστών που συζητή ηκε σε προη ούμενα κεφά αια συν ένα επιπ έον τε εστή που διαμερίζει δεδομένα σύμφ να με τις τε νικές της προη ούμενης ενότητας σε αυτό το κεφά αιο. Το ζητούμενο είναι κά ε κόμ ος να έ ει δεδομένα, τέτοια ώστε η τοπική επεξερ ασία τ ν οποί ν να μπορεί να δώσει και συνο ικά σ στό αποτέ εσμα. Το αποτέ εσμα ενός ερ τήματος, που έ ει και αυτό τη μορφή σ έσης, δεν είναι ανα καστικό να ρίσκεται σε ένα συ κεκριμένο κόμ ο, α ά μπορεί να ρίσκεται διαμερισμένο σε ό ους τους κόμ ους, όπ ς ενδε ομέν ς α έ ει προκύψει από την παρά η η επεξερ ασία.

452 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων 17.4.1 Παρά η η επεξερ ασία μοναδιαί ν τε εστών Σχήμα 17.6: Παράλληλη εκτέλεση επιλογής (αριστερά) και προβολής (δεξιά) Επι ο ή Έστ R η διαμερισμένη σ έση σε R 1, R 2,... R n κομμάτια, όπου ισ ύει R = R 1 R 2 R n. Έστ επίσης και μία απ ή πράξη επι ο ής σ C (R). Εφαρμόζοντας τοπικά τον τε εστή επι ο ής σε κά ε κόμ ο, όπ ς φαίνεται στο Σ ήμα 17.6(αριστερά), είναι αρκετό ια να δώσει το σ στό αποτέ εσμα, δεδομένου ότι ο υπο ο ισμός της επι ο ής ίνεται ξε ριστά σε κά ε π ειάδα. Στην ειδική περίπτ ση που ο διαμερισμός έ ινε άσει τ ν πεδί ν που εμφανίζονται στη συν ήκη C, τότε προφανώς απαιτούνται ι ότερα στι μιότυπα του τε εστή επι ο ής. Προ ο ή Ο επόμενος τε εστής που α εξεταστεί είναι ο π A (R), ο οποίος κρατάει σε κά ε π ειάδα μόνο τα αρακτηριστικά που ανήκουν στο σύνο ο A και επίσης, προ ράει σε απα οιφή τ ν διπ οτύπ ν. Η αποκοπή τ ν αρακτηριστικών ίνεται τοπικά ρίς πρό ημα. Όμ ς, η δια ραφή τ ν διπ οτύπ ν τοπικά είναι ορ ή μόνο όταν έ ει διασφα ιστεί ότι οι ίδιες π ειάδες α είναι στον ίδιο κόμ ο. Επειδή αυτή η συν ήκη δεν ισ ύει στον αρ ικό διαμερισμό, πρέπει να επι η εί. Για το ό ο αυτό επαναδιαμερίζονται τα δεδομένα με τη ρήση ενός ειδικού τε εστή επαναδιαμερισμού, που συμ ο ίζεται ς. Η πιο απ ή τε νική διαμερισμού που επι ά ει δύο όμοιες π ειάδες να ρίσκονται στον ίδιο κόμ ο είναι αυτή που ασίζεται σε κατακερματισμό ρησιμοποιώντας τα πεδία στο σύνο ο A ή κάποιο υποσύνο ό του. Η παρά η η εκτέ εση απεικονίζεται στο Σ ήμα 17.6(δεξιά). Να σημει εί ότι η εκτέ εση αυτή δεν είναι ε τιστοποιημένη. Π.., α μπορούσε ο

Βάσεις Δεδομένων 453 τε εστής προ ο ής να εκτε εστεί τόσο πριν όσο και μετά τον επαναδιαμερισμό, ια να μει εί ο ό κος τ ν δεδομέν ν που μεταφέρεται μεταξύ τ ν κόμ ν. Ομαδοποίηση και συνά ροιση Τέ ος, ένας συ νά ρησιμοποιούμενος μοναδιαίος τε εστής είναι αυτός της ομαδοποίησης και συνά ροισης, που συμ ο ίζεται με γ A,agg(B). Το σύνο ο A περι αμ άνει τα πεδία άσει τ ν οποί ν ίνεται η ομαδοποίηση, ενώ η συνα ροιστική συνάρτηση agg εφαρμόζεται στα πεδία B κά ε ομάδας. Αυστηρά, ένας τέτοιος τε εστής δεν αποτε εί μέρος της σ εσιακής ά ε ρας, α ά τ ν επεκτάσεών της. Σε κά ε περίπτ ση, η υ οποίησή του υπάρ ει σε κά ε σύ ρονο ΣΔΒΔ, ώστε να ανα αμ άνει το κομμάτι εκτέ εσης τ ν ερ τημάτ ν που περι αμ άνεται στο GROUP BY τμήμα μαζί με τη συνα ροιστική συνάρτηση που συνή ς συνοδεύει την ομαδοποίηση και αναφέρεται στο SELECT τμήμα ενός SQL ερ τήματος. Το σκεπτικό της παρά η ης εκτέ εσης έ ει ομοιότητες με αυτό της προ ο ής. Για να είναι ορ ή η τοπική εφαρμο ή του τε εστή ομαδοποίησης και συνά ροισης, α πρέπει να έ ει διασφα ιστεί ότι οι π ειάδες με κοινές τιμές στα πεδία A ρίσκονται στον ίδιο κόμ ο. Αυτή η απαίτηση ικανοποιείται με τη ρήση επαναδιαμερισμού. Όπ ς και πριν, ια ένα σημαντικό εύρος τε εστών συνά ροισης, η ε τιστοποιημένη έκδοση του παρά η ου π άνου περι αμ άνει τον τε εστή γ τόσο πριν όσο και μετά τον επαναδιαμερισμό. Π.., αν agg(b) = sum(b), ο τε εστής πριν τον επαναδιαμερισμό υπο ο ίζει μερικά α ροίσματα ια ό ες τις ομάδες, ια τις οποίες υπάρ ουν τοπικά αντίστοι ες π ειάδες ό του αρ ικού διαμερισμού. Κατά τον επαναδιαμερισμό, τα μερικά α ροίσματα που αναφέρονται στην ίδια ομάδα αποστέ ονται σε ένα μοναδικό κόμ ο. Μετά τον επαναδιαμερισμό, ο τε εστής ανα αμ άνει να υπο ο ίσει το συνο ικό ά ροισμα ια τις ομάδες οι οποίες του ανατί ενται. 17.4.2 Παρά η η επεξερ ασία δυαδικών τε εστών Οι δυαδικοί τε εστές έ ουν ς ορίσματα εισόδου δύο σ έσεις, οι οποίες είναι και οι δύο αρ ικά διαμερισμένες με τυ αίο τρόπο. Παρακάτ α εξεταστούν με τη σειρά οι τε εστές έν σης, τομής, διαφοράς και σύνδεσης. Έν ση, Τομή και Διαφορά Η έν ση R S μεταξύ τ ν σ έσε ν R και S παρά ει τις π ειάδες που ρίσκονται είτε στη μία σ έση είτε στην ά η δια ράφοντας τα διπ ότυπα. Οπότε, η ασική δυσκο ία είναι να δια ραφούν τα διπ ότυπα, κάτι που απαιτεί οι κοινές

454 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Σχήμα 17.7: Παράλληλη εκτέλεση ένωσης π ειάδες να είναι στην ίδια τοπο εσία. Όταν ο αρ ικός διαμερισμός είναι τέτοιος που αυτό δεν ισ ύει εκ τ ν προτέρ ν, τότε ίνεται επαναδιαμερισμός με κατακερματισμό ή με διαστήματα τιμών, ώστε οι κοινές π ειάδες να τοπο ετη ούν, έστ προσ ρινά, στον ίδιο κόμ ο, όπ ς φαίνεται στην Εικόνα 17.7. Προφανώς, αν ρησιμοποιη εί διαμερισμός με κατακερματισμό, η συνάρτηση κατακερματισμού είναι κοινή και ια τις δύο σ έσεις. Ένα επτό σημείο είναι ότι ο τε εστής έν σης μπορεί να ρησιμοποιη εί σε κά ε έναν από τους παρά η ους τε εστές, μοναδιαίους και δυαδικούς, όταν επι υμούμε να συ έξουμε τα τε ικά αποτε έσματα σε έναν κόμ ο. Αυτός ο τε εστής έν σης εκτε είται σε ένα κόμ ο, παίρνει είσοδο από έναν τε εστή επαναδιαμερισμού που του αποστέ ει τα μερικά αποτε έσματα από ό ους τους κόμ ους και είναι πιο απ ός στην εκτέ εση, κα ώς εξ ορισμού, τα κατανεμημένα αποτε έσματα δεν περιέ ουν διπ ότυπα. Η παρά η η εκτέ εση τ ν τε εστών τομής και διαφοράς ακο ου εί το ίδιο ακρι ώς σκεπτικό με την εκτέ εση της έν σης, όπου πριν την τοπική εφαρμο ή του τε εστή, οι κοινές π ειάδες τοπο ετούνται στον ίδιο κόμ ο. Σύνδεση Η παρα η οποίηση του τε εστή σύνδεσης έ ει προσο ή. Στη ενική περίπτ ση, ισ ύουν οι εξής εκφράσεις ισοδυναμίας: R S = (R 1 R 2 R n ) (S 1 S 2 S n ) = (R 1 S 1 ) (R 1 S 2 ) (R 1 S n ) (R 2 S 1 ) (R 2 S 2 ) (R n S n ) Η παραπάν έκφραση δη ώνει ότι η σύνδεση μεταξύ δύο σ έσε ν διαμερισμέν ν σε n κομμάτια αποτε είται από n 2 μικρότερες συνδέσεις, όπου κά ε κόμ ος

Βάσεις Δεδομένων 455 Σχήμα 17.8: Παράλληλη εκτέλεση σύνδεσης με αντιγραφή της μία σχέσης (αριστερά) και κατακερματισμό των δύο σχέσεων (δεξιά) ανα αμ άνει n από αυτές. Ο πιο απ ός τρόπος ια να επιτευ εί αυτό είναι να επι ε εί η μικρότερη σ έση και να αντι ραφεί εξ ο οκ ήρου σε ό ους τους κόμ ους. Στο Σ ήμα 17.8(αριστερά) ε ρούμε ότι η μικρότερη σ έση είναι η R. Τότε, ο τε εστής επαναδιαμερισμού που εφαρμόζεται σε κά ε αρ ικό τμήμα R i, 1 I n της R, αντι ράφει την R i σε ό ους τους κόμ ους. Αυτή είναι η με α ύτερη διαφορά με τις προη ούμενες περιπτώσεις διαμερισμού που αναφέρονταν μόνο σε μεταφορά π ειάδ ν και ό ι στην παρα ή n αντι ράφ ν και μεταφορά τους. Σύμφ να με τα παραπάν, η παρά η η σύνδεση εκφράζεται ς εξής: R S = R (S 1 S 2 S n ) Μία ειδική, α ά πο ύ συ νά ρησιμοποιούμενη μορφή σύνδεσης είναι η σύνδεση ισότητας, R R.A=S.A S. Αν ο διαμερισμός ίνει άσει περιε ομένου τιμών (είτε με κατακερματισμό, είτε με διαστήματα τιμών) στα πεδία A και τ ν δύο σ έσε ν, τότε εξ ορισμού ισ ύει ότι R i S j =, όταν i j. Αυτό σημαίνει ότι αν εφαρμοστεί επαναδιαμερισμός άσει π.., κατακερματισμού στα πεδία A, όπ ς φαίνεται στο Σ ήμα 17.8(δεξιά), τότε απαιτείται η τοπική εκτέ εση μόνο n μικρότερ ν συνδέσε ν. Παρακάτ παρα έτουμε ένα απ ό παράδει μα που δεί νει τη μεί ση στο ρόνο απόκρισης της παρά η ης εκτέ εσης μίας σύνδεσης ισότητας με την τε- νική του κατακερματισμού. Σύμφ να με το υ ικό του Κεφα αίου 12, αν δε συμ αίνει υπερ εί ιση σε κάποιο κάδο, το κόστος είναι ανά ο ο του α ροίσματος τ ν με ε ών τ ν δύο σ έσε ν σε σε ίδες δίσκου επί 3, δη αδή 3(B R + B S ). Το κόστος αυτό περι αμ άνει την ανά ν ση τ ν π ειάδ ν, τη δημιουρ ία και απο ήκευση τ ν κάδ ν στο δίσκο, και την ανά ν ση τ ν κάδ ν ια το τε ικό στάδιο του ε έ ου της συν ήκης σύνδεσης. Αν η σύνδεση ίνει με διαμερισμένο παρα η ισμό, τότε το κόστος ίνεται 3(B R + B S )/n. Έστ ότι στο ειρότερο σενάριο από π ευράς ρόνου εκτέ εσης, η ανά ν ση, αποστο ή τ ν δεδομέν ν

456 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Σχήμα 17.9: Εφαρμογή του τελεστή ανταλλαγής σε δύο κόμβους και εκτέ εση της παρά η ης σύνδεσης δε ρησιμοποιεί κα ό ου παρα η ισμό με διο έτευση και ίνεται ακο ου ιακά ς εξής: πρώτα δια άζονται τα δεδομένα και επαναδιαμερίζονται, μετά απο ηκεύονται στο σκ ηρό δίσκο της νέας τοπο- εσίας και σε μία τρίτη φάση εκτε είται η τοπική σύνδεση. Τότε, το κόστος σε προσπε άσεις στο σκ ηρό δίσκο σε κά ε κόμ ο ισούται με 5(B R + B S )/n. Συμπερασματικά, ο ρόνος απόκρισης μειώνεται όταν ισ ύει 5/n > 3, δη αδή όταν υπάρ ουν έστ και δύο κόμ οι. Πρακτικά, το όφε ος είναι ακόμη με α ύτερο. Λό του μικρότερου με έ ους τ ν σ έσε ν, που κά ε στι μιότυπο τε εστή σύνδεσης επεξερ άζεται, είναι πο ύ πι ανό να ράει η μικρότερη σ έση στην κύρια μνήμη, οπότε είναι εφικτό να ρησιμοποιη εί η σύνδεση με κατακερματισμό ενός περάσματος που έ ει κόστος (B R + B S ) αντί ια 3(B R + B S ). 17.4.3 Υ οποίηση τε εστή διαμερισμού δεδομέν ν Στην ενότητα αυτή εξετάζουμε το πώς υ οποιείται ο τε εστής διαμερισμού τ ν δεδομέν ν. Μία ενδεικτική υ οποίηση είναι αυτή του τε εστή ανταλλαγής (exchange), ο οποίος απεικονίζεται στην Εικόνα 17.9 ια 2 κόμ ους. Σε κά ε κόμ ο, που είτε στέ νει δεδομένα είτε αμ άνει, υπάρ ει στι μιότυπο του τε εστή αντα α ής. Στις περιπτώσεις που εξετάσαμε προη ουμέν ς, τυπικά και οι δύο διερ ασίες αμ άνουν ώρα σε κά ε κόμ ο. Για κά ε μία από τις δύο διερ ασίες, υπάρ ει κι ένα αντίστοι ο νήμα που ονομάζεται παραγωγός ανταλλαγής (exchange-producer) και καταναλωτής ανταλλαγής (exchangeconsumer), αντίστοι α. Για ό ους μεί σης του κόστους επικοιν νίας, ο παρα ός δεν αποστέ ει τις π ειάδες μία-μία α ά τις κατα ρεί σε ταμιευτές (buffers), οι οποίοι αποστέ ονται όταν εμίσουν. Η πο ιτική του διαμερισμού δίνεται ς όρισμα αρ ικοποίησης σε κά ε νήμα

17.5. Μαζικά Παράλληλη Επεξεργασία Δεδομένων 457 κατανα τή. Σύμφ να και με τα προη ούμενα, οι αρ ικοποιήσεις περι αμ άνουν τις τε νικές διαμερισμού round-robin, με κατακερματισμό και με διαστήματα τιμών και την πο ιτική αντι ραφής π ειάδ ν σε ό ους τους κόμ ους-κατανα τές. Συνο ικά, κά ε μη ανή εκτέ εσης ια παρά η ες άσεις δεδομέν ν περιέ ει το σύνο ο τ ν υ οποιημέν ν τε εστών που α περιεί ε ένα κεντρικοποιημένο ΣΔΒΔ συν ένα μοναδικό τε εστή ια τον επαναδιαμερισμό τ ν δεδομέν ν, όπ ς ο τε εστής αντα α ής. 17.4.4 Θέματα Βε τιστοποίησης Το έμα της επέκτασης τ ν ε τιστοποιητών σε κεντρικοποιημένα ΣΔΒΔ ια την υποστήριξη παρά η ης επεξερ ασίας εξετάζεται πο ύ συνοπτικά παρακάτ. Μία ασική διαφορά αφορά τη συνάρτηση ε τιστοποίησης και το στό ο της. Οι δύο ασικές επι ο ές είναι α) η ε α ιστοποίηση α ροιστικά του κόστους σε ό ο το παρά η ο σύστημα, που συνδέεται με την ε α ιστοποίηση της ρησιμοποίησης πόρ ν του συστήματος, και ) η ε α ιστοποίηση του ρόνου απόκρισης, που κα είται να ά ει υπόψη τη ρονική επικά υψη ό παρα η ισμού. Συ νά, οι δύο αυτές επι ο ές είναι αντικρουόμενες, ειδικά στην περίπτ ση που η επιτά υνση είναι μη ραμμική. Οι ε τιστοποιητές ια παρά η ες άσεις δεδομέν ν είναι πιο περίπ οκοι ιατί εξετάζουν περισσότερα π άνα εκτέ εσης. Π.., στα ερ τήματα με πο απ ές συνδέσεις, παύει η μόνη ενα ακτική να είναι τα ραμμικά π άνα, α ά εξετάζονται επίσης και αμνώδη π άνα. Επίσης, πρέπει να ηφ ούν υπόψη έματα, όπ ς ο κα ορισμός του α μού παρα η ισμού και ο κα ορισμός του ποιοι τε εστές α εκτε εστούν με διο έτευση σε ξε ριστούς επεξερ αστές. Για να μει εί ο ώρος τ ν πι ανών ύσε ν, που είναι ήδη εκ ετικός, πο ύ συ νά στην πράξη ρησιμοποιούνται ευριστικές τε νικές. Μία τέτοια μέ οδος, πρώτα ε τιστοποιεί το π άνο ερ τήματος σαν να εκτε ούνταν σε έναν κόμ ο και σε μία δεύτερη φάση, αμ άνονται ό ες οι αποφάσεις που συνδέονται με τον παρα η- ισμό. 17.5 Μαζικά Παρά η η Επεξερ ασία Δεδομέν ν Από τα μέσα της δεκαετίας του 2000, συμπ ηρ ματικά με τη ρήση τ ν παρά η ν άσε ν δεδομέν ν που εξετάστηκαν προη ουμέν ς, μία νέα τάση στη δια είριση δεδομέν ν αναδύ ηκε. Σύμφ να με την τάση αυτή, τα δεδομένα

458 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων επεξερ άζονται σε υποδομές εκτός τ ν ΣΔΒΔ με πάρα πο ούς κόμ ους, που τυπικά ακο ου ούν την αρ ιτεκτονική ρίς κοινό ρηστους πόρους. Το π έον αντιπροσ πευτικό υπο ο ιστικό μοντέ ο αυτής της τάσης είναι το MapReduce, το οποίο τα τε ευταία ρόνια έ ει επεκτα εί από π αίσια, όπ ς το Spark. 17.5.1 Το υπο ο ιστικό π αίσιο MapReduce Ο όρος MapReduce ρησιμοποιείται με διττό τρόπο. Κυριο εκτικά σημαίνει ένα προ ραμματιστικό μοντέ ο, το οποίο είναι κατά η ο ια επεξερ ασία πο ύ με ά ν ό κ ν δεδομέν ν σε κατανεμημένους πόρους. Βασίζεται σε ιδέες ν στές από δεκαετίες, που όμ ς μόνο πρόσφατα συνδυάστηκαν αποδοτικά. Αρ ικά αναπτύ ηκε από την Google, α ά οι περισσότεροι ρήστες το ρησιμοποιούν μέσ της υ οποίησης ανοι τού κώδικα, ν στή με το όνομα Hadoop. Κατα ρηστικά, με τον όρο MapReduce εννοείται το ό ο παρά η ο σύστημα υ οποίησης, με τον ίδιο τρόπο που πο ές φορές συ έεται η ρήση τ ν όρ ν ΣΔΒΔ και ΒΔ. Τα ασικά αρακτηριστικά του MapReduce και της υ οποίησής του στο Hadoop είναι τα εξής: Κα ιστά εύκο η την ανάπτυξη προ ραμμάτ ν ια την επεξερ ασία πο ύ με ά ν ό κ ν δεδομέν ν. Ο ασικός τρόπος με τον οποίο επιτυ άνεται αυτό, ασίζεται στην απόκρυψη από το ρήστη τ ν τε νικών επτομερειών αναφορικά με τον παρα η ισμό στο στάδιο συ ραφής ενός προ ράμματος. Κα ιστά αποδοτική την εκτέ εση τ ν παρά η ν προ ραμμάτ ν, ρησιμοποιώντας αρ ιτεκτονική ρίς κοινό ρηστους πόρους και τε νικές, όπ ς η επεξερ ασία τ ν δεδομέν ν κοντά στην τοπο εσία απο ήκευσής τους, ώστε να μειώνεται το κόστος μεταφοράς τ ν δεδομέν ν. Κα ιστά πρακτικά εφαρμόσιμη την εκτέ εση ιδιαίτερα απαιτητικών εφαρμο- ών σε ρόνο πάν σε συστάδες αποτε ούμενες από ι ιάδες υπο ο ιστές, ενσ ματώνοντας μη ανισμούς ανάκαμψης από σφά ματα. Τα δύο πρώτα σημεία έ ουν απασ ο ήσει και το σ εδιασμό τ ν παρά η ν ΣΔΒΔ. Το τε ευταίο σημείο είναι ιδιαίτερα σημαντικό στην πράξη. Για παράδει μα, αν μία συστάδα αποτε είται από 1000 υπο ο ιστές, οι οποίοι έ ουν μέσο όρο ειτουρ ίας μεταξύ α ών 3 ρόνια, τότε περίπου κά ε μέρα, αναμένεται 1 υπο ο ιστής να αίνει εκτός ειτουρ ίας. Τέτοιου είδους ά ες δεν πρέπει σε καμία περίπτ ση να ανα κάζουν το σύστημα να ξανατρέ ει από την αρ ή τις διερ- ασίες που εκτε ούνταν κατά τη διάρκεια της ά ης. Σε αντί ετη περίπτ ση,

Βάσεις Δεδομένων 459 εκτός τ ν ά ν, οι διερ ασίες που απαιτούν πάν από 24 ώρες κινδυνεύουν να μην μπορούν να ο οκ ηρ ούν ποτέ. Σημειώνουμε ότι οι εκτιμήσεις τ ν ειδικών είναι ότι εταιρείες όπ ς η Google ρησιμοποιούν πάν από 1 εκατομμύριο υπο- ο ιστές, οπότε το π ή ος τ ν κα ημερινών α ών υ ικού είναι στην τάξη τ ν ι ιάδ ν. Το Hadoop επιτρέπει να συνε ίζουν και να ο οκ ηρώνονται διερ ασίες επεξερ ασίας δεδομέν ν, παρά την εμφάνιση α ών κατά την εκτέ εσή τους. Ενδεικτικά Παραδεί ματα Σχήμα 17.10: Καταμέτρηση συχνότητας λέξεων με MapReduce Η ειτουρ ία του MapReduce και η εφαρμο ή του σε προ ήματα δια είρισης ιδιαίτερα με ά ου ό κου δεδομέν ν ίνεται πιο εύκο α αντι ηπτή με τη οή εια μικρών παραδει μάτ ν. Παρα έτουμε δύο ενδεικτικά. Το πρώτο και κ ασικό παράδει μα αφορά την καταμέτρηση έξε ν από μία συ ο ή ε ράφ ν και απεικονίζεται στην Εικόνα 17.10. Aρ ικά, τα δεδομένα είναι απο ηκευμένα σε κάποιας μορφής δευτερεύουσα μνήμη. Φορτώνονται σε κομμάτια και οι ραμμές τ ν ε ράφ ν επεξερ άζονται μία-μία. Από κά ε μία ραμμή εξά ονται οι έξεις, απορρίπτονται οι συ νές, όπ ς τα άρ ρα, και παρά- εται ια κά ε μία από τις υπό οιπες έξεις ένα ζεύ ος της μορφής (λέξη,1). Το "1" στην περίπτ ση αυτή σημαίνει ότι εντοπίστηκε εμφάνιση της έξης. Κατόπιν, τα ενδιάμεσα αποτε έσματα ταξινομούνται και απο ηκεύονται. Από π ευράς παρα η ισμού, το σημαντικό είναι ότι η φάση της φόρτ σης και επεξερ ασίας τ ν αρ ικών δεδομέν ν μπορεί να ίνει παρά η α σε πο απ ά μη ανήματα, με σκεπτικό ανά ο ο με αυτό του διαμερισμένου παρα η ισμού. Για παράδει μα, στην εικόνα του παραδεί ματος, κά ε ένα από τα δύο απεικονιζόμενα π αίσια σε κά ε ήμα μπορεί να εκτε εστεί σε ένα διαφορετικό μη άνημα. Αυτή ε ρείται ς η πρώτη φάση της επεξερ ασίας MapReduce. Στη δεύτερη φάση, τα ενδιάμεσα αποτε έσματα ομαδοποιούνται άσει έξης και επανακατανέμονται. Στο παράδει μα, ό ες οι έξεις που αρ ίζουν από το

460 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων 1ο, 3ο, 5ο, κ.ο.κ. ράμμα της α φα ήτου κατανέμονται στον πάν κόμ ο, ενώ οι υπό οιπες στον ά ο. Κά ε κόμ ος αμ άνει ένα σύνο ο από ομαδοποιημένα δεδομένα και κά ε ομάδα επεξερ άζεται ξε ριστά. Στη συ κεκριμένη εφαρμο ή, η επεξερ ασία περι αμ άνει τον υπο ο ισμό του α ροίσματος τ ν εμφανίσε ν. Στο τέ ος τα δεδομένα απο ηκεύονται. Ένα δεύτερο παράδει μα είναι αυτό της κατασκευής ευρετηρίου πάν στα ίδια έ ραφα. Σε αυτό το σενάριο, η έξοδος της πρώτης επεξερ ασίας, που αναφέρεται σε μεμον μένες ε ραφές, έ ει νόημα να είναι της μορφής (λέξη, κωδικός εγγράφου που περιέχει τη λέξη). Στη δεύτερη μορφή επεξερ ασίας, όπου η αρ- ική έξοδος είναι ομαδοποιημένη κατά έξεις, δε ρειάζεται τίποτε ά ο, εκτός ενδε ομέν ς από την ταξινόμηση τ ν διαφόρ ν κ δικών τ ν ε ράφ ν. Μοντέ ο Επεξερ ασίας Θα μπoρούσε να δώσει κανείς πο ές δεκάδες με παραδεί ματα που ανα ύουν τα δεδομένα ε ράφ ν ύνοντας προ ήματα του πρα ματικού κόσμου. Μία κοινή διαπίστ ση, η οποία οδή ησε στην ανάπτυξη του π αισίου MapReduce, είναι ότι σε ένα αφαιρετικό επίπεδο, ένα με ά ο σύνο ο εφαρμο ών περι ράφονται από τα εξής ήματα: 1. Ανάκτηση τ ν δεδομέν ν από τη δευτερεύουσα μνήμη και ανά ν ση τ ν ε ραφών μία-μία. 2. Επεξερ ασία τ ν ε ραφών μεμον μένα και παρα ή ενδιάμεσου αποτε- έσματος. 3. Ταξινόμηση, απο ήκευση, ομαδοποίηση και ανακατανομή τ ν ενδιάμεσ ν αποτε εσμάτ ν. 4. Συνα ροιστική επεξερ ασία τ ν ομαδοποιημέν ν ε ραφών ανά ομάδα. 5. Απο ήκευση του τε ικού αποτε έσματος. Επιπ έον, μία ακόμη πιο σημαντική διαπίστ ση είναι ότι τα ήματα 1, 3 και 5 είναι ουσιαστικά ανεξάρτητα της εφαρμο ής. Με ά α ό ια, αυτό που διαφοροποιεί κά ε εφαρμο ή είναι το 2ο και το 4ο ήμα. Έτσι, το υπο ο ιστικό π αίσιο MapReduce ε ρεί τις εφαρμο ές ς ακο ου ίες τ ν παραπάν 5 ημάτ ν και απαιτεί από το ρήστη τον ορισμό της ακρι ούς μορφής της επεξερ ασίας τ ν μεμον μέν ν και τ ν ομαδοποιημέν ν (και ήδη επεξερ ασμέν ν) ε ραφών. Οι δύο αυτές μορφές επεξερ ασίας αντιστοι ούν στις φάσεις Map και Reduce,

Βάσεις Δεδομένων 461 αντίστοι α. Τα υπό οιπα ήματα, όπ ς και ο έ ε ος του παρα η ισμού, ανα- αμ άνονται από το σύστημα υ οποίησης. Επίσης, το προ ραμματιστικό μοντέ ο του MapReduce κα ορίζει και τις διεπαφές τ ν συναρτήσε ν Map και Reduce, ς εξής: Είσοδος Map: ζεύ ος κ ειδιού-τιμής (k, v). Έξοδος Map: ίστα από διαφορετικά ζεύ η κ ειδιού-τιμής (k, v ). Είσοδος Reduce: ζεύ ος κ ειδιού- ίστας τιμών (k, λίστα από v ). Έξοδος Reduce: νέο ζεύ ος κ ειδιού-τιμής (k, v ). Κά ε κ ειδί και κά ε τιμή μπορεί να είναι ένας σύν ετος τύπος δεδομέν ν. Επίσης, η έννοια του κλειδιού στο MapReduce δεν ακο ου εί τον αυστηρό ορισμό, όπ ς στις ΒΔ. Δη αδή, μπορούν πο ά ζεύ η κ ειδιού-τιμής να μοιράζονται το ίδιο κ ειδί. Δύο τε ευταίες επισημάνσεις είναι ότι συ νά α) τα κ ειδιά εισόδου και εξόδου της Reduce, k και k αντίστοι α, είναι τα ίδια, όπ ς συμ αίνει και στο παράδει μα της Εικόνας 17.10, και ) το κ ειδί εισόδου της Map, που στο παράδει μα της εικόνας δεν φαίνεται α ά είναι ο κ δικός του ε ράφου, μπορεί να μην έ ει καμία σημασία στην ό η εκτέ εση. Θέματα Υ οποίησης Οι εφαρμο ές MapReduce τυπικά εκτε ούνται σε ένα παρά η ο περι ά ον, που αποτε είται από ένα με ά ο αρι μό μη ανημάτ ν με άση την αρ ιτεκτονική ρίς κοινό ρηστους πόρους. Η ρήση του απο ηκευτικού ώρου είναι πο ύ σημαντική ια την ανά ν ση τ ν αρ ικών και τ ν ενδιάμεσ ν δεδομέν ν, και την απο ήκευση τ ν ενδιάμεσ ν και τε ικών αποτε εσμάτ ν. Για το ό ο αυτό, ίνεται ρήση τε νο ο ιών που αναφέρονται ς Κατανεμημένα Συστήματα Αρχείων - ΚΣΑ (Distributed File Systems - DFS). Αυτά τα συστήματα αρ εί ν επιτρέπουν σε κά ε κόμ ο να έ ει πρόσ αση σε οποιοδήποτε αρ είο ανεξάρτητα της φυσικής τοπο εσίας του τε ευταίου. Προφανώς, η ανά ν ση τοπικών αρ εί ν είναι πιο ρή ορη, κα ώς δεν περι αμ άνει μεταφορά δεδομέν ν μέσ δικτύου. Επίσης, το σύστημα αρ εί ν ανα αμ άνει τον έ ε ο αντι ράφ ν, ώστε σε περίπτ ση αστο ίας κάποιου σκ ηρού δίσκου να μη άνονται δεδομένα. Ο κ ασικός τρόπος εκτέ εσης έ ει ς εξής. Ο ρήστης υπο ά ει ένα πρό- ραμμα που κα ορίζει τις συναρτήσεις Map και Reduce, ενώ το π ή ος τ ν μη ανημάτ ν που α ανα ά ουν την εκτέ εσή τους κα ορίζεται με τη οή εια

462 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων παραμέτρ ν. Ένας κόμ ος παίζει το ρό ο του συντονιστή. Ο κώδικας τ ν συναρτήσε ν του ρήστη αντι ράφεται σε ό α τα μη ανήματα που αμ άνουν μέρος στην επεξερ ασία. Κατόπιν αρ ίζει η κυρί ς εκτέ εση, όπου κά ε κόμ ος που εκτε εί τη Map (Mapper), δια άζει ένα κομμάτι εισόδου από το ΚΣΑ. Το σύστημα προσπα εί να διασφα ίσει ότι η ανά ν ση ίνεται από αντί ραφα που υπάρ ουν στον τοπικό ή έστ σε ένα κοντινό φυσικό σκ ηρό δίσκο, όπου αυτό είναι εφικτό. Ό οι οι Mapper κόμ οι ειτουρ ούν παρά η α, όπ ς ίνεται στο διαμερισμένο παρα η ισμό τε εστών σε παρά η α ΣΔΒΔ. Τα αποτε έσματα τ ν Mapper κόμ ν, ομαδοποιούνται άσει τ ν κ ειδιών τους. Κά ε κ ειδί εξόδου αντιστοι εί σε ένα μοναδικό Reducer κόμ ο. Οι Mapper κόμ οι ράφουν τοπικά τα αποτε έσματά τους, ρισμένα σε κομμάτια, ένα ια κά ε Reducer κόμ ο. Η φάση Reduce αρ ίζει, αφού έ ει ο οκ ηρ εί η Map, δη αδή δεν υπάρ ει παρα η ισμός διο έτευσης μεταξύ αυτών τ ν δύο φάσε ν. Οι κόμ οι Reducer δια άζουν την είσοδό τους από τους Mapper, οπότε, στη ενική περίπτ ση, η ανά ν ση στη φάση Reduce είναι απομακρυσμένη. Ό οι οι Reducer εκτε ούνται και αυτοί παρά η α. Τέ ος, οι Reducer κόμ οι ράφουν τα αποτε έσματα στους τοπικούς τους δίσκους. Ανάμεσα από τις φάσεις Mαp και Reduce, το σύστημα εκτε εί αυτόματα την ταξινόμηση, απο ήκευση, ομαδοποίηση και επαναδιαμερισμό τ ν ενδιάμεσ ν αποτε εσμάτ ν. Αυτές οι ειτουρ ίες είναι δυνατόν να αρ ίσουν να εκτε ούνται πριν την ο οκ ήρ ση της Map, δη αδή υπάρ ει παρα η ισμός διο έτευσης μεταξύ τ ν παραπάν ειτουρ ιών και της Map. Τέ ος, είναι δυνατό στους Mapper κόμ ους να εκτε εστεί μία συνάρτηση πάν στα τοπικά ομαδοποιημένα αποτε έσματα, που μπορεί να εκ ηφ εί ς μία τοπική Reduce συνάρτηση. Αυτές οι συναρτήσεις ονομάζονται συνδυασμού (combine) και οδη ούν σε μεί ση του ό κου τ ν δεδομέν ν που ράφονται στον απο ηκευτικό ώρο και αποστέ ονται μέσ δικτύου στους Reducers. Με ά α ό ια, η ειτουρ ία τους είναι ανά ο η με αυτήν της εφαρμο ής τε εστή συνά ροισης και πριν (εκτός από μετά) τον τε εστή επαναδιαμερισμού τ ν δεδομέν ν, που συζητή ηκε σε προη ούμενη ενότητα. 17.5.2 Υ οποίηση σ εσιακών τε εστών σε MapReduce Στη συνέ εια, εξετάζουμε τον τρόπο που επιτε ούνται στο MapReduce πράξεις αντίστοι ες τ ν σ εσιακών τε εστών. Θε ρούμε ότι τα αρ ικά δεδομένα ρίσκονται σε αρ εία, όπου κά ε π ειάδα αντιστοι εί σε ξε ριστή ραμμή του αρ είου, με τα πεδία της ρισμένα με ένα σύμ ο ο, όπ ς το κόμμα. Αυτό επιτρέπει τη Map να επεξερ άζεται μία-μία τις π ειάδες. Η περί ηψη της εκτέ εσης ρίσκεται στον Πίνακα 17.1, όπου τα τε ικά αποτε έσματα τ ν πράξε ν αποτε-

Βάσεις Δεδομένων 463 Τε εστής Map - Είσοδος Map - Έξοδος Reduce - Είσοδος Reduce - Έξοδος σ C (R) π ειάδα t (t,1) αν ικανοποιείται η συν ήκη π A (R) π ειάδα t (t,1), όπου t το κομμάτι της π ειάδας με τα αρακτηριστικά A R S π ειάδα t είτε από την R είτε από την S R S π ειάδα t είτε από την R είτε από την S R S π ειάδα t είτε από την R είτε από την S R(X, Y ) S(Y, Z) π ειάδα t είτε από την R είτε από την S (t, {1}) (t,1), όπ ς και η είσοδος (t, {1, 1,..., 1}) (t,1), επιτε είται απα οιφή διπ οτύπ ν (t,1), ενώ επιτε είται απα οιφή διπ οτύπ ν (t, 1) (t, {1}) ή (t, {1, 1}) ανα ό ς αν μία π ειάδα προέρ εται από τη μία ή και από τις δύο σ έσεις, αντίστοι α (t, 1) (t, {1}) ή (t, {1, 1}) ανα ό ς αν μία π ειάδα προέρ εται από τη μία ή και από τις δύο σ έσεις, αντίστοι α (t, R) ή (t, S) (t, {R}) ή (t, {S}) ή (t, {R, S}) ή (t, {S, R}) (Y,(R,X)) ή (Y, λίστα από ζεύγη διακριτικού (Y,(S,Z)) σχέσης και πε- δίων X ή Ζ) (t,1) μόνο στη 2η περίπτ ση εισόδου (t,1) μόνο στη 1η περίπτ ση εισόδου ((Χ,Υ,Ζ),1) ια κά ε συνδυασμό X και Z Πίνακας 17.1: Συνοπτική περιγραφή εκτέλεσης σχεσιακών τελεστών στο πλαίσιο MapReduce, όπου τα αποτελέσματα είναι στο κλειδί εξόδου της Reduce. ούν τα κ ειδιά εξόδου της Reduce. Ο τρόπος εκτέ εσης που παρουσιάζεται δεν είναι ο μοναδικός, όμ ς είναι ενδεικτικός. Επι ο ή H σ εσιακή επι ο ή, ς μία πράξη που εκτε είται σε κά ε π ειάδα ανεξάρτητα, ουσιαστικά απαιτεί μόνο τη συνάρτηση Map. Η συνάρτηση Map υ οποιεί τον έ ε ο της συν ήκης, η οποία όταν ικανοποιείται, παρά ει ς έξοδο την π ειάδα στη έση του κ ειδιού. Ως τιμή, δεν απαιτείται τίποτα ιδιαίτερο και στον πίνακα ρησιμοποιούμε την τιμή "1". Η Reduce απ ώς μεταφέρει το κ ειδί εισόδου στη δική της έξοδο. Προ ο ή Η προ ο ή επίσης ουσιαστικά απαιτεί την υ οποίηση της Map μόνο, η οποία αποκόπτει τα α ρείαστα πεδία από κά ε π ειάδα εισόδου. Θέτοντας το υπό οιπο της π ειάδας ς κ ειδί, το π αίσιο MapReduce ε υάται ότι μόνο ένα αντί ραφο κά ε π ειάδας α παρα εί ς αποτέ εσμα. Έτσι, η απα οιφή διπ οτύπ ν ίνεται

464 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων πιο εύκο α απ' ότι στις παρά η ες άσεις δεδομέν ν. Έν ση, Τομή και Διαφορά Στους δυαδικούς τε εστές έν σης, τομής και διαφοράς, ε ρούμε ότι η είσοδος της Map σε κά ε ραμμή, εκτός από τα αρακτηριστικά κά ε π ειάδας, περιέ ει και ένα διακριτικό της σ έσης από την οποία προέρ εται η π ειάδα. Το διακριτικό αυτό δεν παίζει κάποιο ρό ο στην έν ση και στην τομή. Για τις δύο αυτές πράξεις, η Map περνάει την κά ε π ειάδα ς κ ειδί εξόδου. Για την έν ση, η Reduce δε ρειάζεται να κάνει κάποια επεξερ ασία. Για την τομή, η Reduce ανα αμ άνει να ε έ ξει αν κάποια π ειάδα προέρ εται και από τις δύο σ έσεις, οπότε και η ίστα τιμών α είναι με έ ους δύο και μόνο σε αυτήν την περίπτ ση περνάει το κ ειδί εισόδου της ς έξοδο. Στην περίπτ ση της διαφοράς δύο σ έσε ν R S, το διακριτικό της σ έσης περνάει στην έξοδο της Map ς τιμή στο ζεύ ος κ ειδιού-τιμής. Η Reduce, περνάει το κ ειδί εισόδου της ς έξοδο, μόνο όταν συνοδεύεται από ίστα τιμών με έ ους ένα και περιε ομένου R. Σύνδεση Ισότητας Σχήμα 17.11: Παράδειγμα υπολογισμού σύνδεσης ισότητας R(X, Y ) S(Y, Z) στο MapReduce Οι συνδέσεις ισότητας R S στo MapReduce πρέπει να διασφα ίσουν ότι π ειάδες με την ίδια τιμή στο πεδίο σύνδεσης κατα ή ουν στον ίδιο κόμ ο. Οπότε, η συνάρτηση Map έτει ς κ ειδί εξόδου το πεδίο σύνδεσης, ώστε στη φάση Reduce, οι π ειάδες που πρόκειται να συνδε ούν, να περιέ ονται στην είσοδο μίας Reduce συνάρτησης. Η τιμή εξόδου της Map είναι σύν ετη και αποτε- είται από τα υπό οιπα πεδία της π ειάδας και το διακριτικό της σ έσης. H πράξη της σύνδεσης ο οκ ηρώνεται μέσ της Reduce, η οποία αμ άνει ς είσοδο, ια κά ε τιμή του πεδίου σύνδεσης, μία ίστα που περιέ ει υπό οιπα τ ν π ειάδ ν

Βάσεις Δεδομένων 465 της R και της S. O συνδυασμός αυτών τ ν υπο οίπ ν δίνει το αποτέ εσμα της σύνδεσης. Ερ τήματα Ομαδοποίησης Έστ μία σ έση Employees(id, dno, salary) πάν στην οποία έ ουμε να υπο ά ουμε το παρακάτ ερώτημα: SELECT dno, SUM(salary) FROM employees WHERE salary>1000 GROUP BY dno; Στο παραπάν ερώτημα, η Map έ ει διπ ό ρό ο. Πρώτον, να ε έ ξει τη συν ήκη στο πεδίο WHERE. Δεύτερον, να οδη ήσει την ομαδοποίηση κατά dno, που επιτυ άνεται έτοντας το συ κεκριμένο πεδίο ς κ ειδί της εξόδου. Ως τιμή της εξόδου, τί εται το πεδίο salary. Ως αποτέ εσμα, η Reduce κα είται τόσες φορές όσες οι διακριτές τιμές του dno και η κά ε τιμή dno συνοδεύεται από μία ίστα τιμών salary, της οποίας το ά ροισμα πρέπει να υπο ο ιστεί μέσα στη Reduce. Με τον τρόπο αυτό υπο ο ίζεται το αποτέ εσμα του ερ τήματος. 17.5.3 Σύ κριση με Παρά η ες Βάσεις Δεδομέν ν Το με ά ο π εονέκτημα της ρήσης π αισί ν, όπ ς το MapReduce, είναι ότι οι τε νικές επτομέρειες παρα η οποίησης είναι κρυμμένες από το ρήστη, ενώ η αποδοτική κ ιμάκ ση μπορεί να φτάσει σε πο ύ με ά ους α μούς παρα - η ισμού. Αυτά τα π εονεκτήματα είναι κοινά με προη μένα παρά η α ΣΔΒΔ. Κάποια αρακτηριστικά του π αισίου MapReduce, που είναι ι ότερο συνη ισμένα σε ΣΔΒΔ, είναι η ύπαρξη εσ τερικών αποτε εσματικών μη ανισμών ανάκαμψης από σφά ματα και το ε ονός ότι το μοντέ ο MapReduce μπορεί να κα ύψει π ή ος εφαρμο ών, που δύσκο α μπορούν να εκφραστούν ς δη τικά ερ τήματα. Ως μειονεκτήματα του π αισίου MapReduce αναφέρονται το ε ονός ότι δεν εκφράζονται αποδοτικά ό ες οι εφαρμο ές δια είρισης δεδομέν ν ς α η ου ία δύο ειδών συναρτήσε ν, Map και Reduce, και το ότι απαιτείται η συ ραφή κώδικα ακόμη και ια τους πιο συνη ισμένους τε εστές, όπ ς αυτών της επι ο ής και προ ο ής. Επιπ έον, ο κώδικας μέσα στις συναρτήσεις Map και Reduce δεν είναι επιδεκτός ε τιστοποιήσε ν, αντίστοι ν με αυτές στα ΣΔΒΔ.

466 Κεφάλαιο 17. Παράλληλη Διαχείριση Δεδομένων Είναι σημαντικό να κατανοη εί το ότι το π αίσιο MapReduce και τα ΣΔΒΔ έ ουν διαφορετικό πεδίο εφαρμο ών. Τα ΣΔΒΔ είναι πο ύ πιο κατά η α όταν τα δεδομένα ακο ου ούν ένα αυστηρά κα ορισμένο σ ήμα και τα ερ τήματα υπο- ά ονται πο ές φορές, οπότε το όποιο κόστος δημιουρ ίας κατα ό ν και υπο ο ισμού στατιστικών μεταδεδομέν ν απαραίτητ ν στη ε τιστοποίηση α οδη ήσει τε ικά σε ρονικό κέρδος. Αντί ετα, οι εφαρμο ές MapReduce είναι κατά η ες όταν τα δεδομένα δεν ακο ου ούν κάποιο κα ορισμένο σ ήμα, η επεξερ ασία δε ασίζεται σε σ εσιακούς τε εστές και πρόκειται να επανα ηφ εί μία ή πο ύ ί ες φορές. Κ είνοντας την ενότητα αυτή, να αναφερ εί ότι διάδο α συστήματα του Map- Reduce, όπ ς το Spark, προσπα ούν να συνδυάσουν τα π εονεκτήματα τ ν δύο συστημάτ ν. Π.., το Spark επιτρέπει την εκμετά ευση νώσης του σ ήματος τ ν δεδομέν ν, όταν αυτό υπάρ ει ή μπορεί έμμεσα να εξα εί από τα ίδια τα δεδομένα, και την υπο ο ή ερ τημάτ ν με δη τικό τρόπο, πο ύ κοντά στο πρότυπο της SQL. Επίσης, ε τιστοποιεί αυτόματα τα προ ράμματα δια είρισης δεδομέν ν εισα ά οντας αντιστοι ίες μεταξύ τ ν τε νικών ε τιστοποίησης στα ΣΔΒΔ και εφαρμο ών Spark. 17.6 Κατανεμημένες Βάσεις Δεδομέν ν Μία κατανεμημένη ΒΔ (ΚΒΔ) είναι μία συ ο ή από πο απ ές, ο ικά συσ ετιζόμενες ΒΔ που είναι συνδεδεμένες σε ένα δίκτυο. Ένα κατανεμημένο ΣΔΒΔ (ΚΣΔΒΔ) είναι το ο ισμικό που δια ειρίζεται την ΚΒΔ και παρέ ει ένα μη ανισμό πρόσ ασης, ο οποίος κα ιστά την κατανομή διαφανή στους ρήστες. Οι ΚΒΔ παρουσιάζουν περισσότερες ομοιότητες παρά διαφορές με τις παρά η ες. Χ ρίς να υπάρ ει σαφής και κοινά αποδεκτός ορισμός, ο κανόνας είναι ότι στις κατανεμημένες ΒΔ εμφανίζεται ετερο ένεια, σημαντική ε ραφική απόσταση μεταξύ τ ν κόμ ν και ότι κατά άση, οι επιμέρους κόμ οι ειτουρ- ούν και ανεξάρτητα. Αντί ετα, στις παρά η ες ΒΔ, οι κόμ οι ε ρούνται κατά κανόνα ομοιο ενείς και ότι ρίσκονται στην ίδια ε ραφική τοπο εσία. Η έννοια της διαφάνειας έ ει διάφορες διαστάσεις: α) οι ειτουρ ικές επτομέρειες του δικτύου να μην είναι ορατές στο ρήστη, ) η υπο ο ή τ ν ερ ασιών να ίνεται με κοινό τρόπο ανεξάρτητα από την τοπο εσία υπο ο ής τους, ) η ονομασία τ ν ΒΔ και τ ν πινάκ ν είναι κοινή, ανεξάρτητα από την κατανομή τους, και δ) η ύπαρξη αντι ράφ ν και κατάτμησης τ ν πινάκ ν, δη αδή ένας πίνακας να είναι φυσικά απο ηκευμένος κατά τμήματα σε διάφορες τοπο εσίες, να μην είναι ορατή στους ρήστες.