20
SS13, © Prof. Dr. E. Rahm 8- 1 DBS 2 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- 2 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

Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 2: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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 …

Page 3: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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:

Page 4: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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 $

Page 5: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 6: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 7: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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 …

Page 8: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 9: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 10: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 11: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 12: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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>.. “

Page 13: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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>

Page 14: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 15: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

SS13, © Prof. Dr. E. Rahm 8- 29DBS 2

MongoDB: Operationen

Beispiele:

SS13, © Prof. Dr. E. Rahm 8- 30DBS 2

MongoDB: Operationen (2)

Page 16: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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“)

Page 17: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 18: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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();

Page 19: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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

Page 20: Wachsende Mengen und Vielfalt an Daten – Herausforderungen ...dbs.uni-leipzig.de/file/dbs2-ss13-kap8.pdf · – Skalierbare Analysen / Machine Learning Unterschiedliche Architekturen:

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