big data -  · big data • semantic web: rdf • information retrieval • map reduce: massiv...

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

Post on 26-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme
Page 3: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Semantic Web: Resource Description Framework (RDF)

 Triple-Datenmodell

 (Subjekt, Prädikat, Objekt)

 Meist graphische Visualisierung  Subjekte und Objekte sind Knoten  Prädikate sind gerichtete Kanten

 Von Subjekt-Knoten nach Objekt Knoten

Page 4: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Beispiel-RDF-Graph

Page 5: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Textuelle Darstellung des Graphen

Page 6: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Kurzform

Page 7: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Namenlose Knoten

Page 8: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Graph mit unbenannten Knoten

Page 9: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache SELECT ?Var1 ?Var2 … $VarN WHERE {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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache PREFIX ex: <http://www.example.org> SELECT ?KempersBuecherTitel WHERE { ?KempersBuecher ex:Autor ?k. ?k ex:NachName "Kemper". ?KempersBuecher ex:Titel ?KempersBuecherTitel. }

Page 11: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache Union PREFIX 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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache optional PREFIX 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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache filter

Page 14: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

SPARQL: Die RDF Anfragesprache count-Aggregation PREFIX 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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme
Page 16: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Implementierung einer RDF-Datenbank: RDF-3X

Page 17: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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

Page 18: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Anfrageauswertung PREFIX 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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Merge-Joins … so weit das Auge reicht …

Page 22: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Datenströme

Page 23: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Datenbank versus Datenstrom

Page 24: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Beispiel-Datenstrom

Page 25: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Datenstrom-Definition und einfache Anfrage

Page 26: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Subskriptions-Anfrage

Page 27: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Prädikat-Index

Page 28: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Bereichsanfrage

Page 29: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

R-Baum-Index

Page 30: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Fenster-Anfrage

Page 31: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Auswertung: Short Auctions

Page 32: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Sliding Windows

Page 33: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Überlappende Fenster

Page 34: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Hot Items-Anfrage

Page 35: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Auswertung: Hot Item

Page 36: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Information Retrieval  Informationsexplosion im Internet

 Ranking von Dokumenten um relevante Information zu finden

 Ähnlichkeit von Dokumenten (Dissertationen) zu erkennen

Page 37: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

TF-IDF: Term Frequency – Inverse Document Frequency

Page 38: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Relevanz-Ranking am Beispiel

Page 39: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Relevanz-Ranking am Beispiel

Page 40: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Invertierte Indexierung

Page 41: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Page Rank: Grundidee

Page 42: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Page Rank: Grundidee

Page 43: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Mathematisches Modell des PageRank

Page 44: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Mathematisches Modell des PageRank: unser Beispiel

Page 45: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Konvergenz und Dämpfung

Page 46: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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

Page 47: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

HITS-Algorithmus: Hubs und Autoritäten

Page 48: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

HITS-Algorithmus: Hubs und Autoritäten

Page 49: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Relationale HITS-Modellierung

Page 50: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Algorithmus

Page 51: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Algorithmus … in SQL

Page 52: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Map Reduce

Page 53: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Join mit Map Reduce

Page 54: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Verbesserung nach Ullman

Page 55: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Map Reduce Skripsprache: PigLatin

Page 56: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Auswertung des HITS Algorithmus

Page 57: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Peer to Peer-Informationssysteme  Seti@Home

 P2P number crunching

 Napster  P2P file sharing / Informationsmanagement

57

Page 58: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Napster-Architektur

58

Page 59: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Gnutella-Architektur

59

Page 60: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

DHT: Distributed Hash Table  Basieren auf „consistent hashing“

 Vollständige Dezentralisierung der Kontrolle

 Dennoch zielgerichtete Suche

60

Page 61: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

CHORD

61

Page 62: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

CAN

62

Page 63: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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/Netzwerks  Dabei kommen oft DHT-Techniken zum Einsatz

63

Page 64: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

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 -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Konsistenzmodell: CAP

 Relaxiertes Konsistenzmodell  Replizierte Daten haben nicht alle den neuesten Zustand

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

 Transaktionen könnten veraltete Daten zu lesen bekommen  Eventual Consistency

 Würde man das System anhalten, würden alle Kopien irgendwann (also eventually) in denselben Zustand übergehen

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

 Monotonic Read-Garantie  Tx würde beim wiederholten Lesen keinen älteren Zustand als den

vorher mal sichtbaren lesen

65

Page 66: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Systeme  MongoDB  Cassandra  Dynamo  BigTable  Hstore  SimpleDB  S3

66

Page 67: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme
Page 68: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Multi-Tenancy / Cloud-Datenbanken

Page 69: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Multi-Tenancy Datenbankarchitekturen

Page 70: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Shared Tables

Page 71: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Private Relationen

Page 72: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Erweiterungs-Relationen

Page 73: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Universal Relation

Page 74: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Zerlegung: Pivot-Relationen

Page 75: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Ballung logisch verwandter Werte: Chunk Tables

Page 76: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

Key/Value-Store

Page 77: Big Data -  · Big Data • Semantic Web: RDF • Information Retrieval • Map Reduce: Massiv parallele Verarbeitung • Datenströme • Peer to Peer Informationssysteme

XML-basiertes Schema