motivation big data systemarchitekturen für big data analytics...
TRANSCRIPT
SS14, © Prof. Dr. E. Rahm 8- 1DBS 2
8. Big Data und NoSQL-DatenbankenMotivation 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- 2DBS 2
Big Data
SS14, © 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
SS14, © 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: Web, Soziale Netze, Smartphones, Sensoren …
SS14, © 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.
SS14, © Prof. Dr. E. Rahm 8- 6DBS 2
Big Data Challenges
Skalierbarkeit von Terabytes nach Petabytes (1K TBs) bis Zettabytes (1 Milliarde TBs)
variierende Komplexität:strukturiert, teilstrukturiert,
Text / Bild / Video
Near-Realtime, Streaming
Vertrauenswürdigkeit
Erzielen des (wirtschaftl.) Nutzens durch Analysen
Volume
Variety
Velocity:
Veracity:
Value
SS14, © Prof. Dr. E. Rahm 8- 7DBS 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 8- 8DBS 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
SS14, © Prof. Dr. E. Rahm 8- 9DBS 2
Big Data Analyse-Pipeline
Quelle: Agrawal et al: Big Data: Challenges and Opportunities, 2011
SS14, © Prof. Dr. E. Rahm 8- 10DBS 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- 11DBS 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 8- 12DBS 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
SS14, © Prof. Dr. E. Rahm 8- 13DBS 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.txt
not, hamlet.txt
be, 12th.txtnot, 12th.txt
afraid, 12th.txtof, 12th.txt
greatness, 12th.txt
SS14, © Prof. Dr. E. Rahm 8- 14DBS 2
NoSQL-Datenbanken
SS14, © Prof. Dr. E. Rahm 8- 15DBS 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
SS14, © Prof. Dr. E. Rahm 8- 16DBS 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
SS14, © Prof. Dr. E. Rahm 8- 17DBS 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- 18DBS 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- 19DBS 2
Grobeinordnung NoSQL-Systeme
SS14, © Prof. Dr. E. Rahm 8- 20DBS 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)
SS14, © Prof. Dr. E. Rahm 8- 21DBS 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>
SS14, © Prof. Dr. E. Rahm 8- 22DBS 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- 23DBS 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- 24DBS 2
MongoDB: Operationen
Beispiele:
SS14, © Prof. Dr. E. Rahm 8- 25DBS 2
MongoDB: Operationen (2)
SS14, © Prof. Dr. E. Rahm 8- 26DBS 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- 27DBS 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- 28DBS 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- 29DBS 2
Query-Sprache Cypher Merkmale
– Pattern Matching
– OLTP-artige Lese/Änderungsoperationen
– schnelle Traversierungen
– ACID-basierte Updates
Klauseln:
SS14, © Prof. Dr. E. Rahm 8- 30DBS 2
Beispiel 1Beispiel-Graph
Beispielanfrage (Friend Of Friend)
Ergebnis:
Quelle: Neo4J Tutorial, http://docs.neo4j.org
SS14, © Prof. Dr. E. Rahm 8- 31DBS 2
Beispiel 2 Finde Personen mit ähnlichen Interessen (Recommendations)
SS14, © Prof. Dr. E. Rahm 8- 32DBS 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- 33DBS 2
ScaDS Dresden/Leipzig: Struktur
Big Data Life Cycle Management und Workflows
Effiziente Big Data Architekturen
Datenqualität /Datenintegration
Visuelle AnalyseWissensextraktion
Lebenswissenschaften
Materialwissenschaft
Digital Humanities
Umwelt- /Verkehrswissenschaften
Business Data
Servicezentrum
SS14, © Prof. Dr. E. Rahm 8- 34DBS 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