Gestione di Big RDF Data

Documenti analoghi
Basi di Dati e Sistemi Informativi. Database NoSQL. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Alla scoperta dei Graph Database

Tutorial: come ti faccio una app sugli opendata

Comunicazione Digitale

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Indice. Ringraziamenti dell Editore

CAPITOLO V. DATABASE: Il modello relazionale

NoSQL nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A.

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Elaborazione dati parallela con map/reduce. Roberto Congiu

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

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

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Open data nella pubblica amministrazione italiana: l esperienza del Comune di Firenze TRADUZIONE

Linee di evoluzione dei Database

Processi, Threads e Agenti

Big Data. Davide Giarolo

SEWASIE. Bologna, 26 Aprile, Domenico Beneventano Sonia Bergamaschi DBGroup Università di Modena e Reggio Emilia

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

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

Rapporto dei test della KB, sottosistema validato Deliverable Versione 0.3 Data 06/06/2014

Analisi dei dati attraverso sistemi Open Source. Aka Hadoop

Introduzione al mondo della persistenza. Dott. Doria Mauro

Indice Prefazione SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Algoritmi per protocolli peer-to-peer

Fondamenti di Internet e Reti

Mining Positive and Negative Association Rules:

ANALISI E VALUTAZIONE DELLA PIATTAFORMA SPARK

Big ed Open Data, nosql e..

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino

SISTEMI OPERATIVI DISTRIBUITI

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

"_id": "555ae00a475a9b259281b21a", "name": "Nicola Galgano", "alias": "alikon", "gender": "maschile", "work": consulente software bancario",

Basi di Dati. prof. Letizia Tanca. Le transazioni e il database server, cenni sui nuovi sistemi per Big Data

2.2 Scheduling in Linux

Operazioni sui database

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

DB NoSQL Analisi prestazionale

Analytical and simulation performance models for software system analysis and prediction

I database relazionali (Access)

django-rdflib e PostgreSQL il meglio dei due mondi

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Flash talk: Wide Area Swift

TSP con eliminazione di sottocicli

Diego GUENZI Rodolfo BORASO

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA

Peer to Peer non solo file sharing

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

SQL, NoSQL, o entrambi?

Università degli Studi di Genova. Corso di Laurea in Ingegneria Elettronica

Big Data Tecnologie, metodologie per l analisi di dati massivi Seminario ISCOM

OpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti

Algoritmi per protocolli peer-to-peer

Big Query, nosql e Big Data

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

OPK Suite. Menci Software. Caratteristiche generali. febbraio 2015

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Big Data e Calcolo Parallelo

Progettazione concettuale

Esercitazione 3: progettazione logica. Sistemi Informativi L-B. Home Page del corso:

User Tools: DataBase Manager

A A Design Tool to Develop Agent-Based Workflow Management Systems

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Basi di Dati Graph Database MARCO DE MASI matr. N

Ci sono 3 principali tipi di P2P:

Caratteristiche principali. Contesti di utilizzo

PROGETTO DEFINITIVO. Committente: Comune di IGLESIAS Data: Pag. 1 di Indice 1. INDICE KEY MAP DOCUMENTAZIONE FOTOGRAFICA...

Internet (- working). Le basi.

rchinizer il protocollo informatico obiettivi e strategie dott. michele bianchi

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

CdL MAGISTRALE in INFORMATICA

Distributed P2P Data Mining. Autore: Elia Gaglio (matricola n ) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo

Cloud Simulator and Smart Cloud based on Knowledge Base

PAGE: una infrastruttura distribuita per promuovere l interoperabilità basata su RDF

Sommario. HTML e CSS I fogli di stile. cosa sono principali proprietà

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

Aggregatore di Open Data del territorio fiorentino e toscano

CORSO I.F.T.S TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

NEWS. Prossimi eventi: IL BOSCO IN MUSICA 2015!!!

Indice generale. Introduzione...xiii. Gli autori...xvii. I revisori...xix

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Programmazione Java Avanzata

Indice. Che problemi risolve Lucene Consigli di integrazione Soluzioni scalabili. Javaday IV Roma 30 gennaio 2010

P2P IN DATACENTERS: AMAZON DYNAMO

DANIEL EKLUND CAPIRE I BIG DATA E LA TECNOLOGIA HADOOP ROMA 2-3 NOVEMBRE 2015 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Linguaggi per basi di dati

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Java Native Interface Appunti

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi informativi territoriali

Università degli Studi di Bologna Bologna, 12/12/2002 Corso di Laurea In Informatica. Alessandro Valenti. Sessione II

Marketing Elettronico e Diretto

DATABASE PER IL WEB. Programmazione Web 1

Architettura di storage

Transcript:

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

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

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

4 RDF Storage (Kaoudi & Manolescu, 2015)

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

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

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

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

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

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 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

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 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-patterns (triple pattern con lo stesso soggetto) Replicando le triple, possono avere n-hop (uni)directed guarantee, la quale aumenta il tipo di graph pattern che possono valutare in locale

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

15 Relational-style query processing (Kaoudi & Manolescu, 2015)

Relational-style query processing data access 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 opportune (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) 17

Relational-style query processing join con MapRed 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 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 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.

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

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

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

24 Reasoning with Map Reduce (Kaoudi & Manolescu, 2015) (Kaoudi & Manolescu, 2015)

25 Un'altra classificazione basata su Spark (Agathangelos et al., 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

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