Semantic Web - RDF. Ένας ιστός δεδοµένων, τα οποία µπορούν να επεξεργαστούν άµεσα ή έµµεσα από µηχανές

Σχετικά έγγραφα
Κλιμακώσιμοι και βασισμένοι στο φόρτο εργασίας αλγόριθμοι διαχείρισης μη δομημένων δεδομένων.

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Πληροφορικής και Τεχνολογίας Υπολογιστών

Τεχνολογίες RDF για τον Ιστό Δεδοµένων

Πληροφοριακά Συστήματα Διοίκησης

Επερωτήσεις σύζευξης με κατάταξη

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

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

Πληροφοριακά Συστήματα Διοίκησης

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

Εργαστήριο Σημασιολογικού Ιστού

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

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

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

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

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

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

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

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

Δημιουργώντας κώδικα για ολιστική επεξεργασία επερωτήσεων

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

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

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

Διδάσκων: Νεκτάριος Κοζύρης, καθηγητής

Διασύνδεση και Άνοιγμα Δεδομένων του Α.Π.Θ. Καραογλάνογλου Κωνσταντίνος Μονάδα Σημασιολογικού Ιστού Α.Π.Θ 18/3/2014

Διδάσκων: Νεκτάριος Κοζύρης, καθηγητής

Επεξεργασία ερωτημάτων

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ακ. έτος , 9ο Εξάμηνο ΗΜ&ΜΥ Ν. Κοζύρης Εξαμηνιαία Εργασία. Εισαγωγή στο MapReduce και στις βάσεις NoSQL

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

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

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

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Τµήµα Πληροφορικής. Υλοποίηση LRU Cache ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ - ΕΡΓΑΣΙΑ 4. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Γενικά περί Caching

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Εργαστήριο Σημασιολογικού Ιστού

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

Μεταπτυχιακή Διατριβή

DISTRIBUTED CACHE TABLE: EFFICIENT QUERY-DRIVEN PROCESSING OF MULTI-TERM QUERIES IN P2P NETWORKS

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer

Μελέτη και Ανάπτυξη ενός Εργαλείου Υποβοήθησης στη Σχεδίαση µίας Βάσης εδοµένων Τύπου Graph από Τελικούς Χρήστες

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

substructure similarity search using features in graph databases

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

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

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

EPL 660: Lab 4 Introduction to Hadoop

Σημασιολογικός Ιστός RDF(S) OWL Οντολογίες. Pervasive Computing Research Group

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Βελτιστοποίηση Ερωτημάτων Κεφ. 14

Άμεση Αναλυτική Επεξεργασία (OLAP)

Βάσεις δεδομένων. Π. Φιτσιλής

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Διαχείριση, Δημοσίευση και Διάθεση Ανοικτών Εκπαιδευτικών Πόρων

Linked Data for the Masses: Η προσέγγιση και το λογισμικό

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων

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

Πληροφοριακά Συστήματα

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

Ανάκτηση Πληροφορίας (Information Retrieval IR)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

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

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

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

Advanced Data Indexing

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών

Detecting Duplicates over Distributed Data Sources. Δημήτρης Σουραβλιάς

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

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

Στόχοι και αντικείμενο ενότητας

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

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Εργ. Συστημάτων Βάσεων Γνώσεων & Δεδομένων CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

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

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

Θέμα: Ανάπτυξη Βασικής Πλατφόρμας για Υπηρεσίες με Βάση το Προφίλ και τη Θέση (Profile & Location Based Services)

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

Ερωτήµατα διαστηµάτων σε περιβάλλοντα νεφών υπολογιστών

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

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

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας

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

SEMANTIC DATA CACHING AND REPLACEMENT

Ανοικτά Δεδομένα. Η εμπειρία του OpenDataCloud

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

Ανάκτηση Δεδομένων (Information Retrieval)

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Information Technology for Business

Ανάκτηση Πληροφορίας

Transcript:

RDF datastores

Semantic Web - RDF Ένας ιστός δεδοµένων, τα οποία µπορούν να επεξεργαστούν άµεσα ή έµµεσα από µηχανές Tim Berners-Lee RDF: Το βασικό µοντέλο αναπαράστασης των δεδοµένων στο Semantic Web Μορφή: subject-predicate-object triples π.χ. http://www.example.org/index.html has a creation-date August 16, 1999. Subject:<http://www.example.org/index.html> Predicate: <http://www.example.org/terms/creation-date> Object: "August 16, 1999" 2

RDF data evolution 2007 2008 2009 2011 3

Real life RDF data RDF-encoded Wikipedia 1.89 billion triples RDF-encoded biological data 2.7 billion triples US government data in RDF 5 billion triples Crawled Web data 2 billion triples US population statistics 1 billion triples Yago facts from Wikipedia, Wordnet, Geonames 0.12 billion triples Linked Open Data cloud 30 billion triples 4

SPARQL Γλώσσα επερώτησης των RDF δεδοµένων Βασικό στοιχείo τα triple patterns Triples που µπορούν να περιέχουν µεταβλητές π.χ.?person rdf:type foaf:person SparQL ερωτήµατα: Συνδυασµός από BGP Παράδειγµα: PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT?name?email WHERE {?person rdf:type foaf:person.?person foaf:name?name.?person foaf:mbox?email. } 5

RDF engines RDBMS-based: Αποθηκεύουν τα RDF δεδοµένα σύµφωνα µε κάποιο σχήµα σε µια σχεσιακή βάση δεδοµένων Native stores: Χρησιµοποιούν εξειδικευµένο τρόπο αποθήκευσης και επερώτησης των RDF δεδοµένων Graph indexing: Χρησιµοποιούν αλγορίθµους γράφων για την αποθήκευση και επερώτηση των RDF δεδοµένων 6

RDBMS-based engines Big triple table 3 columns: subject-predicate-object Τα SPARQL ερωτήµατα µεταφράζονται σε SQL Δεν έχει καλή απόδοση για µεγάλα ερωτήµατα αφού απαιτεί την εκτέλεση πολλών self-join. Η πρόσβαση στον πίνακα δεν µπορεί να γίνει αποδοτικά για όλα τα πιθανά triple queries. Subject Predicate Object :Student1 :type :Student :Student2 :takescourse :Course1 :Prof1 :teacherof :Course1 :Prof1 :type :Professor 7

RDBMS-based engines Property tables [Carroll et al. 2004] Δεν υπάρχουν πολλά διαφορετικά predicate Δηµιουργία ενός πίνακα για κάθε predicate, µε δυο columns subject-object Ταιριάζει µε column stores γιατί οι πίνακες έχουν µόνο 2 columns (SW-store [Abadi et al. 2009]) και µπορεί να γίνει vertical partitioning Δεν προσφέρουν αποδοτική εύρεση των δεδοµένων για κάθε triple query: Πως βρίσκουµε δεδοµένα για query µε µεταβλητή στο predicate? Δηµιουργία πολλών πινάκων. 8

RDBMS-based engines Type-oriented Ένας πίνακας για κάθε RDF type π.χ. Διαφορετικοί πίνακες για students και universities. Ο κάθε πίνακας έχει διαφορετικά columns ανάλογα µε το τι είδους δεδοµένα υπάρχουν Πως βρίσκουµε το schema? Με graph coloring πάνω στο γραφο του dataset [Bornea et al. 2013] Με lattice structures [Wang et al. 2010] Με βάση τα characteristic sets (predicates που είναι κοινά για πολλά subjects) [Pham et al. 2015] Online adaptivity στο schema? 9

Native RDF indexing Hexastore [Weiss et al. 2008] Κρατάµε όλα τα sorted permutations των triple SPO, SOP, PSO, POS, OSP, OPS Όλα τα query patterns µπορούν να απαντηθούν µε ένα Index scan Όλα τα αρχικά join µπορούν να γίνουν µε αποδοτικά merge-joins Πιο ακριβά hash ή sort-merge joins χρειάζονται µόνο όταν κάνουµε join non-ordered intermediate results 10

Native RDF indexing!!!!!! Query pattern Index Subject Predicate Object _ όλα? pos, ops _? _ osp, sop? spo, pso?? _ osp, ops _?? spo, sop? _? pos, pso??? όλα RDF-3X [Neumann et al. 2008] 6 indexes, aggregated indexes για στατιστικά και εύρεση του βέλτιστου πλάνου εκτέλεσης Aggressive compression 11

Native RDF indexing BitMat [Atre et al. 2008] Βλέπει τα RDF σαν ένα 3D cube Αποθηκεύει compressed bit matrixes Αντί για join εκτελεί ένα semi-join plan που ουσιαστικά είναι σαν µια σειρά από πολλαπλασιασµούς πινάκων Το semi-join processing µπορεί να απαντήσει ακριβώς για ερωτήµατα µε δενδρική δοµή Για ερωτήµατα µε κύκλους δεν εξασφαλίζει πλήρες reduction των αποτελεσµάτων 12

Graph indexing GRIN index [Udrea et al. 2007] Εύρεση κέντρων του RDF γράφου Ανάθεση των κέντρων σε δενδρική διάταξη Data pruning µε βάση τις εκτιµώµενες αποστάσεις 13

Graph indexing Summary based index [Tran and Ladwig 2010] Γενίκευση του RDF γράφου µε βάση το forward-backward bisimulation!!!!!!!!! RDF graph Summary graph 14

Graph indexing Summary based index: To SPARQL ερώτηµα γίνεται πρώτα match πάνω στον summary graph Αυτό διευκολύνει την µείωση των δεδοµένων που χρειάζεται να εξετάσουµε Reduction όχι µόνο µε βάση το triple query αλλά και µε βάση το neighborhood structure των κόµβων Tradeoff µεταξύ summary size-summary pruning capabilities 15

Graph indexing Χρήση αλγορίθµων subgraph isomorphism [Kim et al. 2015] Turbo ISO, GADDI, VF2 Μετασχηµατισµός του SPARQL query προβλήµατος σε subgraph isomorphism Turbo ISO -> Turbo HOM ++ Type-aware transformation για βελτίωση της απόδοσης των ερωτηµάτων Numa-aware παραλληλοποίηση 16

Distributed systems Centralized systems: Αποδοτική εκτέλεση µικρών-selective ερωτηµάτων Μεγάλη εξάρτηση από το µέγεθος της RAM Περιορισµένη παραλληλοποίηση για δύσκολα, non-selective ερωτήµατα Distributed systems: Διαχειρίζονται RDF dataset µεγάλου όγκου Εκµεταλλεύονται τις νέες cloud υποδοµές Χρησιµοποιούν τις νέες τεχνολογίες των No-SQL βάσεων δεδοµένων και του MapReduce 17

MapReduce 18

MapReduce-based engines Αποθήκευση RDF δεδοµένων σε αρχεία HDFS Υλοποίηση join µε χρήση MapReduce Αντιπροσωπευτικά συστήµατα SHARD [Rohloff 2010] HadoopRDF [Husain 2011] PigSPARQL [Schätzle 2012] 19

SHARD Αρχεία HDFS: Mια γραµµή περιέχει όλες τις τριάδες που έχουν ένα συγκεκριµένο subject Query processing Left deep join plans Ένα MapReduce job για κάθε BGP του ερωτήµατος Μικρές δυνατότητες φιλτραρίσµατος των RDF δεδοµένων 20

HadoopRDF Αρχεία HDFS: RDF τριάδες οµαδοποιηµένες ανά predicate Εσωτερική οµαδοποίηση των αρχείων µε βάση το type του κάθε object Query processing Επιλογή αρχείων που ταιριάζουν σε κάθε BGP Πολλαπλά join ανά MapReduce job Heuristic join planner 21

Pig SPARQL Αρχεία HDFS: Ένα ενιαίο αρχείο που περιέχει όλα τα RDF δεδοµένα Χωρίς δυνατότητες ευρετηρίασης Query processing Μετάφραση SPARQL σε Pig scripts Εκτέλεση των PIG scripts µε MapReduce jobs 22

NoSQL indexing Χρήση key-value store για δηµιουργία ευρετηρίων Αριθµός ευρετηρίων 1-6 Ανάκτηση δεδοµένων για BGP: Με lookups ή range scans Επεξεργασία ερωτηµάτων Με τοπική επεξεργασία Με χρήση MapReduce Αντιπροσωπευτικά συστήµατα Stratustore [Stein 2010] Rya [Punnoose 2012] H2RDF [Papailiou 2012] H2RDF+ [Papailiou 2013] MAPSIN [Schätzle 2012] 23

NoSQL indexing 24

NoSQL indexing Stratustore (Amazon SimpleDB) S P O Rya (Apache Accumulo) SPO -, POS -, OSP - H2RDF (Apache HBase) SPO -, POS -, OSP - H2RDF+ (Apache HBase) SPO -, SOP -, POS -, PSO -, OPS -, OSP - MAPSIN (Apache HBase) SPO, OPS - 1 hash index 3 sorted indexes 3 sorted indexes 6 sorted indexes 2 sorted indexes 25

Rya Αποθήκευση δεδοµένων Apache Accumulo 3 sorted indexes Ανάκτηση δεδοµένων µε lookup για όλα τα BGP patterns Επεξεργασία ερωτηµάτων Index nested loops Αναζήτηση του accumulo index για κάθε κλειδί του join Αποδοτικό για µικρού µεγέθους join Απαιτεί πολλά index lookups για non selective ερωτήµατα 26

H2RDF Αποθήκευση δεδοµένων Apache HBase 3 sorted indexes Ανάκτηση δεδοµένων µε lookup για όλα τα BGP patterns Επεξεργασία ερωτηµάτων Partial Input Hash joins Διαλέγει τον κατάλληλο join αλγόριθµο ανάλογα µε το µέγεθος δεδοµένων των BGP Αν υπάρχει µικρό pattern µόνο αυτό χρησιµοποιείται ως είσοδος Κατανεµηµένη (MapReduce) ή κεντρική εκτέλεση των join 27

H2RDF+ Αποθήκευση δεδοµένων Apache HBase 6 sorted indexes και aggregated satatistics Συµπιέση των ευρετηρίων Ανάκτηση ταξινοµηµένων δεδοµένων για όλα τα BGP patterns Επεξεργασία ερωτηµάτων Αξιοποιεί τα 6 index για την εκτέλεση Merge join Multi-way Merge και Sort-Merge joins Κατανεµηµένη (MapReduce) ή κεντρική εκτέλεση των join Μοντέλο κόστους για τα joins Ελαστική επιλογή των resources 28

MAPSIN Αποθήκευση δεδοµένων Apache HBase 2 sorted indexes Ανάκτηση δεδοµένων για τα BGP patterns µε γνωστό predicate Επεξεργασία ερωτηµάτων MapReduce map phase join algorithm Lookup operations για κάθε κλειδί του join 29

Graph partitioning 30

Graph partitioning Graph partitioning [Huang et al. 11] Graph partitioning για διαµειρασµό των RDF δεδοµένων Κάθε κόµβος χρησιµοποιεί ένα RDF-3X για τα δεδοµένα του δικού του graph partition n-hop replication scheme Εκτός από τα δεδοµένα του partition του ο κάθε κόµβος κάνει replicate και δεδοµένα που είναι έως n βήµατα µακριά Παράλληλη εκτέλεση για ερωτήµατα µε διάµετρο µικρότερη του n Τα µεγαλύτερα ερωτήµατα χωρίζονται σε µικρότερα, διαµέτρου n Τα αποτελέσµατα των υποερωτηµάτων συνδυάζονται µε χρήση MapReduce 31

1-hop guarantee 32

Graph partitioning 33

DREAM DREAM [Hammoud 2015] Διαχωρισµός συστηµάτων ανάλογα µε την κατανοµή των δεδοµένων και της επεξεργασίας Υλοποίηση συστήµατος που ανήκει στο Quadrant-IV 34

Distributed Main Memory Memory cloud: TrinityRDF [Zeng et al. 2013] Αποθηκεύει τα RDF δεδοµένα στην κύρια µνήµη όλων των κόµβων του cluster Κάθε κόµβος κρατάει ένα memory hash-map των RDF δεδοµένων που του αντιστοιχούν Query execution Graph exploration µε µηνύµατα µεταξύ των κόµβων Ουσιαστικά κάνει ένα semi-join processing για το query Δεν κάνει πλήρες reduction για ερωτήµατα µε κύκλους Στο τέλος τα reduced αποτελέσµατα µαζεύονται σε ένα κεντρικό server που κάνει το τελικό processing 35

Distributed Main Memory TriAD [Gurajada 2014] Hash partitioning Αποθηκεύει τα RDF δεδοµένα στην κύρια µνήµη όλων των κόµβων 6 indexes κια aggregated statistics MPI-based asynchronous join execution Βασισµένο στο RDF-3X για join planning 36

Workload-adaptive engines Προσαρµογή στο workload Adaptive data partitioning Result caching Multi-query optimization Αντιπροσωπευτικά συστήµατα SPARQL Multi-query optimization [Le 2012] Partout [Galarraga 2014] Warp [Hose 2014] Chameleon-db [Aluc 2015] H2RDF+ caching [Papailiou 2015] AdPart [Harbi 2016] 37

Multi-query optimization Συνένωση SPARQL ερωτηµάτων που έχουν overlap Χρησιµοποιεί OPTIONAL patterns 38

Partout - Warp Επεξεργασία του workload των ερωτηµάτων Επεκτείνουν graph partitioning τεχνικές Εύρεση ενός καλού graph partitioning µε βάση τα ερωτήµατα Adaptive replication των RDF τριάδων Ελαχιστοποίηση της επικοινωνίας κατά την εκτέλεση Εκτέλεση ερωτηµάτων Επικοινωνία µόνο για τα κοµµάτια του ερωτήµατος που χρειάζονται αποµακρυσµένα δεδοµένα 39

Chameleon-db Χρήση ευρετηρίων που περιέχουν αποτελέσµατα για graph query patterns Partition µε βάση graph patterns Εύρεση του καλύτερου partitioning µε βάση τα ερωτήµατα του workload 40

H2RDF+ SPARQL caching Canonical labelling για SPARQL ερωτήµατα Χρήση του label για δηµιουργία κρυφής µνήµης Επέκτεση ενός DP planner για cache requests Ελέγχει αν η κρυφή µνήµη περιέχει χρήσιµα αποτελέσµατα για κάθε subgraph του ερωτήµατος Cache controller παρακολουθεί τα cache requests Bρίσκει και εκτελεί profitable ερωτήµατα 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 Profitable query Skeleton Label Result Tree Cache Requests Skeleton Label Benefit Tree Primary Indexes Cached Results 41

AdPart Αρχικό Hash based partitioning Οµαδοποίηση των δεδοµένων µε βάση το subject τους Star ερωτήµατα µπορούν να εκτελεστούν µε τοπικά δεδοµένα Παρακολούθηση του workload Εύρεση των hot query pattern Συνδυασµός επιµέρους ερωτηµάτων µε χρήση OPTIONAL Repartition ή replication αυτών των pattern Εκτέλεση ερωτηµάτων MPI asynchronous joins Αν τα δεδοµένα µπορούν να βρεθούν τοπικά εκτελείται το ερώτηµα χωρίς επικοινωνία 42

Ερωτήσεις 43