Gestione di Big RDF Data

Documenti analoghi
Gestione di Big RDF Data

BASI DI DATI DISTRIBUITE

DataBase NoSQL. Prof. Marco Pedroni Unversità degli Studi di Ferrara

GRAFI. Angelo Di Iorio Università di Bologna

Big Data: tecnologie, metodologie e applicazioni per l analisi dei dati massivi

Tecnologie e metodologie di Big Data Analytics - Apache Spark

Modelli di programmazione parallela

Lezione n.7 Distributed Hash Tables

Lezione n.4 DISTRIBUTED HASH TABLES: INTRODUZIONE 6/3/2009. Laura Ricci

Lezione n.15. LA RETE EMULE-KADEMLIA to-peer Systems and Applications Capitolo 8

Conseguenze Algoritmiche del fenomeno small world

P2p la teoria dei sistemi complessi per modellare reti p2p

Sviluppo di sistemi scalabili con Apache Spark. Alessandro Natilla - 22/10/2016 1

Parallel Frequent Set Counting

Uso degli indici nell ottimizzazione delle query SQL

GIG: Generating Interfaces for RDF Graphs. Alice Graziosi

Sperimentazione tecnologie big data per elaborazione e analisi dei testi (Big Data Text Analytics)

Sistemi e Architetture per Big Data - A.A. 2017/18 Progetto 2: Analisi del dataset ACM DEBS Grand Challenge 2016 con Storm/Flink

Credits to Alessio Melandri SPARQL. Il linguaggio di interrogazione del web-semantico

Subsection 1. MapReduce

JSON for Linked Data JSON-LD

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011

Architetture di rete. 4. Le applicazioni di rete

NoSQL. Riferimento: P. J. Sadalage, M Fowler, NoSQL Distilled, Addison Wesley. Basi di Dati: Sistemi NoSQL 10.1

Parallel Frequent Set Counting

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Lezione n.19 22/05/2009 OVERLAY WEAVER Laura Ricci

Tessitore di Copertura. ( aka Overlay Weaver :)) )

BIG DATA & OPEN DATA Whitehall Reply

Memoria primaria o secondaria? DFS MapReduce Scheduling & Data flow. Map Reduce. Giambattista Amati. Università di Tor Vergata.

Lezione n.6. and Applications Capitolo 8

INDEXING: DISTRIBUITO O MAPREDUCE? Davide Tuccilli Algoritmi Avanzati A.A. 2011/2012

LEZIONE BASI DI DATI I 22/10/2008 XML

Perché NoSQL. 20 anni di successi della tecnologia relazionale che ha garantito:

L' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi)

Gestione della Memoria Principale

Lezione n.5 DISTRIBUTED HASH TABLES: INTRODUZIONE

Introduzione alla valutazione delle interrogazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A Real world Semantics.

Sperimentazione del file-system distribuito HDFS in ambiente GRID. III Borsista Day, Roma,

SPARQL Injection attacking the triple store

Terzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

OntoMaker. Creazione dell ontologia

ARCHITETTURA DI UN DBMS

Reti, Web e comunicazione Parte seconda

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Quarto allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Filippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2013/14

SITO WEB (sistema dolly accessibile agli iscritti)

Possibile applicazione

Esercizio. 2 i=i*2) j=j*2)

Data Science. Docente. ore per lezioni frontali. Qualifica, sede di afferenza e SSD. Assegnista di ricerca, Università di Bari

Algoritmi e Strutture Dati

Big Data: tecnologie, metodologie e applicazioni per l analisi dei dati massivi

ISPW (9CFU) & LAS (3 CFU)

BASI DI DATI E CONOSCENZA GESTIONE DEI DATI E DELLA CONOSCENZA PRIMO EMICORSO - BASI DI DATI. Roberto Basili a.a. 2014/15

Lezione n.1 Sistemi P2P: Introduzione

Università degli Studi di Roma Tor Vergata. Gestione Big Data. Manuel Fiorelli

Parte IX Basi di dati distribuite e parallele

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining

Entity Framework & SQL Server - Better Together

Casi di prova. Il problema dell ordinamento. Casi di prova. Casi di prova. Casi di prova

Introduzione ai. Sistemi Distribuiti

Prevenzione dello Spam su VoIP basata su Web of Trust

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

DIFFUSIONE SU GRAFO (rete) E RIPOSIZIONAMENTO DI FARMACI SULLA BASE DELLA SIMILARITA DI STRUTTURA MOLECOLARE

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

Lezione 5. Il Modello dei Dati Relazionale Vincoli sui Database Relazionali

Riconoscimento e recupero dell informazione per bioinformatica

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni

K 4 è planare? E K 3,3 e K 5 sono planari? Sì! No! (Teorema di Kuratowski) K 5. Camil Demetrescu, Irene Finocchi, Giuseppe F.

Linux nel calcolo distribuito

Architetture Client/Server e World Wide Web

Grafi non orientati. Grafi (non orientati) Rappresentazione di Grafi: matrice delle adiacenze. Tipiche applicazioni di modelli basati su grafi

ANALISI DI DATI DI TRAIETTORIA SU PIATTAFORMA BIG DATA

Tutorial: come scrivere query SPARQL semplici

Data Science. ore per lezioni frontali. Qualifica, sede di afferenza e SSD. Assegnista di ricerca, Università di Bari

Week #9 Assessment. Practice makes perfect... November 23, 2016

Memorizzazione di una relazione

Dizionari Liste invertite e Trie

Implementazione della ricerca dell informazione in documenti non strutturati

Basi di dati II, primo modulo Prova parziale 22 marzo 2010 Compito A

Progettazione Fisica

VQR : Relazione al GRIN

Lezione n.1 Sistemi P2P: Introduzione

2 Reduced Dynamo: L Architettura e le Operazioni

Ingegneria del software

Riconoscimento e recupero dell informazione per bioinformatica

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Transcript:

Università degli Studi di Roma Tor Vergata Gestione di Big RDF Data Manuel Fiorelli fiorelli@info.uniroma2.it

11/12/2018 2 Distributed RDF store La taglia di un "big" RDF dataset può impedire di caricarlo e valutare query (SPARQL) usando soltanto le risorse computazionali di un singolo nodo di calcolo. In questo caso, è necessario adottare un sistema distribuito: In queste slide l'enfasi è sui sistemi centralizzati per la gestione di dati RDF all'interno di un cluster Non vanno confusi con sistemi P2P in cui viene enfatizzata l'autonomia dei peer e la loro capacità di entrare/uscire dalla rete

11/12/2018 3 Quanto grande? Con le opportune risorse si possono gestire anche 20 miliardi di triple su un singolo nodo http://graphdb.ontotext.com/documentation/8.7/standard/requirements.html

11/12/2018 4 RDF Storage (Kaoudi & Manolescu, 2015)

11/12/2018 5 RDF Storage triple model Immagazzino le triple in un file all'interno di un filesystem distribuito (che lo suddividerà in blocchi ripartiti tra i vari data node) Ciascuna riga del file contiene: Una tripla Tutte le triple di cui una certa risorsa è soggetto

11/12/2018 6 RDF Storage Vertical Partitioning È una reminiscenza dei primi sistemi che immagazzinavo dati RDF in database relazionali usando una tabella diversa per ciascuna proprietà. Le triple sono salvate in tanti file, una per ogni proprietà: Lo scopo è permette un accesso più selettivo ai dati La partizione è basata sulle proprietà anziché sui soggetti o gli oggetti, perché questi ultimi sono generalmente molto più numerosi e di conseguenza darebbero luogo ad un gran numero di file di piccole dimensioni (non ben supportati dal DFS) Quando accediamo ai dati, se la proprietà non è nota, occorre scansionare tutti i file

11/12/2018 7 RDF Storage Vertical Partitioning I file possono essere divisi ulteriormente: Nel caso della proprietà rdf:type si usa l'oggetto, che è una classe e tipicamente la T-BOX è piccola type#painter Nel caso di altre proprietà si usa la classe dell'oggetto (perché gli oggetti sono in genere troppo numerosi) paints#artifact

11/12/2018 8 RDF Storage Vertical Partitioning Extended vertical partitioning: Per ogni coppia di tabelle VP p1 e VP p2 calcola diversi semijoin e li materializza se non sono vuoti e se la loro selettività (riduzione delle tabelle VP) è sufficientemente alta Si basa sulla seguente decomposizione di una join tra due tabelle

11/12/2018 9 RDF Storage entity class Produce un summary di un grafo di entity class: Una entity class rappresenta un insieme di risorse sufficientemente simili (secondo una certa metrica) Il grafo compresso viene partizionato, e le entità sono assegnate alla partizione corrispondente alla loro classe.

11/12/2018 10 RDF Storage key-value database Modello di dati chiave/valore Due operazioni supportate: Aggiungere un valore per una chiave Recuperare i valori per una chiave In base al tipo di indicizzazione ho pattern di accesso diversi: Hash: lookup diretto devo cercare la chiave esatta Sorted: prefix lookup posso cercare un prefisso della chiave (Kaoudi & Manolescu, 2015)

11/12/2018 11 RDF Storage key-value database - triple Modello di dati chiave/valore (Kaoudi & Manolescu, 2015) Posso codificare le triple RDF in vari modi per simulare diversi tipi di indici: (SPO e e) con un indice sorted mi permette di cercare triple per S, SP o SPO

11/12/2018 12 RDF Storage key-value database - graph Modello di dati chiave/valore Anziché ragionale in termini "relazionali", uso il (Kaoudi & Manolescu, 2015) key/value store per rappresentare il grafo RDF in termini di liste di adiacenza.

RDF Storage federazione di store centralizzati 11/12/2018 13 Partiziono il dataset RDF tra diversi triple store "tradizionali": Avendo partizionato i nodi del grafo, possono assegnare le triple alla partizione del soggetto (1-hop directed guarantee) ed anche dell'oggetto (1-hop unidirected guarantee) Ciò mi permette di valutare in locale star-pattern (un insieme triple pattern con lo stesso soggetto) Replicando le triple, possono avere n-hop (uni)directed guarantee, la quale aumenta i tipi di graph pattern che si possono valutare in locale

RDF Storage federazione di store centralizzati 11/12/2018 14 La collocazione delle triple può essere guidata anche dall'analisi delle query: Collocando le triple che spesso sono usate insieme per rispondere alle query Un approccio diverso consiste nel partizionamento orizzontale delle triple, analizzando come essere sono usate per rispondere alle query.

11/12/2018 15 Relational-style query processing (Kaoudi & Manolescu, 2015)

Relational-style query processing data access 11/12/2018 16 L'accesso ai dati consiste nel valutare un semplice triple pattern (una tripla le cui componenti possono essere variabili): Scansione degli opportuni file nel DFS (es. nel caso del vertical partitioning, se la proprietà è ground si può scansionare soltanto la VP di quella proprietà) Lookup in un key-value store usando la chiave opportuna (come abbiamo visto dipende dal tipo di indicizzazione) Sottomissione di una query ad un triple store federato

Relational-style query processing join con MapRed Select?y?z WHERE {?x :type :artist.?x :paints?y.?y :exhibited?z.?z :located :paris. } Left-deep query plan (Rohloff & Schantz, 2010) (Kaoudi & Manolescu, 2015) 11/12/2018 17

Relational-style query processing join con MapRed 11/12/2018 18 Select?y?z WHERE {?x :type :artist.?x :paints?y.?y :exhibited?z.?z :located :paris. } Bushy query plan che sfrutta inter-operator parallelism (Kaoudi & Manolescu, 2015)

Relational-style query processing join fuori da MapRed 11/12/2018 19 Client-side join Tipico dei sistemi che usano key-value store per la persistenza che non supportano la join Distributed query plan Tipico dei sistemi federati, in cui la query viene suddivisa in frammenti eseguiti localmente in ciascun nodo, mentre i risultati parziali sono combinati nel coordinatore

Relational-style query processing graph style 11/12/2018 20 Le query sono valutate attraverso un meccanismo di attraversamento dei grafi, che tipicamente richiede la presenza di un soggetto o di un oggetto ground.

11/12/2018 21 Reasoning Tre tipologie di approcci: Materializzazione della chiusura delle implicazioni logiche Riscrittura delle query Ibridi

11/12/2018 22 Reasoning Tre tipologie di approcci: Materializzazione della chiusura delle implicazioni logiche Riscrittura delle query Ibridi

11/12/2018 23 Minimal RDFS Se ci sono due antecedenti, essi hanno una variabile in comune Alcune regole possono usare le inferenze prodotte da altre regole necessità di ordinare l'applicazione delle regole per minimizzare le iterazioni

11/12/2018 24 Reasoning with Map Reduce (Kaoudi & Manolescu, 2015) (Kaoudi & Manolescu, 2015)

11/12/2018 25 Un'altra classificazione basata su Spark (Agathangelos et al., 2018)

11/12/2018 26 Un'altra classificazione basata su Spark (Agathangelos et al., 2018) Il punto è se vediamo un dataset come un insieme di triple, oppure come un grafo. Cio si rifletterà nella scelta di diverse API: Triple model RDD, DataFrame Graph model GraphX

11/12/2018 27 RDF Processing con Spark Gli RDD, i DataFrame e SparkSQL ci offrono un'api per cui è relativamente facile esprime una query SPARQL. Quando usiamo GraphX, le query sono valutate mediante algoritmi iterativi: Ciascun nodo deve determinare la validità di una soluzione parziale dal proprio punto di vista Tramite scambio di messaggi si propagano le soluzioni parziali e si giunge Si converge verso le soluzioni

11/12/2018 28 Riferimenti Agathangelos, G., Troullinou, G., Kondylakis, H., Stefanidis, K., & Plexousakis, D. (2018). RDF Query Answering Using Apache Spark: Review and Assessment. In IEEE ICDE. Kaoudi, Z., & Manolescu, I. (2015). RDF in the clouds: a survey. The VLDB Journal The International Journal on Very Large Data Bases, 24(1), 67-91. Rohloff, K., & Schantz, R. E. (2010, October). High-performance, massively scalable distributed systems using the MapReduce software framework: the SHARD triplestore. In Programming support innovations for emerging distributed applications (p. 4). ACM. Urbani, J., Kotoulas, S., Oren, E., & Van Harmelen, F. (2009, October). Scalable distributed reasoning using mapreduce. In International Semantic Web Conference (pp. 634-649). Springer, Berlin, Heidelberg.