Top Banner
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
77

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

Apr 06, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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