big data semantic web: rdf information retrieval map reduce: massiv parallele verarbeitung...

77
Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken

Upload: wilhelmina-dornfeld

Post on 06-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Big Data

• Semantic Web: RDF• Information Retrieval• Map Reduce: Massiv parallele Verarbeitung• Datenströme• Peer to Peer Informationssysteme• No SQL Systeme

• Multi-Tenancy/Cloud-Datenbanken

Page 2: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme
Page 3: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Semantic Web: Resource Description Framework (RDF)

Triple-Datenmodell

(Subjekt, Prädikat, Objekt)

Meist graphische Visualisierung Subjekte und Objekte sind KnotenPrädikate sind gerichtete Kanten

Von Subjekt-Knoten nach Objekt Knoten

Page 4: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Beispiel-RDF-Graph

Page 5: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Textuelle Darstellung des Graphen

Page 6: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Kurzform

Page 7: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Namenlose Knoten

Page 8: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Graph mit unbenannten Knoten

Page 9: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF AnfragespracheSELECT ?Var1 ?Var2 … $VarNWHERE {Muster1. Muster2. … MusterM. }

PREFIX ex: <http://www.example.org>

SELECT ?AutorenDesOldenbourgVerlags WHERE{ ?buch ex:Autor ?a. ?a ex:NachName ?AutorenDesOldenbourgVerlags. ?buch ex:verlegtBei

<http://oldenbourg-verlag.de/wissenschaftsverlag>.}

Page 10: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF AnfragesprachePREFIX ex: <http://www.example.org>

SELECT ?KempersBuecherTitel WHERE{ ?KempersBuecher ex:Autor ?k. ?k ex:NachName "Kemper". ?KempersBuecher ex:Titel ?KempersBuecherTitel.}

Page 11: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF AnfragespracheUnionPREFIX ex: <http://www.example.org>

SELECT ?KempersOderEicklersBuecherTitel WHERE{ { ?KempersBuecher ex:Autor ?k. ?k ex:NachName "Kemper". ?KempersBuecher ex:Titel ?

KempersOderEicklersBuecherTitel. } UNION { ?EicklersBuecher ex:Autor ?k. ?k ex:NachName "Eickler". ?EicklersBuecher ex:Titel ?

KempersOderEicklersBuecherTitel.} }

Page 12: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF AnfragespracheoptionalPREFIX ex: <http://www.example.org>

SELECT ?KempersBuecherTitel ?KempersBuecherISBN WHERE

{ ?KempersBuecher ex:Autor ?k. ?k ex:NachName "Kemper". ?KempersBuecher ex:Titel ?KempersBuecherTitel. OPTIONAL { ?KempersBuecher ex:hatISBN ?

KempersBuecherISBN }}

Page 13: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF Anfragesprachefilter

Page 14: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

SPARQL: Die RDF Anfragesprachecount-AggregationPREFIX ex: <http://www.example.org>

SELECT COUNT ?verlag WHERE{ ?buch ex:verlegtBei ?verlag.}

Für SQL-affine Leser ist diese Anfrage etwas gewöhnungsbedürftig, da man ja in der Tat die Bücher zählen will. Die SPARQL-Formulierung zielt aber darauf ab, die Anzahl der Vorkommnisse des Musters „?buch ex:verlegtBei ?verlag“ für jeden ?verlag zu zählen.

Page 15: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme
Page 16: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Implementierung einer RDF-Datenbank: RDF-3X

Page 17: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

B-Bäume … so viele wie möglich

Page 18: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Kompressionstechnik: Dictionary und Präfix Jedes Tripel $(s,p,o)$ wird also genau 6 mal repliziert

abgelegt -- allerdings in permutierter Subjekt/Prädikat/Objekt-Reihenfolge, nämlich $(p,s,o)$, $(s,p,o)$, $(p,o,s)$, $(o,s,p)$, $(s,o,p)$

und $(o,p,s)$. Zusätzlich gibt es noch die sogenannten aggregierten

Indexe, die die Anzahl der Vorkommen des jeweiligen Musters repräsentieren. Zum Beispiel bedeutet der Eintrag $(s,o,7)$, dass das Subjekt s siebenmal mit dem Objekt o in einer Beziehung steht -- mit beliebigem Prädikat.

Das Speichervolumen wird dadurch (dramatisch) reduziert, dass man in den Blättern der Bäume eine Präfix-Komprimierung durchführt. Z.B. wird in dem zweiten Eintrag des SPO-Baums das Subjekt 0 weggelassen, da es identisch zum ersten Eintrag ist. In dem vierten Eintrag kann sogar die Subjekt- und die Prädikat-Kennung weggelassen werden, da beide identisch zum dritten Eintrag sind

Page 19: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Kompressionstechnik: Dictionary und Präfix Es werden aber nicht nur gleiche Präfixe weggelassen;

zusätzlich wird auch anstatt des jeweiligen Codes nur die Differenz zum Code des Vorgänger-Tripels gespeichert. Der letzte Eintrag im SPO-Baum würde demnach als (-,1,1) gespeichert, da er in der ersten Komponente identisch zum Vorgänger-Tripel ist, in der zweiten und dritten Komponente ist die Differenz zum Vorgänger-Tripel jeweils 1.

Diese Kompression ist sehr effektiv, da die Tripel in den Blattknoten ja fortlaufend sortiert sind und sich deshalb immer nur geringfügig vom Vorgänger-Tripel unterscheiden.

Als Anker für diese Differenz-Kompression wird auf jeder Blatt-Seite immer nur ein vollständiges Tripel, nämlich das Erste, gespeichert.

Page 20: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

AnfrageauswertungPREFIX ex: <http://www.example.org>

SELECT REDUCED ?AutorenDesOldenbourgVerlags WHERE{ ?buch ex:Autor ?a. ?a ex:NachName ?AutorenDesOldenbourgVerlags. ?buch ex:verlegtBei

<http://oldenbourg-verlag.de/wissenschaftsverlag>.}

SELECT REDUCED ?AutorenDesOldenbourgVerlags WHERE{ ?buch 7 ?a. ?a 11 ?AutorenDesOldenbourgVerlags. ?buch 3 4.}

Dict-Lookup

Page 21: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Merge-Joins … so weit das Auge reicht …

Page 22: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Datenströme

Page 23: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Datenbank versus Datenstrom

Page 24: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Beispiel-Datenstrom

Page 25: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Datenstrom-Definition und einfache Anfrage

Page 26: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Subskriptions-Anfrage

Page 27: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Prädikat-Index

Page 28: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Bereichsanfrage

Page 29: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

R-Baum-Index

Page 30: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Fenster-Anfrage

Page 31: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Auswertung: Short Auctions

Page 32: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Sliding Windows

Page 33: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Überlappende Fenster

Page 34: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Hot Items-Anfrage

Page 35: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Auswertung: Hot Item

Page 36: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Information Retrieval Informationsexplosion im Internet

Ranking von Dokumenten um relevante Information zu finden

Ähnlichkeit von Dokumenten (Dissertationen) zu erkennen

Page 37: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

TF-IDF: Term Frequency – Inverse Document Frequency

Page 38: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Relevanz-Ranking am Beispiel

Page 39: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Relevanz-Ranking am Beispiel

Page 40: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Invertierte Indexierung

Page 41: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Page Rank: Grundidee

Page 42: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Page Rank: Grundidee

Page 43: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Mathematisches Modell des PageRank

Page 44: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Mathematisches Modell des PageRank: unser Beispiel

Page 45: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Konvergenz und Dämpfung

Page 46: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

PageRank für größeren Graph [aus Wikipedia]

Page 47: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

HITS-Algorithmus: Hubs und Autoritäten

Page 48: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

HITS-Algorithmus: Hubs und Autoritäten

Page 49: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Relationale HITS-Modellierung

Page 50: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Algorithmus

Page 51: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Algorithmus … in SQL

Page 52: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Map Reduce

Page 53: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Join mit Map Reduce

Page 54: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Verbesserung nach Ullman

Page 55: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Map Reduce Skripsprache: PigLatin

Page 56: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Auswertung des HITS Algorithmus

Page 57: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Peer to Peer-Informationssysteme Seti@Home

P2P number crunching

NapsterP2P file sharing / Informationsmanagement

57

Page 58: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Napster-Architektur

58

Page 59: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Gnutella-Architektur

59

Page 60: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

DHT: Distributed Hash Table Basieren auf „consistent hashing“

Vollständige Dezentralisierung der Kontrolle

Dennoch zielgerichtete Suche

60

Page 61: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

CHORD

61

Page 62: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

CAN

62

Page 63: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

No-SQL Datenbanken Internet-scale Skalierbarkeit CAP-Theorem: nur 2 von 3 Wünschen erfüllbar

Konsistenz (Consistency)Zuverläassigkeit/Verfügbarkeit (Availability)Partitionierungs-Toleranz

No-SQL Datenbanksysteme verteilen die Last innerhalb eines Clusters/NetzwerksDabei kommen oft DHT-Techniken zum Einsatz

63

Page 64: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Schnittstelle der No-SQL Datenbanken Insert(k,v) Lookup(k) Delete(k)

Extrem einfach effizient Aber: wer macht denn die Joins/Selektionen/…

das Anwendungsprogramm

64

Page 65: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Konsistenzmodell: CAP

Relaxiertes KonsistenzmodellReplizierte Daten haben nicht alle den neuesten

ZustandVermeidung des (teuren) Zwei-Phasen-Commit-Protokolls

Transaktionen könnten veraltete Daten zu lesen bekommen

Eventual ConsistencyWürde man das System anhalten, würden alle Kopien

irgendwann (also eventually) in denselben Zustand übergehen

Read your Writes-GarantieTx leist auf jeden Fall ihre eigenen Änderungen

Monotonic Read-GarantieTx würde beim wiederholten Lesen keinen älteren Zustand

als den vorher mal sichtbaren lesen 65

Page 66: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Systeme MongoDB Cassandra Dynamo BigTable Hstore SimpleDB S3

66

Page 67: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme
Page 68: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Multi-Tenancy / Cloud-Datenbanken

Page 69: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Multi-Tenancy Datenbankarchitekturen

Page 70: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Shared Tables

Page 71: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Private Relationen

Page 72: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Erweiterungs-Relationen

Page 73: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Universal Relation

Page 74: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Zerlegung: Pivot-Relationen

Page 75: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Ballung logisch verwandter Werte: Chunk Tables

Page 76: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

Key/Value-Store

Page 77: Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme

XML-basiertes Schema