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