Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
SS13, © Prof. Dr. E. Rahm 8- 1DBS 2
8. Big Data und NoSQL-DatenbankenMotivation 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- 2DBS 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- 3DBS 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
Source: IDC’s Digital Universe study, sponsored by EMC, June 2011
Data
size
Exabytes
SS13, © Prof. Dr. E. Rahm 8- 4DBS 2
2+ billion
people on the Web by
end 2011
30 billion RFID tags today
(1.3B in 2005)
4.6 billion
camera phones world
wide
100s of millions of
GPS enabled
devices sold annually
76 million smart meters in 2009…
200M by 2014
12+ TBsof tweet data
every day
25+ TBs oflog data every
day
? T
Bs
ofda
ta e
very
day
Datenproduzenten: Soziale Netze, Smartphones, Sensoren …
SS13, © Prof. Dr. E. Rahm 8- 5DBS 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- 6DBS 2
Big Data Challenges (3-4 V’s)
Skalierbarkeit von Terabytes nach Petabytes (1K TBs) bis Zetabytes (1 Milliarde TBs)
Batch, Near-Realtime, Streaming
variierende Komplexität:strukturiert, teilstrukturiert, Text
Vertrauenswürdigkeit
Volume
Velocity:
Variety
Veracity:
SS13, © Prof. Dr. E. Rahm 8- 7DBS 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- 8DBS 2
NSA-Datenzentrum Utah
geplante Eröffnung: Sep. 2013
Speicherkapazität: viele Zettabytes
Baukosten: ca 1,2 Mrd $
SS13, © Prof. Dr. E. Rahm 8- 9DBS 2
Anwendungsdomänen fürBig Data Analytics
Homeland Security
Finance Smarter Healthcare Multi-channel sales
Telecom
Manufacturing
Traffic Control
Trading Analytics Fraud and Risk
Log Analysis
Search Quality
Retail: Churn, NBO
SS13, © Prof. Dr. E. Rahm 8- 10DBS 2
Big Data Analyse-Pipeline
Quelle: Agrawal et al: Big Data: Challenges and Opportunities, 2011
SS13, © Prof. Dr. E. Rahm 8- 11DBS 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 8- 12DBS 2
Complex Event Processing
S. Chaudhuri et al, CACM, Aug. 2011
SS13, © Prof. Dr. E. Rahm 8- 13DBS 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- 14DBS 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- 15DBS 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
Map Phase Reduce Phase
Gro
upin
gG
roup
ing
Gro
upin
g
Par
titi
onin
g
SS13, © Prof. Dr. E. Rahm 8- 16DBS 2
MR-Beispiel: Generierung Text-Index
to be or not to be 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)
hamlet.txt
be not afraid of
greatness
12th.txt
to, hamlet.txtbe, hamlet.txtor, hamlet.txtnot, hamlet.txt
be, 12th.txtnot, 12th.txt
afraid, 12th.txtof, 12th.txt
greatness, 12th.txt
SS13, © Prof. Dr. E. Rahm 8- 17DBS 2
NoSQL-Datenbanken
SS13, © Prof. Dr. E. Rahm 8- 18DBS 2
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
…
Relationale Datenbanken
SS13, © Prof. Dr. E. Rahm 8- 19DBS 2
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
Probleme (objekt-)relationaler Datenbanken
SS13, © Prof. Dr. E. Rahm 8- 20DBS 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- 21DBS 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- 22DBS 2
Grobeinordnung NoSQL-Systeme
SS13, © Prof. Dr. E. Rahm 8- 23DBS 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. Twitter-Nachrichten, 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 8- 24DBS 2
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 Time Stamp Column contents Column Family anchor
“com.cnn.www” T9 anchor:cnnsi.com CNN
T8 anchor:my.look.ca CNN.COM
T6 “<html>.. “
T5 “<html>.. “
SS13, © Prof. Dr. E. Rahm 8- 25DBS 2
Spaltenorientierte Key-Value Stores (2)
Weiteres Beispiel
Hochskalierbar, replizierte Speicherung
Einfache Get/Put-Operationen mit schnellen Zugriffszeiten (Hashing)
25
SS13, © Prof. Dr. E. Rahm 8- 26DBS 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 }
}
<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>
SS13, © Prof. Dr. E. Rahm 8- 27DBS 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- 28DBS 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- 29DBS 2
MongoDB: Operationen
Beispiele:
SS13, © Prof. Dr. E. Rahm 8- 30DBS 2
MongoDB: Operationen (2)
SS13, © Prof. Dr. E. Rahm 8- 31DBS 2
MapReduce mit MongoDB
SS13, © Prof. Dr. E. Rahm 8- 32DBS 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- 33DBS 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- 34DBS 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- 35DBS 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 8- 36DBS 2
API-Datenzugriff
Transaction tx = graphDB.beginTx();
bob = graphDB.createNode();bob.setProperty(“name”, “Bob”);
name:Bobalice = graphDB.createNode();alice.setProperty(“name”, “Alice”);
rel = bob.createRelationshipTo(alice, RelType.LOVES);rel.setProperty(“weight”, 0.8f);
name:Alice
LOVESweight:0.8f
tx.commit();
SS13, © Prof. Dr. E. Rahm 8- 37DBS 2
Query-Sprache Cypher Merkmale
– Pattern Matching
– OLTP-artige Lese/Änderungsoperationen
– schnelle Traversierungen
– ACID-basierte Updates
Klauseln:
SS13, © Prof. Dr. E. Rahm 8- 38DBS 2
Beispiel 1Beispiel-Graph
Beispielanfrage (Friend Of Friend)
Ergebnis:
Quelle: Neo4J Tutorial, http://docs.neo4j.org
SS13, © Prof. Dr. E. Rahm 8- 39DBS 2
Beispiel 2 Finde Personen mit ähnlichen Interessen (Recommendations)
SS13, © Prof. Dr. E. Rahm 8- 40DBS 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