Κλιμακώσιμοι και βασισμένοι στο φόρτο εργασίας αλγόριθμοι διαχείρισης μη δομημένων δεδομένων. Νικόλαος Παπαηλίου Advisors: Δημήτριος Τσουμάκος Νεκτάριος Κοζύρης Computing Systems Laboratory, National Technical University of Athens
Αποδοτική διαχείριση μεγάλου όγκου δεδομένων 2
Μη δομημένα δεδομένα 3
Παραδοσιακή Διαχείριση Δεδομένων χρόνος 4
Παραδοσιακή Διαχείριση Δεδομένων συλλογή χρόνος 5
Παραδοσιακή Διαχείριση Δεδομένων συλλογή δεικτοδότηση χρόνος 6
Παραδοσιακή Διαχείριση Δεδομένων συλλογή δεικτοδότηση επερώτηση χρόνος 7
Σύγχρονες Προκλήσεις Διαχείρισης? Δεδομένων χρόνος 8
Σύγχρονες Προκλήσεις Διαχείρισης? Δεδομένων Τα δεδομένα δεν ταιριάζουν με το σχήμα συλλογή χρόνος 9
Σύγχρονες Προκλήσεις Διαχείρισης? Δεδομένων Τα δεδομένα δεν ταιριάζουν με το σχήμα Ένα μέγεθος κατάλληλο για όλους? συλλογή δεικτοδότηση χρόνος 10
Σύγχρονες Προκλήσεις Διαχείρισης? Δεδομένων Τα δεδομένα δεν ταιριάζουν με το σχήμα Ένα μέγεθος κατάλληλο για όλους? συλλογή δεικτοδότηση επερώτηση χρόνος 11
RDF δεδομένα Δεν απαιτούν πληροφορία σχήματος RDF δεδομένα Βασισμένα σε γράφους Εύκολη σύνδεση διαφορετικών πηγών δεδομένων Προσαρμογή σε καινούργιους τύπους δεδομένων SPARQL συλλογή Γλώσσα επερώτησης βασισμένη στο ταίριασμα γράφων δεικτοδότηση χρόνος 12 επερώτηση
RDF δεδομένα RDF data SPARQL query συλλογή δεικτοδότηση επερώτηση χρόνος
RDF προκλήσεις
RDF προκλήσεις
RDF προκλήσεις Αποτελεσματική διαχείριση μεγάλου όγκου δεδομένων
RDF προκλήσεις Περιορισμένη γνώση της δομής των δεδομένων
RDF προκλήσεις Περιορισμένη γνώση της δομής των δεδομένων Relational RDF
RDF προκλήσεις Περιορισμένη γνώση της δομής των δεδομένων Relational RDF
RDF προκλήσεις Περιορισμένη γνώση της δομής των δεδομένων Relational RDF
RDF προκλήσεις Περιορισμένη γνώση της δομής των δεδομένων Σχεσιακές RDF 1-5 συνενώσεις 5-35 συνενώσεις
Συνεισφορές Διατριβής Διαχείριση μεγάλου όγκου RDF δεδομένων Κατανεμημένη βάση RDF δεδομένων H2RDF+ Δεικτοδότηση με χρήση HBase MapReduce ή κεντρική επεξεργασία ερωτημάτων WWW 2012, BigData 2013, SIGMOD 2014 Περιορισμένη γνώση σχήματος Κρυφή μνήμη SPARQL ερωτημάτων Επαναχρησιμοποίηση αποτελεσμάτων Δεικτοδότηση βασισμένη στο φότρο ερωτημάτων Απλοποίηση γράφων SIGMOD 2015 22
H2RDF+ Κίνητρο: Κεντρική vs Κατανεμημένη επεξεργασία Κεντρική επεξεργασία Εκτέλεση επιλεκτικών ερωτημάτων σε μικρό χρόνο (ms) Εξάρτηση από την κύρια μνήμη Προβλήματα κλιμάκωσης Κατανεμημένη επεξεργασία Διαχείριση μεγάλου όγκου δεδομένων Κακή απόδοση σε εύκολα ερωτήματα 23
H2RDF+ Clients SPARQL queries H 2 RDF Jena Parser Query Graph MapReduce & NoSQL Cluster RDF data Join Planner MapReduce Bulk Import Query output Create and execute Join Executor MapReduce Or Centralized execution NoSQL Index 24
H2RDF+ Δεικτοδότηση RDF δεδομένων Κατανεμημένοι ΝoSQL δείκτες Όλες οι αναδιατάξεις των RDF τριάδων 6 indexes + statistics αποθηκευμένα σε HBase συλλογή δεικτοδότηση επερώτηση χρόνος
H2RDF+ Εκτέλεση συνενώσεων Multi-way merge joins Multi-way sort-merge joins MapReduce ή κεντρική επεξεργασία ερωτημάτων Ομαδοποίηση ενδιάμεσων αποτελεσμάτων Row oriented vs ομαδοποιημένα αποτελέσματα συλλογή δεικτοδότηση επερώτηση χρόνος 26
H2RDF+ Εκτέλεση βασισμένη στο κόστος Merge join cost: MJ cost(q) = i Q Re adkeys(q,i) / thr Re adkeys(q,i) = min{(min n ) o SeekOverhead,n o } j i i i j Q Sort-merge join cost: SMJ cost(q, I) = (2 n i o i + ReadKeys(Q I,i) ) / thr i I i Q συλλογή δεικτοδότηση επερώτηση χρόνος 27
H2RDF+ πειράματα Σύγκριση με κατανεμημένα συστήματα (H2RDF, HadoopRDF) Μη επιλεκτικά ερωτήματα 7x H2RDF, 10x HadoopRDF Επιλεκτικά ερωτήματα Έως 1000x σε σύγκριση με το HadoopRDF Σύγκριση με το κεντρικό RDF-3X Μη επιλεκτικά ερωτήματα 10x speedup, το RDF-3X απέτυχε να εκτελέσει κάποια ερωτήματα Επιλεκτικά ερωτήματα Γρήγορη απόκριση (ms) Το RDF-3X αν και κεντρικό είναι μερικά ms γρηγορότερο 28
Προσαρμοστική δεικτοδότηση RDF δεδομένων Δεν απαιτούν πληροφορία σχήματος Πλεονεκτήματα Εύκολος συνδυασμός πολλών πηγών δεδομένων Εύκολη προσθήκη τύπων δεδομένων Μειονεκτήματα συλλογή Περιορισμένη γνώση για τη δομή των δεδομένων Δεν μπορούμε να εφαρμόσουμε τις κλασικές βελτιστοποιήσεις δομημένων δεδομένων δεικτοδότηση χρόνος 29 επερώτηση
Προσαρμοστική δεικτοδότηση RDF δεδομένων Κατάλληλα ευρετήρια = τάξεις μεγέθους βελτίωση απόδοσης? συλλογή δεικτοδότηση επερώτηση χρόνος 30
Προσαρμοστική δεικτοδότηση RDF δεδομένων Κατάλληλα ευρετήρια = τάξεις μεγέθους βελτίωση απόδοσης Εξαρτάται από το σχήμα και τον φόρτο ερωτημάτων συλλογή δεικτοδότηση επερώτηση χρόνος 31
Προσαρμοστική δεικτοδότηση RDF δεδομένων Κατάλληλα ευρετήρια = τάξεις μεγέθους? βελτίωση απόδοσης Εξαρτάται από το σχήμα και τον φόρτο ερωτημάτων Ομαδοποίηση και αποθήκευση δεδομένων?? Είδος ευρετηρίων?? Σε ποια πεδία?? View materialization? συλλογή δεικτοδότηση επερώτηση χρόνος 32
Προσαρμοστική δεικτοδότηση RDF δεδομένων Κατάλληλα ευρετήρια = τάξεις μεγέθους βελτίωση απόδοσης Εξαρτάται από το σχήμα και τον φόρτο ερωτημάτων Δημιουργία βασικών ευρετηρίων = ελαχιστοποίηση χρόνου εισαγωγής? Δημιουργία ευρετηρίων με βάση τα ερωτήματα? συλλογή δεικτοδότηση επερώτηση χρόνος 33
Προσαρμοστική δεικτοδότηση RDF δεδομένων Κρυφή μνήμη για SPARQL αποτελέσματα Επαναχρησιμοποίηση αποτελεσμάτων Παρακολούθηση ερωτημάτων Δεικτοδότηση αποτελεσμάτων με βάση τα φίλτρα Εκτέλεση και αποθήκευση συχνά εμφανιζόμενων προτύπων ερωτημάτων Execution Time Χωρίς ευρετήρια Βέλτιστα ευρετήρια Προσαρμοστικά ευρετήρια συλλογή δεικτοδότηση επερώτηση χρόνος 34
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 35
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 36
SPARQL ερωτήματα? Γλώσσα επερώτησης RDF δεδομένων Βασισμένη σε μοντέλο γράφων Παράδειγμα SELECT * WHERE{?prof ub:worksfor NTUA.?prof rdf:type foaf:fullprofessor.?prof foaf:name?name.?prof foaf:mbox?email.?prof foaf:telephone?tel } 37
Κανονικοποιημένες Ετικέτες? Δεικτοδότηση SPARQL γράφων Ισομορφισμοί γράφων Αλλαγή ονομάτων μεταβλητών Αναδιάταξη των τριάδων του ερωτήματος Δημιουργία κανονικοποιημένων ετικετών για SPARQL γράφους Δημιουργία μιας ετικέτας που είναι ακριβώς ίδια για όλους τους ισομορφικούς γράφους ερωτημάτων Επέκταση κλασικών αλγορίθμων για κανονικοποιημένες ετικέτες γράφων 38
Απλοποίηση ερωτημάτων? Μεγάλα ερωτήματα Δυσκολία δημιουργίας ετικετών και βελτιστοποίησης Οι γράφοι μορφής αστέρα μετατρέπονται σε κλίκες στον edge graph?pemail?stemail Professor?pName fullname emailaddress type?prof worksfor MIT author?paper advisor?stname fullname emailaddress author?st studiesin type Harvard GraduateStudent 39
Απλοποίηση ερωτημάτων? Μεγάλα ερωτήματα Δυσκολία δημιουργίας ετικετών και βελτιστοποίησης Οι γράφοι μορφής αστέρα μετατρέπονται σε κλίκες στον edge graph?pemail?stemail Professor?pName fullname emailaddress type?prof worksfor MIT author?paper advisor?stname fullname emailaddress author?st studiesin type Harvard GraduateStudent p1 p2 p8 p9 p5 p7 p3 p4 p11 p10 p6 40
Απλοποίηση ερωτημάτων? Απλοποίηση Σκελετού-Αστέρα?pEmail?stEmail Professor?pName fullname emailaddress type?prof worksfor MIT author?paper advisor?stname fullname emailaddress author?st studiesin type Harvard GraduateStudent 41
Απλοποίηση ερωτημάτων? Απλοποίηση Σκελετού-Αστέρα?pEmail?stEmail Professor?pName fullname emailaddress type?prof worksfor MIT author?paper?stname fullname emailaddress author?st studiesin type Harvard GraduateStudent advisor 42
Απλοποίηση ερωτημάτων? Απλοποίηση Σκελετού-Αστέρα?pEmail?stEmail Professor?pName fullname emailaddress type?prof worksfor MIT author?paper?stname fullname emailaddress author?st studiesin type Harvard GraduateStudent advisor s1?prof p5?paper p7?st s2?prof?prof?st?st p6 43
Κανονικοποιημένες Ετικέτες? s1?prof p5?paper p7?st s2?prof?prof?st?st p6 44
Κανονικοποιημένες Ετικέτες? s1?prof?prof p5?prof?paper p6?st p7?st?st s2?s_176_0?s_243_0?s_3_211?s_401_1623 0_407_0 SS OO OO SS 0_85_0 SO 0_407_0?s_176_0?s_243_0?s_3_102?s_545_1874 45
Κανονικοποιημένες Ετικέτες? s1?prof?prof p5?prof?paper p6?st p7?st?st s2?s_176_0?s_243_0?s_3_211?s_401_1623 0_407_0 SS OO OO SS 0_85_0 SO 0_407_0?s_176_0?s_243_0?s_3_102?s_545_1874 Κανονικοποιημένες ετικέτες Σκελετού-Αστέρα Ετικέτα σκελετού: {?st?1,?paper?2,?prof?3}?1_407_?2&?3_407_?2&?3_85_?1 Ετικέτες αστέρων: (?1,[?s_176_0,?s_243_0,?s_3_102,?s_545_1874]) (?3,[?s_176_0,?s_243_0,?s_3_211,?s_401_1623]) 46
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 47
Βελτιστοποίηση με δυναμικό προγραμματισμό? Χρήση του αλγορίθμου DPccp Ελέγχει όλους τους συνδεδεμένους υπογράφους του ερωτήματος Έλεγχος κρυφής μνήμης για κάθε υπογράφο με χρήση της κανονικοποιημένης ετικέτας του Βέλτιστο πλάνο εκτέλεσης που χρησιμοποιεί εν μέρει ή πλήρως αποθηκευμένα αποτελέσματα Abstract γράφοι ερωτημάτων Χρήση πιο γενικών αποτελεσμάτων Σταθερές των ερωτημάτων μετατρέπονται σε μεταβλητές με φίλτρα Χρησιμοποίηση αποτελεσμάτων με ευρετήρια 48
Abstract Ερωτήματα How can we profit from more generic results? Run DP planner on abstract query 49
Abstract Ερωτήματα How Πως can μπορούμε we profit να from εκμεταλλευτούμε more generic πιο results? γενικά αποτελέσματα? Run DP planner on abstract query 50
Abstract Ερωτήματα How Πως can μπορούμε we profit να from εκμεταλλευτούμε more generic πιο results? γενικά αποτελέσματα? Run Εκτελούμε DP planner τη βελτιστοποίηση on abstract query πάνω στο abstract ερώτημα 51
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 52
Προσθήκη αποτελέσματος στην κρυφή μνήμη? 1900 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1900?6{=Graduate Student} 1900?7{= Harvard } 1900 1900 53
Προσθήκη αποτελέσματος στην κρυφή μνήμη? 100 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 100?6{=Graduate Student} 100?7{= Harvard }?7{*,Index} 10 3 1900 100k 1900 100k 54
Προσθήκη αποτελέσματος στην κρυφή μνήμη? 5 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} {(?1,[?s_176_0,?s_243_0,?s_545_0])} 100?6{=Graduate Student} 100 5?4{= Mike } 5?7{= Harvard }?7{*,Index} 10 3?6{= MIT } 1900 100k 5 1900 100k 5 55
Προσθήκη αποτελέσματος στην κρυφή μνήμη? 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1 5?6{=Graduate Student} 10 6?4{*,Index}?4{= John } 1m 1m?4{= Mike } 10 3?6{*,Index}?6{= CMU } 100 750k?6{=UnderGrad uatestudent} 850 5 1m 5k?7{= Harvard }?7{*,Index} 10 3 850?6{= MIT }?7{*,Index} 10 3 1m 5k 1900 100k 750k 5 100k 1900 100k 750k 5 100k 56
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1 5?6{=Graduate Student} 10 6?4{*,Index}?4{= John } 1m 1m?4{= Mike } 10 3?6{*,Index}?6{= CMU } 100 750k 850 5 1m 5k?7{= Harvard }?7{*,Index} 10 3?6{=UnderGrad uatestudent} 850?6{= MIT }?7{*,Index} 10 3 1m 5k 1900 100k 750k 5 100k 1900 100k 750k 5 100k 57
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])}?6{=Graduate Student} 1 2 2 1 10 6?4{*,Index}?4{= John } 1m 1m?4{= Mike } 15 5 3 10 3?6{*,Index}?6{= CMU } 100 750k 850 5 1m 5k?7{= Harvard }?7{*,Index} 10 3?6{=UnderGrad uatestudent} 850?6{= MIT }?7{*,Index} 10 3 1m 5k 1900 100k 750k 5 100k 1900 100k 750k 5 100k 58
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1 2 2 1?6{=Graduate Student} 100 750k 3 100 3 750k 3 1 1 850 x?7{= Harvard }?7{*,Index} 10 3?4{*,Index}?4{= John }?6{=UnderGrad uatestudent} 3 1m x 1m?6{= MIT } 5?4{= Mike }?7{*,Index} 10 3 15 5 3 10 3?6{*,Index} 1m 1m?6{= CMU } 5k 5k 1900 100k 750k 5 100k 1900 100k 750k 5 100k 59
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1 2 2 1?6{=Graduate Student} 100 750k 3 100 3 750k 3 1 1 850 x?7{= Harvard }?7{*,Index} 10 3?4{*,Index}?4{= John }?6{=UnderGrad uatestudent} 3 1m x 4 1m?4{= Mike } 15 5 3 0.02?6{*,Index}?6{= CMU } 60k 5 x 0.06 5k x 4 4 4?6{= MIT }?6{*,Index} 10 3 1m x 1900 100k 750k x x 1900 100k 750k x x 60
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1900 1 1 2 2 1?6{=Graduate Student}?4{= John } 100 750k 3 100 3 750k 3 1 1 850 x?7{= Harvard } 0.02 5 5?7{*,Index} 2000 0.02?4{*,Index}?6{=UnderGrad uatestudent} 750k 3 1m x 4 x 1m?4{= Mike } 15 5 3 0.02?6{*,Index}?6{= CMU } 60k 5 x 0.06 5k x 4 4 4?6{= MIT }?6{*,Index} 10 3 x 1m x 1900 100k 750k x x 61
Αναζήτηση αποτελεσμάτων? 1 1 {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 {(?1,[?s_176_0,?s_243_0,?s_545_0])} 1900 1 1 2 2 1?4{*,Index} 100 750k 60k 3 3 750k 3 1 x 4 x 4 asdwer 1 4 0.06?7{= Harvard } 0.02 5 5?6{=Graduate Student}?7{*,Index} 2000 0.02?4{= John }?6{=UnderGrad uatestudent} x 3 1m 4 x x 1m?6{= MIT }?4{= Mike }?6{*,Index} 10 3 x 15 3 0.02?6{*,Index} 20 x 0.02?6{= CMU } x x 1900 1 6 7 2000 0.02 x x x 62
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 63
Ανεύρεση ωφέλιμων? αποτελεσμάτων Παρακολούθηση των αιτημάτων κρυφής μνήμης Πίνακας Cache Requests table Μη αποθηκευμένα αποτελέσματα που έχουν ζητηθεί Εκτίμηση οφέλους από τον DP planner Τα φίλτρα δίνουν όφελος στους αντίστοιχους δείκτες Συσσώρευση οφέλους από πολλαπλά ερωτήματα {(?1,[?s_176_0,?s_243_0,?s_3_0,?s_545_0])} 1 s 1 =s GrSt =0.1 s 2 =s Harvard =0.02 s 3 =s Harvard *s GrSt =0.002?6{=Graduate Student} 1 1?6{*,Index}?7{= Harvard } s1?7{*,index} s1 s1?7{= Harvard } s1?7{*,index} s3 s3 s3 s3 s3 s3 s3 s3 64
Κρυφή μνήμη SPARQL ερωτημάτων? Result Cache SPARQL queries Dynamic Programming Planner Join plan Query Execution Engine Check cache Profitable query Cache results Cache Controller Check cache Cache results Save cache requests Label Result Tree Cache Requests Label Benefit/Cost Tree Profitable query Primary Indexes Cached Results 65
Εκτέλεση Ερωτημάτων? Κρυφή μνήμη υλοποιημένη σε 3 RDF βάσεις δεδομένων RDF-3X Κεντρική εκτέλεση ερωτημάτων Ευρετήρια αποθηκευμένα σε τοπικό σκληρό δίσκο H2RDF+ Κατανεμημένη επεξεργασία MapReduce NoSQL ευρετήρια TriAD Αποθήκευση δεδομένων στην κύρια μνήμη Κατανεμημένη επεξεργασία με χρήση του MPI 66
Πειράματα? Δημιουργία κανονικοποιημένων ετικετών Διαφορετικά είδη γράφων Μέγεθος γράφου Labelling Time (ms) 1 0.1 Paths Cycles Snowflakes Spiders Stars Grids 0.01 4 8 12 16 20 24 28 number of triple patterns 67
Πειράματα? Δημιουργία κανονικοποιημένων ετικετών Απλοποίηση γράφων Labelling Time (ms) 1 0.1 Stars_NS Stars Snowflakes_NS Snowflakes 0.01 4 8 12 16 20 24 28 number of triple patterns 68
Πειράματα? Βελτιστοποίηση δυναμικού προγραμματισμού Διαφορετικά είδη γράφων Μέγεθος γράφων Αριθμός αποτελεσμάτων στην κρυφή μνήμη Time (s) 10 3 10 2 10 1 10 0 10-1 10-2 10-3 10-4 Paths Stars Cycles Spiders Grids Snowflakes 2 4 6 8 10 12 14 16 18 20 number of triple queries Time (s) 10 0 10-1 10-2 10-3 10-4 Paths Stars Spiders Grids 1 10 100 1000 results per cache record 69
Πειράματα? Βελτιστοποίηση δυναμικού προγραμματισμού Απλοποίηση γράφων Time (s) 10 1 10 0 10-1 10-2 10-3 10-4 10-5 Stars_NS Stars Snowflakes_NS Snowflakes 2 4 6 8 10 12 14 16 18 20 number of triple queries 70
Workloads Ερωτημάτων? 71
Σύγκριση Αλγορίθμων Original: χωρίς κρυφή μνήμη S: απλοποίηση ερωτημάτων NS: χωρίς απλοποίηση ερωτημάτων EX: Exact cache requests AB: Abstract cache requests PR: εκτέλεση ωφέλιμων ερωτημάτων CS: αποθήκευση RDF δεδομένων με βάση το σχήμα που βρίσκουμε από τα characteristic sets 72
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Time (s) 10 2 10 1 10 0 CS Original Plan Check Profitable Execute AB-S-PR AB-NS-PR EX-S EX-NS WatDiv1B-L Για γραμμικά ερωτήματα Μικρό planning και check cache time Πάνω από 1 τάξη μεγέθους επιτάχυνση 73
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Time (s) 10 2 10 1 10 0 CS Original Plan Check Profitable Execute AB-S-PR AB-NS-PR EX-S EX-NS WatDiv1B-S Για τα ερωτήματα τύπου αστέρα Μεγάλος χρόνος planning time Η απλοποίηση δίνει μια τάξη μεγέθους κέρδος στο planning time 74
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Time (s) 10 6 10 5 10 4 10 3 10 2 10 1 10 0 CS Original Plan Check Profitable Execute AB-S-PR AB-NS-PR EX-S EX-NS WatDiv1B-G Για γενικά ερωτήματα 2 τάξεις μεγέθους επιτάχυνση Η χρήση abstraction δίνει επιπλέον 1 τάξη μεγέθους επιτάχυνση 75
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR WatDiv1B-G Για διαφορετικές μηχανές εκτέλεσης Κέρδος σε όλες τις μηχανές 1-2 τάξεις μεγέθους επιτάχυνση ανάλογα με τη μηχανή εκτέλεσης 76
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Average responce time (s) 100 10 1 Original EX-S AB-S-PR 0 500 1000 1500 Time(s) LUBM10k-G Με βάση το χρόνο Ομαλή μείωση του χρόνου απόκρισης Τα αποτελέσματα αποθηκεύονται με βάση το κέρδος που δίνουν στο workflow 77
Συμπεράσματα H2RDF+ Διαχείριση μεγάλου όγκου δεδομένων Κατανεμημένη επεξεργασία μη επιλεκτικών ερωτημάτων Κεντρική επεξεργασία για επιλεκτικά ερωτήματα Κρυφή μνήμη για SPARQL ερωτήματα Κανονικοποιημένες ετικέτες για SPARQL γράφους Απλοποίηση ερωτημάτων Βελτιστοποίηση πλάνου και αναζήτηση κρυφής μνήμης μέσω αλγορίθμου Δυναμικού Προγραμματισμού Αbstract γράφοι για αποδοτική χρησιμοποίηση ευρετηρίων Προσαρμογή στο workload 78
Άλλες Ερευνητικές Δραστηριότητες Χρήση του H2RDF στο έργο ARCOMEM Ανάλυση δεδομένων κίνησης δικτύων Datix open source system Διαχείριση δεδομένων sflow από IXP Adaptive Partitioning των δεδομένων με βάση k-d tree Εκτέλεση κατανεμημένων συνενώσεων χωρίς επικοινωνία (map-joins) Cloud Elasticity CELAR EU project Μοντελοποίηση cloud εφαρμογών Αυτόματη ρύθμιση πόρων με βάση το φόρτο εργασίας Multi-engine workflow execution ASAP EU project Βελτιστοποίηση ροών εργασίας για περιβάλλοντα πολλαπλών μηχανών Εύρεση όλων των εναλλακτικών τρόπων εκτέλεσης Επιλογή του καλύτερου με βάση την πολιτική του χρήστη 79
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper RDF databases 2 journals, 2 papers, 2 demos, 3 workshops 80
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper RDF databases 2 journals, 2 papers, 2 demos, 3 workshops Διεθνή Περιοδικά:? [1] T. Risse, E. Demidova, S. Dietze, W. Peters, N. Papailiou, K. Doka, Y. Stavrakas, V. Plachouras, P. Senellart, F. Carpentier, A. Mantrach, B. Cautis, P. Siehndel and D. Spiliotopoulos: The ARCOMEM Architecture for Social- and Semantic-Driven Web Archiving Future Internet Journal 2014, 6, 688-716. [2] E. Demidova, N. Barbieri, S. Dietze, A. Funk, H. Holzmann, D. Maynard, N. Papailiou, W. Peters, T. Risse and D. Spiliotopoulos: Analysing and Enriching Focused Semantic Web Archives for Parliament Applications Future Internet Journal 2014, 6, 433-456. 81
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper RDF databases 2 journals, 2 papers, 2 demos, 3 workshops Διεθνή Συνέδρια:? [1] N. Papailiou, D. Tsoumakos, P.Karras and N. Koziris: Graph-Aware, Workload-Adaptive SPARQL Query Caching In Proceedings of the 2015 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2015), Melbourne, Australia [2] N. Papailiou, D. Tsoumakos, I. Konstantinou, P. Karras and N. Koziris: Scalable Indexing and Adaptive Querying of RDF Data in the cloud In proceedings of the 6th International Workshop on Semantic Web Information Management (SWIM 2014), Snowbird, Utah, USA [3] N. Papailiou, D. Tsoumakos, I. Konstantinou, P.Karras and N. Koziris: H2RDF+: An Efficient Data Management System for Big RDF Graphs. In Proceedings of the 2014 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2014 Demo Track), Snowbird, Utah, USA [4] N. Papailiou, I. Konstantinou, D. Tsoumakos, P.Karras and N. Koziris: H2RDF+: High-performance Distributed Joins over Large-scale RDF Graphs. In proceedings of the 2013 IEEE International Conference on Big Data (BigData 2013), Santa Clara, CA, USA [5] E. Demidova, N. Barbieri, S. Dietze, A. Funk, G. Gossen, D. Maynard, N. Papailiou, V. Plachouras, W. Peters, T. Risse, Y. Stavrakas and N. Tahmasebi: Analysing Entities, Topics and Events in Community Memories. In proceedings of the 1st International Workshop on Archiving Community Memories, Lisbon, Portugal [6] E. Angelou, N. Papailiou, I. Konstantinou, D. Tsoumakos and N. Koziris: Automatic Scaling of Selective SPARQL Joins Using the TIRAMOLA System In proceedings of the 4th International Workshop on Semantic Web Information Management (SWIM 2012), Scottsdale, Arizona, USA [7] N. Papailiou, I. Konstantinou, D. Tsoumakos and N. Koziris: H2RDF: Adaptive Query Processing on RDF Data in the Cloud In Proceedings of the 21th International Conference on World Wide Web (WWW 2012 demo track), Lyon, France 82
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper Network data analytics 1 journal Διεθνή Περιοδικά:? [1] D. Sarlis, N. Papailiou, I. Konstantinou, G. Smaragdakis and N. Koziris: Datix: A System for Scalable Network Analytics. ACM SIGCOMM Computer Communication Review, 45(5), October 2015. 83
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper Cloud Elasticity 2 papers Διεθνή Συνέδρια:? [1] I. Giannakopoulos, D. Tsoumakos, N. Papailiou and N. Koziris: PANIC: Modeling Application Performance over Virtualized Resources In Proceedings of the 2015 IEEE International Conference on Cloud Engineering (IC2E 2015), 9-13 March, Tempe, AZ, USA [2] I. Giannakopoulos, N. Papailiou, C. Mantas, I. Konstantinou, D. Tsoumakos and N. Koziris: CELAR: Automated application elasticity platform In proceedings of the 2014 IEEE International Conference on Big Data (BigData 2014), Washington DC, USA 84
Δημοσιεύσεις Συνολικά: 3 journals, 12 paper Multi-engine workflow execution 1 demo, 2 papers (to apear) Διεθνή Συνέδρια:? [1] K. Doka, N. Papailiou, D. Tsoumakos, C. Mantas and N. Koziris: IReS: Intelligent, Multi- Engine Resource Scheduler for Big Data Analytics Workflows. In Proceedings of the 2015 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2015 Demo Track), Melbourne, Australia [2] K. Doka, N. Papailiou, V. Giannakouris, D. Tsoumakos and N. Koziris: Mix 'n Match Multi- Engine Analytics. In Proceedings of the 2016 IEEE International Conference on Big Data (BigData 2016), Washington DC, USA [3] V. Giannakouris, N. Papailiou, D. Tsoumakos and N. Koziris: MuSQLE: Distributed SQL Query Execution Over Multiple Engine Environments. In Proceedings of the 2016 IEEE International Conference on Big Data (BigData 2016), Washington DC, USA 85
86
Ερωτήσεις 87
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets 10 2 Plan Check Profitable Execute 10 2 Plan Check Profitable Execute Time (s) 10 1 Time (s) 10 1 10 0 10 0 CS Original AB-S-PR AB-NS-PR EX-S EX-NS WatDiv1B-L CS Original AB-S-PR AB-NS-PR EX-S EX-NS WatDiv1B-S Time (s) 10 4 10 3 10 2 10 1 Plan Check Profitable Execute AB-S-PR AB-NS-PR EX-S EX-NS Time (s) 10 6 10 5 10 4 10 3 10 2 10 1 Plan Check Profitable Execute AB-S-PR AB-NS-PR EX-S EX-NS 10 0 CS Original 10 0 CS Original WatDiv1B-F 88 WatDiv1B-C
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR LUBM1k-G Time (s) 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR LUBM10k-G Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR Yago2-G Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR WatDiv100M-G Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR WatDiv1B-G 89 Time (s) 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 H2RDF+ RDF3X TriAD Original CS EX-S AB-S-PR Bio2RDF-G
Workloads Ερωτημάτων Original: No caching S: query simplification EX: Exact cache requests NS: no query simplification AB: Abstract cache requests PR: Profitable results CS: Organize data in tables based on characteristic sets Average responce time (s) Average responce time (s) 3 2.5 2 1.5 1 0.5 100 10 1 Original EX-S AB-S-PR 0 200 400 600 Time(s) LUBM10k-S Original EX-S AB-S-PR 0 500 1000 1500 Time(s) LUBM10k-SG 90 Average responce time (s) Average responce time (s) 100 10 1 100 10 0 200 400 600 800 Time(s) LUBM10k-C Original EX-S AB-S-PR 1 Original EX-S AB-S-PR 0 500 1000 1500 Time(s) LUBM10k-G
Δημοσιεύσεις RDF databases 2 journals, 2 papers, 2 demos, 3 workshops Cloud Elasticity 2 papers Multi-engine workflow execution 1 demo, 2 papers (to apear) Network data analytics 1 journal 91
Δημοσιεύσεις Διεθνή Περιοδικά:? [1] D. Sarlis, N. Papailiou, I. Konstantinou, G. Smaragdakis and N. Koziris: Datix: A System for Scalable Network Analytics. ACM SIGCOMM Computer Communication Review, 45(5), October 2015. [2] T. Risse, E. Demidova, S. Dietze, W. Peters, N. Papailiou, K. Doka, Y. Stavrakas, V. Plachouras, P. Senellart, F. Carpentier, A. Mantrach, B. Cautis, P. Siehndel and D. Spiliotopoulos: The ARCOMEM Architecture for Social- and Semantic-Driven Web Archiving Future Internet Journal 2014, 6, 688-716. [3] E. Demidova, N. Barbieri, S. Dietze, A. Funk, H. Holzmann, D. Maynard, N. Papailiou, W. Peters, T. Risse and D. Spiliotopoulos: Analysing and Enriching Focused Semantic Web Archives for Parliament Applications Future Internet Journal 2014, 6, 433-456. Διεθνή Συνέδρια:? [1] N. Papailiou, D. Tsoumakos, P.Karras and N. Koziris: Graph-Aware, Workload-Adaptive SPARQL Query Caching In Proceedings of the 2015 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2015), Melbourne, Australia [2] K. Doka, N. Papailiou, D. Tsoumakos, C. Mantas and N. Koziris: IReS: Intelligent, Multi-Engine Resource Scheduler for Big Data Analytics Workflows. In Proceedings of the 2015 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2015 Demo Track), Melbourne, Australia [3] I. Giannakopoulos, D. Tsoumakos, N. Papailiou and N. Koziris: PANIC: Modeling Application Performance over Virtualized Resources In Proceedings of the 2015 IEEE International Conference on Cloud Engineering (IC2E 2015), 9-13 March, Tempe, AZ, USA [4] I. Giannakopoulos, N. Papailiou, C. Mantas, I. Konstantinou, D. Tsoumakos and N. Koziris: CELAR: Automated application elasticity platform In proceedings of the 2014 IEEE International Conference on Big Data (BigData 2014), Washington DC, USA [5] N. Papailiou, D. Tsoumakos, I. Konstantinou, P. Karras and N. Koziris: Scalable Indexing and Adaptive Querying of RDF Data in the cloud In proceedings of the 6th International Workshop on Semantic Web Information Management (SWIM 2014), Snowbird, Utah, USA [6] N. Papailiou, D. Tsoumakos, I. Konstantinou, P.Karras and N. Koziris: H2RDF+: An Efficient Data Management System for Big RDF Graphs. In Proceedings of the 2014 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2014 Demo Track), Snowbird, Utah, USA [7] N. Papailiou, I. Konstantinou, D. Tsoumakos, P.Karras and N. Koziris: H2RDF+: High-performance Distributed Joins over Large-scale RDF Graphs. In proceedings of the 2013 IEEE International Conference on Big Data (BigData 2013), Santa Clara, CA, USA [8] E. Demidova, N. Barbieri, S. Dietze, A. Funk, G. Gossen, D. Maynard, N. Papailiou, V. Plachouras, W. Peters, T. Risse, Y. Stavrakas and N. Tahmasebi: Analysing Entities, Topics and Events in Community Memories. In proceedings of the 1st International Workshop on Archiving Community Memories, Lisbon, Portugal [9] E. Angelou, N. Papailiou, I. Konstantinou, D. Tsoumakos and N. Koziris: Automatic Scaling of Selective SPARQL Joins Using the TIRAMOLA System In proceedings of the 4th International Workshop on Semantic Web Information Management (SWIM 2012), Scottsdale, Arizona, USA [10] N. Papailiou, I. Konstantinou, D. Tsoumakos and N. Koziris: H2RDF: Adaptive Query Processing on RDF Data in the Cloud In Proceedings of the 21th International Conference on World Wide Web (WWW 2012 demo track), Lyon, France 92
Ομαδοποίηση ενδιάμεσων αποτελεσμάτων Lazy materialization για τα ενδιάμεσα αποτελέσματα Row oriented vs ομαδοποιημένα αποτελέσματα all-to-all ιδιότητα μεταξύ των ομάδων 93
Ομαδοποίηση ενδιάμεσων αποτελεσμάτων Διατήρηση των ομάδων κατά τη διάρκεια των συνενώσεων 94
H2RDF+ πειράματα Κατανεμημένα συστήματα Cluster of 25 VMs(2 CPUs, 4GB RAM, 300GB HDD) Μη επιλεκτικά ερωτήματα 7x H2RDF, 10x HadoopRDF Επιλεκτικά ερωτήματα Έως 1000x σε σύγκριση με το HadoopRDF Βελτιώσεις σε σχέση με το H2RDF 95
H2RDF+ πειράματα Σύγκριση με το κεντρικό RDF-3X Μη επιλεκτικά ερωτήματα 10x speedup, το RDF-3X απέτυχε να εκτελέσει κάποια ερωτήματα Επιλεκτικά ερωτήματα Γρήγορη απόκριση (ms) Το RDF-3X αν και κεντρικό είναι μερικά ms γρηγορότερο 96