8. Big Data und NoSQL-Datenbanken

Werbung
8. Big Data und NoSQL-Datenbanken
 Motivation
Big Data
– Wachsende Mengen und Vielfalt an Daten
– Herausforderungen
 Systemarchitekturen
für Big Data Analytics
– Analyse-Pipeline, Near-Real-Time Data Warehouses
– Hadoop, MapReduce
 Eigenschaften
von NoSQL-Datenbanken
 Key Value Stores
 Document Stores
 Graph-Datenbanken
SS13, © Prof. Dr. E. Rahm
8- 1
DBS 2
Rapide steigende Datenvolumina






zunehmende Digitalisierung von Inhalten (Bücher, Kataster, …)
Web und soziale Netze
wachsende Datenmengen in der Wissenschaften (e-Science), z.B.
in Klimaforschung, Experimentalphysik, Lebenswissenschaften
und Sozialwissenschaften (Digital Humanities)
eingebettete Systeme mit digitalen Mess- und Steuersystemen
auch in Alltagsgegenständen
Unternehmensprozesse: zahlreiche Geschäftsvorfälle
Kommunikation und umfassender Datenaustausch
SS13, © Prof. Dr. E. Rahm
8- 2
DBS 2
Wie groß ist Big Data?
 Big wandelt sich schnell
– Gigabytes, Terabytes (1012)
– Petabytes (1015), Exabytes (1018), Zettabytes (1021),……

ca 1.8 ZB wurden in 2011 erzeugt; ~8 ZB in 2015
D
E
a
x
t
a
a
b
y
s
t
i
e
z
s
e
Source: IDC’s Digital Universe study, sponsored by EMC, June 2011
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 3
Datenproduzenten:
Soziale Netze, Smartphones, Sensoren …
30 billion RFID
tags today
(1.3B in 2005)
12+ TBs
of tweet data
every day
4.6
billion
camera
phones world
wide
? TBs of
data every day
100s of
millions of
GPS
enabled
devices sold
annually
25+ TBs of
log data every
day
2+
billion
76 million smart meters
people on
the Web by
end 2011
in 2009…
200M by 2014
SS13, © Prof. Dr. E. Rahm
8- 4
DBS 2
Stark zunehmende Erfassung von Daten

Gartner:
– pro Tag werden 2.5 Exabytes an Daten generiert
– 90% aller Daten weltweit wurden in den 2 letzten Jahren erzeugt.
SS13, © Prof. Dr. E. Rahm
8- 5
DBS 2
Big Data Challenges (3-4 V’s)
Volume
Skalierbarkeit von Terabytes
nach Petabytes (1K TBs) bis
Zetabytes (1 Milliarde TBs)
Velocity:
Batch, Near-Realtime,
Streaming
Variety
variierende Komplexität:
strukturiert, teilstrukturiert, Text
Veracity:
Vertrauenswürdigkeit
SS13, © Prof. Dr. E. Rahm
8- 6
DBS 2
Potentiale für Big Data-Technologien
 Daten
sind Produktionsfaktor ähnlich Betriebsmitteln und
Beschäftigten
 Essentiell für viele Branchen und Wissenschaftsbereiche
 Valide Grundlage für zahlreche Entscheidungsprozesse
– Vorhersage/Bewertung/Kausalität von Ereignissen
 Echtzeitanalyse
von Masse an Roh- und Simulationsdaten
 Kurzfristige Analysen von Realdaten im Geschäftsleben
SS13, © Prof. Dr. E. Rahm
8- 7
DBS 2
NSA-Datenzentrum Utah

geplante Eröffnung: Sep. 2013
 Speicherkapazität: viele Zettabytes
 Baukosten: ca 1,2 Mrd $
SS13, © Prof. Dr. E. Rahm
8- 8
DBS 2
Anwendungsdomänen für
Big Data Analytics
Smarter Healthcare
Multi-channel sales
Finance
Log Analysis
Homeland Security
Traffic Control
Telecom
Search Quality
Fraud and Risk
Retail: Churn, NBO
Manufacturing
SS13, © Prof. Dr. E. Rahm
Trading Analytics
8- 9
DBS 2
Big Data Analyse-Pipeline
Quelle: Agrawal et al: Big Data: Challenges and Opportunities, 2011
SS13, © Prof. Dr. E. Rahm
8- 10
DBS 2
Near-Realtime Data Warehouses
S. Chaudhuri et al, CACM, Aug. 2011

kontinuierliche Datenintegration zur höheren Datenaktualität
 Event-Verarbeitung für sofortige Auslösung von operativen Aktionen
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 11
Complex Event Processing
S. Chaudhuri et al, CACM, Aug. 2011
SS13, © Prof. Dr. E. Rahm
8- 12
DBS 2
Technologie-Trends


Massiv skalierbare Cloud-Architekturen
Frameworks zur automatischen Parallelisierung datenintensiver
Aufgaben (MapReduce / Hadoop)

Parallelverarbeitung auf unterschiedlichen Stufen
– Data Center (Cluster)
– Multi-core server
– Spezialprozessoren: GPUs /FPGAs

In-Memory Datenbanken / Data Warehouses
– Column Stores (statt Record Stores)

schnellere Externspeicher (SSD)
SS13, © Prof. Dr. E. Rahm
8- 13
DBS 2
MapReduce

Framework zur automatischen Parallelisierung von Auswertungen auf
großen Datenmengen
– Entwicklung bei Google
– Populäre Open-Source-Implementierung: Hadoop

Nutzung v.a. zur Verarbeitung riesiger Mengen teilstrukturierter Daten in
einem verteilten Dateisystem
– Konstruktion Suchmaschinenindex
– Clusterung von News-Artikeln
– Spam-Erkennung …
SS13, © Prof. Dr. E. Rahm
8- 14
DBS 2
MapReduce


Verwendung zweier Funktionen: Map und Reduce
Map-Anwendung pro Eingabeobjekt zur Erzeugung von Key-value Paaren
– Jedes Key-Value-Paar wird einem Reduce-Task zugeordnet

Reduce-Anwendung für jede Objektgruppe mit gleichem Key
Reduce Phase
Grouping
Grouping
Partitioning
Grouping
Map Phase
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 15
MR-Beispiel: Generierung Text-Index
hamlet.txt
to be or
not to be
12th.txt
be not
afraid of
greatness
SS13, © Prof. Dr. E. Rahm
to, hamlet.txt
be, hamlet.txt
or, hamlet.txt
not, hamlet.txt
afraid, (12th.txt)
be, (12th.txt, hamlet.txt)
greatness, (12th.txt)
not, (12th.txt, hamlet.txt)
of, (12th.txt)
or, (hamlet.txt)
to, (hamlet.txt)
be, 12th.txt
not, 12th.txt
afraid, 12th.txt
of, 12th.txt
greatness, 12th.txt
8- 16
DBS 2
NoSQL-Datenbanken
SS13, © Prof. Dr. E. Rahm
8- 17
DBS 2
Relationale Datenbanken
universelle Verbreitung und auf absehbare Zeit ungefährdet für die
meisten DB-Anwendungen

SQL = mächtige, deklarative Query-Sprache
– Standardisierung
– Breite Programmierunterstützung (JDBC, Hibernate, …)




ACID
Reife Technologie
Automatische Parallelisierung
…
SS13, © Prof. Dr. E. Rahm
8- 18
DBS 2
Probleme (objekt-)relationaler Datenbanken

Schema-getrieben
– weniger geeignet für semi-strukturierte Daten
– zu starr für irreguläre Daten, häufige Änderungen

relativ hohe Kosten, v.a. für Parallele DBS (kein Open-Source System)

Skalierbarkeitsprobleme für Big Data (Web Scale)
– Milliarden von Webseiten
– Milliarden von Nutzern von Websites und sozialen Netzen

ACID / strenge Konsistenz nicht immer erforderlich
SS13, © Prof. Dr. E. Rahm
8- 19
DBS 2
NoSQL-Datenbanken

Definition von www.nosql-database.org
Datenbanken der nächsten Generation de meist
– nicht-relational
– verteilt,
– open-source und
– horizontal (auf große Datenmengen) skalierbar sind
 Ursprünglicher Fokus: moderne “web-scale” Datenbanken
 Entwicklung seit ca. 2009
 Weitere Charakteristika:
–
–

schema-frei, Datenreplikation, einfache API,
eventually consistent / BASE (statt ACID)
Zunehmende Koexistenz mit SQL
–
“NoSql" wird als “Not only Sql“ interpretiert
SS13, © Prof. Dr. E. Rahm
8- 20
DBS 2
Arten von NoSQL-Systemen

Key Value Stores
– Amazon Dynamo, Voldemort, Membase, Redis …
– Speicherung eines Werts (z.B. BLOB) pro nutzer-definiertem Schlüssel
bzw. Speicherung von Attribut/Wert-Paaren
– nur einfache key-basierte Lookup/Änderungs-Zugriffe (get, put)

Erweiterte Record-Stores / Wide Column Store
– Google BigData / Hbase, Hypertable, Cassandra …
– Tabellen-basierte Speicherung mit flexibler Erweiterung um neue
Attribute

Dokument-Datenbanken
– CouchDB, MongoDB …
– Speicherung semistrukturierter Daten als Dokument (z.B. JSON)

Graph-Datenbanken
– Neo4J, OrientDB …
– Speicherung / Auswertung großer Graph-Strukturen
SS13, © Prof. Dr. E. Rahm
8- 21
DBS 2
Grobeinordnung NoSQL-Systeme
SS13, © Prof. Dr. E. Rahm
8- 22
DBS 2
Key-Value Stores

Speicherung von Schlüssel-Werte-Paare
– im einfachsten Fall bleiben Werte systemseitig uninterpretiert (BLOBs)
– flexibel, kein Schema
– günstig für wenig strukturierte Inhalte bzw stark variable Inhalte, z.B. TwitterNachrichten, Webseiten etc.
– keine Verwaltung von Beziehungen

schnelle Lese/Schreibzugriffe über Schlüssel
– put (key, value)
– get (key)

keine komplexen Queries (z.B. Bereichsabfragen)
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 23
Spaltenorientierte Key-Value Stores

Vorbild: Google BigTable
– Clones: Hbase, Cassandra, …

Ziele (BigTable):
– Milliarden von Zeilen, Millionen von Spalten, Versionierung (z.B. für Web-Seiten)
– einfache Erweiterbarkeit um Spalten (innerhalb vordefinierter Spaltenfamilien)
– Mehrdimensionale Keys: Zeilen- und Spalten-Schlüssel, Versionsnr
Row Key
“com.cnn.www”
SS13, © Prof. Dr. E. Rahm
Time Stamp
Column contents
Column Family anchor
T9
anchor:cnnsi.com
CNN
T8
anchor:my.look.ca
CNN.COM
T6
“<html>.. “
T5
“<html>.. “
8- 24
DBS 2
Spaltenorientierte Key-Value Stores (2)

Weiteres Beispiel

Hochskalierbar, replizierte Speicherung
 Einfache Get/Put-Operationen mit schnellen Zugriffszeiten (Hashing)
SS13, © Prof. Dr. E. Rahm
25
8- 25
DBS 2
Dokumenten-Datenbanken

Schemalose Speicherung von Dokumenten, v.a. im JSON-Format
 JSON (JavaScript Object Notation)
– geschachtelte Objekt-Notation
– Datentypen: String, Zahl, Array [...], Boolean, Nullwert
– Objekt { ….} umfasst Menge von Key-Value (Attribut/Wert-) Paaren

JSON einfacher als XML, leicht lesbar / schreibbar
 Beispiel (JSON vs. XML)
{
"Herausgeber": "Mastercard",
"Nummer": "1234-5678-9012-3456",
"Währung": "EURO",
"Inhaber": {
"Name": "Mustermann",
"Vorname": "Max",
"männlich": true,
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
"Kinder": [],
"Partner": null
}
}
SS13, © Prof. Dr. E. Rahm
8- 26
<Kreditkarte Herausgeber="Mastercard"
Nummer="1234-5678-9012-3456"
Waehrung="EURO">
<Inhaber Name="Mustermann" Vorname="Max"
maennlich=true Partner="null">
<Hobbys>
<Hobby>Reiten</Hobby>
<Hobby>Golfen</Hobby>
<Hobby>Lesen</Hobby>
</Hobbys>
<Kinder />
</Inhaber>
</Kreditkarte>
DBS 2
MongoDB

zunehmend Verbreitung findender Dokumenten-Store
– Fa. 10 Gen; open source-Version verfügbar
– JSON-Dokumente, gespeichert als BSON
(Binary JSON)

DB besteht aus Kollektionen von Dokumenten
 Einfache Anfragesprache
– Indexierung von Attributen möglich
– Map/Reduce-Unterstützung

Skalierbarkeit und Fehlertoleranz
– Skalierbarkeit durch horizontale Partitionierung
der Dokumentenkollektionen unter vielen Knoten
(“Sharding”)
– Automatische Replikation mit Konsistenzwahrung

kein ACID, z.B bzgl Synchronisation
– Änderungen nur bzgl einzelner Dokumente atomar
SS13, © Prof. Dr. E. Rahm
8- 27
DBS 2
Beispiel: relational vs. dokumentenorientiert

Keine Beziehungen zwischen Dokumenten (-> keine Joins) sondern
geschachtelte Komponenten (ähnlich NF2, jedoch ohne Schemazwang)
– Redundanz bei n:m-Beziehungen
SS13, © Prof. Dr. E. Rahm
8- 28
DBS 2
MongoDB: Operationen

Beispiele:
SS13, © Prof. Dr. E. Rahm
8- 29
DBS 2
MongoDB: Operationen (2)
SS13, © Prof. Dr. E. Rahm
8- 30
DBS 2
MapReduce mit MongoDB
SS13, © Prof. Dr. E. Rahm
8- 31
DBS 2
Graph-Datenbanken

Bessere Unterstützung stark vernetzter Daten als mit Relationenmodell
– Soziale Netzwerke
– Protein-Netzwerke
– stark vernetzte Webdaten / Unternehmensdaten / …

Graph-Verwaltung im Relationenmodell oft nicht ausreichend schnell
– viele Tabellen, viele Joins
– langsame Traversierung von Kanten
– langsame Umsetzung von Graph-Algorithmen

Graph-Datenbanken
– Graph-Datenmodell mit Gleichbehandlung von Entities und Relationships
– Graph-Anfragesprachen
– Optimierte Graph-Operationen (z.B. finde „friends of friends“)
SS13, © Prof. Dr. E. Rahm
8- 32
DBS 2
Klassisches Graph-Problem

Brückenproblem von Königsberg (L. Euler, 1735)
 Gibt es einen Rundgang durch die Stadt, in dem jede der sieben Brücken
genau einmal passiert wird?
SS13, © Prof. Dr. E. Rahm
8- 33
DBS 2
Neo4J

Native Graph-Datenbank von Neo Technology
–
–
–
–

Community Edition (open-source) + kommerzielle Varianten
in Java realisiert , Unterstützung weiterer Sprachen (Ruby, Python)
ACID-Unterstützung
Skalierbarkeit durch Datenreplikation
Zentrale Datenstruktur: Property-Graphen
–
–
–
–
Knoten/Kanten haben einen Typ (Label)
Knoten und Kanten können Properties haben
Property: Key-Value-Paar (Key ist vom Typ String)
Gerichtete Kanten
SS13, © Prof. Dr. E. Rahm
8- 34
DBS 2
Property-Graphen

Mehrere, gerichtete Kanten
zwischen zwei Knoten möglich
(gerichteter „Multigraph“)
– Labels für Knoten/Kanten
– Properties für Knoten/Kanten

Konstanter Aufwand zur Traversierung zu
Nachbarknoten (statt Join im RM)
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 35
API-Datenzugriff
Transaction tx = graphDB.beginTx();
bob = graphDB.createNode();
bob.setProperty(“name”, “Bob”);
name:Bob
name:Alice
alice = graphDB.createNode();
alice.setProperty(“name”, “Alice”);
LOVES
weight:0.8f
rel = bob.createRelationshipTo(alice, RelType.LOVES);
rel.setProperty(“weight”, 0.8f);
tx.commit();
SS13, © Prof. Dr. E. Rahm
8- 36
DBS 2
Query-Sprache Cypher

Merkmale
–
–
–
–

Pattern Matching
OLTP-artige Lese/Änderungsoperationen
schnelle Traversierungen
ACID-basierte Updates
Klauseln:
SS13, © Prof. Dr. E. Rahm
DBS 2
8- 37
Beispiel 1
Beispiel-Graph
Beispielanfrage (Friend Of Friend)
Ergebnis:
Quelle: Neo4J Tutorial, http://docs.neo4j.org
SS13, © Prof. Dr. E. Rahm
8- 38
DBS 2
Beispiel 2

Finde Personen mit ähnlichen Interessen (Recommendations)
SS13, © Prof. Dr. E. Rahm
8- 39
DBS 2
Zusammenfassung

Big Data Herausforderungen
– Volume, Variety, Velocity, Veracity, …
– Skalierbare Analysen / Machine Learning


Unterschiedliche Architekturen: Cloud/Hadoop-Cluster,
In-Memory Warehouses, CEP Engines
NoSQL
– Auslöser: Webskalierbares Data Management
– Semistrukturierte schemafreie Daten
– Verzicht auf SQL/ACID

Unterschiedliche Systemarten
– Key/Value-Stores, erweiterte Record-Stores (Spaltenfamilien)
– Dokumenten Stores
– Graph-Datenbanken

Hauptproblem: fehlende Standards
SS13, © Prof. Dr. E. Rahm
8- 40
DBS 2
Herunterladen