8. Big Data und NoSQL-Datenbanken
Motivation
Big Data
– wachsende Mengen und Vielfalt an Daten
– Herausforderungen
– Einsatzbereiche
Systemarchitekturen
für Big Data Analytics
– Analyse-Pipeline, Hadoop, MapReduce
NoSQL-Datenbanken
– Eigenschaften
– Document Stores (MongoDB)
– Graph-Datenbanken (neo4J)
Big
Data Kompetenzzentrum ScaDS Dresden/Leipzig
SS14, © Prof. Dr. E. Rahm
8- 1
DBS 2
Big Data
SS14, © 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
SS14, © Prof. Dr. E. Rahm
DBS 2
8- 3
Datenproduzenten:
Web, Soziale Netze, Smartphones, Sensoren …
30 billion RFID
tags today
(1.3B in 2005)
12+ TBs
camera
phones world
wide
100s of
millions of
GPS
enabled
data every day
? TBs of
of tweet data
every day
4.6
billion
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
SS14, © 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.
SS14, © Prof. Dr. E. Rahm
8- 5
DBS 2
Big Data Challenges
VolumeSkalierbarkeit von Terabytes
nach Petabytes (1K TBs) bis
Zettabytes (1 Milliarde TBs)
Variety variierende Komplexität:
strukturiert, teilstrukturiert,
Text / Bild / Video
Velocity:Near-Realtime, Streaming
Veracity: Vertrauenswürdigkeit
Value Erzielen des (wirtschaftl.)
Nutzens durch Analysen
SS14, © Prof. Dr. E. Rahm
8- 6
DBS 2
Potentiale für Big Data-Technologien
Analyse von Website-Navigation
Analyse und Optimierung von Web-Advertizing und
Recommendations
personalisierte Medizin
– auf Basis erfolgter Behandlungen (anonymisiert) in Abhängigekit
klinischer und genetischer Merkmalen
Energieversorgung: Verbrauchsanalysen, Überwachung
Windstrom-Erzeugung …
Industrie 4.0 (“Internet der Dinge”)
Kriminalitätsbekämpfung
– missbräuchliche Kreditkartennutzung
– Fake-Angebote/Plagiate in Auktionsplattformen oder Shops
– unwahre ärztliche Abrechnungen …
SS14, © Prof. Dr. E. Rahm
DBS 2
8- 7
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
SS14, © Prof. Dr. E. Rahm
Trading Analytics
8- 8
DBS 2
Big Data Analyse-Pipeline
Quelle: Agrawal et al: Big Data: Challenges and Opportunities, 2011
SS14, © Prof. Dr. E. Rahm
8- 9
DBS 2
Technologie-Trends
Massiv skalierbare Cloud-Architekturen
– mehrere Daten-Center (Cluster) mit Tausenden von Server-Rechnern und replizierter
Datenhaltung
Frameworks zur automatischen Parallelisierung datenintensiver
Aufgaben
– Hadoop und Ansätze wie Map/Reduce und Pregel/Giraph (parallele Graphverarbeitung)
Nutzung von NoSQL-DBS v.a. für weniger strukturierte Daten
Effizientere SQL-Systeme („NewSQL“)
– In-Memory Datenbanken / Data Warehouses
– Column Stores (statt bzw zusätzlich zu Record Stores)
schnellere Externspeicher (SSD)
SS14, © Prof. Dr. E. Rahm
8- 10
DBS 2
MapReduce
Framework zur automatischen Parallelisierung von Auswertungen auf
großen Datenmengen
– Entwicklung bei Google
– Populäre Open-Source-Implementierung im Rahmen von Hadoop
Nutzung v.a. zur Verarbeitung riesiger Mengen teilstrukturierter Daten in
einem verteilten Dateisystem
– Konstruktion Suchmaschinenindex
– Clusterung von News-Artikeln
– Spam-Erkennung …
SS14, © Prof. Dr. E. Rahm
DBS 2
8- 11
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
SS14, © Prof. Dr. E. Rahm
8- 12
DBS 2
MR-Beispiel: Generierung Text-Index
hamlet.txt
to be or
not to be
12th.txt
be not
afraid of
greatness
SS14, © 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- 13
DBS 2
NoSQL-Datenbanken
SS14, © Prof. Dr. E. Rahm
8- 14
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
…
SS14, © Prof. Dr. E. Rahm
8- 15
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
SS14, © Prof. Dr. E. Rahm
8- 16
DBS 2
NoSQL-Datenbanken
nach www.nosql-database.org neuartige DBS die meist
–
–
–
–
nicht-relational,
open-source,
verteilt 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,
– meist kein ACID (-> eventually consistent )
zunehmende Koexistenz mit SQL
– “NoSql" wird als “Not only Sql“ interpretiert
SS14, © Prof. Dr. E. Rahm
8- 17
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, Titan, OrientDB …
– Speicherung / Auswertung großer Graph-Strukturen
SS14, © Prof. Dr. E. Rahm
8- 18
DBS 2
Grobeinordnung NoSQL-Systeme
SS14, © Prof. Dr. E. Rahm
8- 19
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)
SS14, © Prof. Dr. E. Rahm
8- 20
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
}
}
SS14, © Prof. Dr. E. Rahm
<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>
8- 21
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
SS14, © Prof. Dr. E. Rahm
8- 22
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
SS14, © Prof. Dr. E. Rahm
8- 23
DBS 2
MongoDB: Operationen
Beispiele:
SS14, © Prof. Dr. E. Rahm
8- 24
DBS 2
MongoDB: Operationen (2)
SS14, © Prof. Dr. E. Rahm
8- 25
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“)
SS14, © Prof. Dr. E. Rahm
8- 26
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 (Attribute)
haben
– Property: Key-Value-Paar (Attributname + Wert)
– gerichtete Kanten
SS14, © Prof. Dr. E. Rahm
8- 27
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)
SS14, © Prof. Dr. E. Rahm
8- 28
DBS 2
Query-Sprache Cypher
Merkmale
–
–
–
–
Pattern Matching
OLTP-artige Lese/Änderungsoperationen
schnelle Traversierungen
ACID-basierte Updates
Klauseln:
SS14, © Prof. Dr. E. Rahm
DBS 2
8- 29
Beispiel 1
Beispiel-Graph
Beispielanfrage (Friend Of Friend)
Ergebnis:
Quelle: Neo4J Tutorial, http://docs.neo4j.org
SS14, © Prof. Dr. E. Rahm
8- 30
DBS 2
Beispiel 2
Finde Personen mit ähnlichen Interessen (Recommendations)
SS14, © Prof. Dr. E. Rahm
8- 31
DBS 2
Big Data Kompetenzzentrum
BMBF-Ausschreibung 2013 zur Einrichtung von 2 Kompetenzzentren in
Deutschland für Big Data
– mehrstufiges Auswahlverfahren
Ankündigung der Gewinner auf der CeBIT 2014
– ScaDS Dresden/Leipzig
– Berlin Big Data Center (BBDC)
ScaDS Dresden/Leipzig (Competence Center for Scalable Data Services and
Solutions Dresden/Leipzig)
– wissenschaftliche Koordinatoren: Nagel (TUD), Rahm (UL)
– offizieller Start: Okt. 2014
– Förderumfang: ca. 5 Mill. Euro
UL: Masterstudium Informatik mit Schwerpunkt Big Data Analytics
SS14, © Prof. Dr. E. Rahm
8- 32
DBS 2
ScaDS Dresden/Leipzig: Struktur
Lebenswissenschaften
Materialwissenschaft
Servicezentrum
Umwelt- /Verkehrswissenschaften
Digital Humanities
Business Data
Big Data Life Cycle Management und Workflows
Datenqualität /
Datenintegration
Wissensextraktion
Visuelle Analyse
Effiziente Big Data Architekturen
SS14, © Prof. Dr. E. Rahm
8- 33
DBS 2
Zusammenfassung
Big Data Herausforderungen
– Volume, Variety, Velocity, Veracity, …
– Skalierbare Analysen / Machine Learning
Unterschiedliche Architekturen: Cloud/Hadoop-Cluster,
In-Memory Warehouses, Kombinationen
NoSQL
– Auslöser: webskalierbares Data Management
– semistrukturierte schemafreie Daten
– meist Verzicht auf SQL/ACID
Unterschiedliche Systemarten
– Key/Value-Stores, erweiterte Record-Stores (Spaltenfamilien)
– Dokumenten Stores
– Graph-Datenbanken
Hauptproblem: fehlende Standards
SS14, © Prof. Dr. E. Rahm
8- 34
DBS 2