Oracle Technologien im Kontext aktueller Big Data Anforderungen Datenmanagement Karin Patenge | Leitende Systemberaterin [email protected] | @kpatenge | oracle-spatial.blogspot.de Oracle Deutschland B.V. & Co KG | GS Potsdam Oracle Data Warehpouse Customer Community Treffen, Oktober 2015 Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda 1 Das Daten(management)-Universum 2 Fortgeschrittene Datenanalysen 3 Zusammenfassung und Weiterführende Informationen Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 3 1 Das Daten(management)-Universum 2 Fortgeschrittene Datenanalysen 3 Zusammenfassung und Weiterführende Informationen Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 4 Die Welt der anderen? Quelle Hintergrundbild: http://www.elektrisches-universum.de Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 5 Datenmanagement durch die Oracle Brille Oracle Big Data Management System Data Reservoir Cloudera Hadoop Oracle NoSQL Database Oracle R Distribution Big Data Appliance + Oracle Big Data Connectors Oracle Data Integrator Data Warehouse Oracle Database Oracle Advanced Analytics Oracle Spatial & Graph Exadata Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 6 Hadoop und HDFS Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 7 Hadoop-Familie Hauptkomponenten Erweiterungen Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 8 Wann nutze ich HDFS? • Anwendungen haben folgende Anforderungen in Bezug auf die Daten – Viele unstrukturierte oder semi-strukturierte Daten • Log-Dateien, Bilder, Streaming Daten, Dokumente/Texte – Atomarität auf Zeilenebene ist nicht wichtig – Zu teuer für Datenbankspeicher – Serialisiert aber variabel in Struktur • z.B. JSON, Maschinen-/Sensor-erzeugte Daten, Daten von mobilen Geräten, Log-Daten, … Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 9 Vergleich RDBMS und Hadoop Tooling maturity 5 Straight Through Processing (STP) 4 Stringent Non-Functionals 3 Ingestion rate 2 ACID transactional requirement 1 Hadoop 0 Cost effectively store low value data Relational Security ETL simplicity Variety of data formats Data sparsity Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 10 NoSQL Datenbanken Ein kurzer Einblick Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 11 NoSQL • Sammelbegriff für nicht-relationale DBs, die The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply such as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge amount of data and more. So the misleading term "nosql" (the community now translates it mostly with "not only sql") should be seen as an alias to something like the definition above. Quelle: nosql-database.org – massiv parallelisierbar sind, – horizontal verteilt auf mehreren Servern Daten ablegen („Sharding“), – weitgehend ohne Datenmodell („Schema-less“) arbeiten – Datenkonsistenz nicht zwingend durchsetzen (nicht ACID compliant), – sehr große Datenmengen schnell und kostengünstig speichern und wieder abrufen können, – keine Join-Operationen oder Multi-Object Transaktionen unterstützen – und sehr entwicklerspezifisch sind. • Übersicht auf http://www.nosql-database.org/ • Produkte nur schwer vergleichbar • Kaum Standards Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 12 Typen von NoSQL Datenbanken Key-Value Stores Document Stores Bsp.: Oracle Berkeley DB Redis Bsp.: MongoDB MarkLogic (XML) Column Stores / BigTable Graph Datenbanken Bsp.: HBase Cassandra Bsp.: Neo4J Oracle NoSQL (mit RDF) Abbildungen : http://www.thoughtworks.com/insights/blog/nosql-databases-overview Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 14 „Beliebtheitsskala“ unter den Datenbanksystemen RDBMS und NoSQL Beliebtheit: Veränderungen Beliebtheit: Absolut Quelle: DB-Engines.com Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 15 Exkurs Oracle NoSQL Datenbank Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 16 Die Oracle NoSQL Datenbank 101100101001001 001101010101011 100101010100100 101 less is more Simple Fast Flexible Reliable Advanced Key-Value database designed as cost effective, high performance solution for simple operations on collections of data with built in high availability and elastic scale-out. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 17 Was ist ein Key-Value-Store? Key-Value Store CUSTOMERS Key = Index Key Zeilen Value 010101010 … … … … … 010101011 … … … … … … … … … … … Datenstrukturen sind nicht selbstbeschreibend • • • • • • Im wesentlichen eine zweispaltige Tabelle – "KEY" und "VALUE" VALUE kann auch ein komplexes Objekt sein Die Anwendung kennt die Datenstrukturen – nicht selbstbeschreibend Joins zu anderen Key-Value Stores allein durch die Anwendung Einfache Zugriffe: GET, PUT, DELETE Einfach parallelisierbar Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Die Oracle NoSQL Datenbank Flexibles und einfaches Datenmodell • Key-Value-Paare – Major-/Minor-Key Paradigma – Einfache Operationen – CRUD API (Create | Read / Retrieve | Update | Delete), Multi-Write support • HTTP (REST): PUT oder POST | GET | PATCH oder PUT | DELETE – Scope der Transaktion – Werte eines Major key ein API Aufruf Major key: userid Strings Minor key: Byte Array Value Options: Value: Opaque Object subscriptions expiration date JSON Large Object address phone # email id RDF Triples Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | picture .jpg Tables/Rows 19 Beispiel Key-Value-Paar Major key SSN: 111-22-3333 First_Name: Ashok Minor key Last_Name: Joshi Address: Street: 400 Oracle Parkway City: Redwood Shores State: CA ZIP: 94085 Nested Minor key Balance: $1,000,000.00 Transaction history: 2013-01: Buy X for $100;00, sell Y for $200.00 2013-02: Buy X for $140.00, 2013-03: … Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 20 Oracle NoSQL Database Beispiel mit Java API : Daten lesen aus dem Key-Value-Store public class ReadKVData { public static void main(String[] args){ KVStoreConfig config = new KVStoreConfig("kvstore", "localhost:5000"); KVStore store = KVStoreFactory.getStore(config); ValueVersion returnValue = store.get(„BigData“); System.out.println("Key: " + myKey.toString()); System.out.println("Value: " + new String(returnValue.getValue().getValue())); store.close(); } } Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle NoSQL DB Anwendungstopologie Load balancer Webserver Application Server Storage Nodes Webserver Webserver Application Server Application Server NoSQLDB Treiber NoSQLDB Treiber R Partition 1 M Partition 2 R Partition 3 Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 22 Applikation NoSQL Treiber Cluster Topologie D Agenten D Maschine1 D M1 R2 M3 R4 A Maschine2 R1 R2 R3 M4 D A Maschine3 R1 M2 R3 R4 A Replica Gruppe2 Replica Gruppe3 Replica Gruppe4 Replica Gruppe1 Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Wann nutze ich die Oracle NoSQL DB? • Anwendungen haben folgende Anforderungen in Bezug auf die Daten – Konsistenzerhaltung und Atomarität ( ACID) – Geringe Latenzzeiten – Struktur der Daten ändert sich (häufig) – Zugriff im Wesentlichen über Primärschlüssel – Unterstützung auch für Sekundärschlüssel – Integration mit Daten auf HDFS und Oracle Datenbank Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 24 Oracle NoSQL Anbindung mit bekannten Technologien Application NoSQL DB Driver External Table / Hive KVInputStream HDFS, Hadoop Scala / Python Spark REST API Java / C API Ext Table HIVE Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | SQL Vergleich RDBMS und NoSQL *Beim Kostenvergleich wird von der Annahme ausgegangen, dass es sich bei dem RDBMS um ein kommerzielles Produkt handelt und nicht um ein freies Open-Source Produkt wie z.B. MySQL Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 26 Exkurs JSON Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 28 JSON – JavaScript Object Notation • Sehr einfaches Datenaustauschformat • Einfachere Konzepte als XML • Basiert auf JavaScript-Code • Javascript auch auf Server wichtig: node.js • Breite Unterstützung durch Web-APIs – Google, Twitter, Facebook & Co. • JSON-Path Anfragen (analog zu XPATH) • Setzt sich mehr und mehr durch Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Native JSON Unterstützung in der Oracle DB 12g • JSON Dokumente speichern und verwalten – JSON als Text speichern (VARCHAR2, CLOB, BLOB) Ohne Schema - volle Flexibilität – Kein eigener Datentyp: Nutzung der Standard-Datentypen für Zeichenketten bzw. Binärdaten – Indizierung mit einem JSON aware Index JSON ermöglicht schemalose Datenhaltung in der Oracle-Datenbank ... • API Zugriff auf JSON – REST Services ... aber komplett integriert mit der – Java API (weitere Programmiersprachen in Planung) relationalen Welt! • SQL Abfragen direkt auf JSON-Dokumente – Reporting, Analyse und relationaler Zugriff direkt auf JSON-Dokumente – Dualität JSON / SQL Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 30 JSON / SQL Dualität Oracle Database 12c JSON Datenzugriff per REST oder Native API SQL JSON wird in der Datenbank gespeichert Analysen / Queries per SQL Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 31 Wie geht das mit der Dualität? JSON-Sicht auf relationale Daten • • • • Relationale Sicht auf JSON Node.js Treiber für die Oracle DB APEX_JSON ORDS PL/SQL Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 32 Welchen Ansatz wählen? Polyglot Persistance Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 33 Eine von vielen ähnlichen Stimmen – Martin Fowler http://martinfowler.com/nosql.html Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 34 2 Herangehensweisen: Single-Model oder Multi-Model Single-Model Relational Database JSON Document Store Multi-Model Graph Database XML Database Relational Data Graph Data JSON Documents XML Data Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 36 Aspekte in Bezug auf Polyglot Persistence Multi-Model Polyglot: • Profitiert von Konsolidierung und Standardisierung • Standardisierte Administration • Konsistente Datensicherheitregeln • Einfache Integration von Daten unterschiedlicher Formate • Transkationaler Kontext und Verfügbarkeit Single-Model Polyglot: • Profitiert von Spezialisierung • Spezialisierte Datenformate • Spezialisierte Zugriffsmethoden und Indizes • Spezielle Programmiersprachen • Sehr Bedarfsorientiert Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 37 Oracle Produkt Strategie mit Blick auf Polyglot Persistence Single-Model • Oracle stellt unterschiedliche Data Stores bereit – Oracle Datenbank (RDBMS) – Oracle NoSQL Database (K-V) – Hadoop • Integration mittels Werkzeugen und Schnittstellen – z.B. Big Data SQL Multi-Model • Oracle Datenbank unterstützt mehrere Datenmodelle – Relational – XML – JSON - Spatial - Graph - OLAP • Integrierter Zugriff auf alle Objekte/Daten in der Datenbank Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 38 Beispiel Multi-Model: Oracle DB als JSON Document Store Social Media (Twitter) Analyse JSON Dokumente als CLOBs Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 39 Beispiel: Oracle DB als Graph Datenbank Graph-Analyse mittels Regelbasis Graphen als Sammlung von Triples Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 40 Beispiel Multi-Model: Oracle DB als Geodatenbank Orts-/Raumbezogene Analysen Der Orts-/Raumbezug als Information Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 41 1 Das Daten(management)-Universum 2 Fortgeschrittene Datenanalysen 3 Zusammenfassung und Weiterführende Informationen Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 42 Single-Model Ansatz aus Sicht der Datenanalyse • Unterschiedliche Datenhaltungssysteme für die verschiedenen Arten von Daten – – – – – – Datensilos Fragmentiert Inkonsistent Beschränkter Zugriff Fachanwendungsspezifisch ... • Ca. 80% der Aufwände gehen in Sammlung und Aufbereitung von Daten • Nur 20% in die eigentliche Analyse Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 43 Multi-Model Ansatz und die Datenanalyse Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 44 Graph- und Ortsbezogene Analysen mit Oracle NoSQL und/oder HDFS (Oracle Big Data Spatial and Graph) Raumbezogene Analysen: • Daten anreichern mit Raumbezug • Nachbarschafts- und topologische Beziehungen • Kategorisieren filtern, Hierarchien • Aufbereitung raumbezogener Daten wie z.B. Satelliten- oder Luftbilder (eher traditioneller Ansatz) Property Graph Analysen über In-Memory & Parallel Analysis Engine: • Social Media Beziehungen, Netzwerke • eCommerce – Kundenorientiertes Marketing • Cyber-Sicherheit, Betrugsdelikte aufdecken • IoT, Industrial Engineering Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 45 Ortsbezogene Analysen: Der Ort als universeller Schlüssel • Tweet: schade #goldengate wieder mal im nebel • Instagram Bildunterschrift: 골든게이트 교* • Text- oder Sprachnachricht: Fahre mit Cabrio auf 101 North. Überquere gerade Grenze zwischen Marin County und San Francisco County • GPS Sensor Koordinaten: N 37°49′11″ W 122°28′44″ • Wo ist jetzt der nächste freie Parkplatz für mich (bzw. )? * Golden Gate Bridge (koreanisch) Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 46 Ortsbezogene Analysen: Geo-Enrichment • WLAN Performance analysieren (Unterbrochene Verbindungen, Nutzung, Auslastung): Call Daten auf Ort mappen, aggregieren und anzeigen. Mit anderen Daten, z.B. Sensordaten verknüpfen und analysieren • Start-Ziel-Analyse im Nahverkehr: Daten über Fahrkartenkäufe kombinieren mit andern Daten für Analyse ,wieviel Personen welche Route von A nach B fahren • Tweets auf Ort mappen: Wo wird getwittert von wievielen Personen und was sagen die zu Ort A? Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 47 Ortsbezogene Analysen: Daten kategorisieren und filtern Tweets aggregieren über hierarchische Ebenen Risikobewertung für Grundstücke Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal 48 Graph-bezogene Analysen: Filtern und Analysieren • Social Media Analysen (Social Intelligence) – Wer ist mit wem verbandelt? – Über wieviel Ecken? • Wer ist die zentrale Figur in einem Netzwerk? – Wer ist die einfluchsreichste Person? • Welche Hinweise auf verdächtige Aktivitäten gibt es? Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 49 Architekturvorschlag für ein Analyse Framework Oracle Agile Advanced Analytic Platform Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 50 Herausforderungen im Hinblick auf Datenanalyse • Search & Discovery • Reporting • Ad-hoc Queries • Predictive Analysis • Pattern Matching • Data Mining • Big Data Analytics • Fast Data Analytics • Geotagging, Geofencing, Geoenrichment • Time-Series • Natural Language Processing • Entity Extraction • Semantic Indexing & Search • Graph Analysis – Property Graphs – Resource Description Framework – Network Data Models Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 51 1 Das Daten(management)-Universum 2 Fortgeschrittene Datenanalysen 3 Zusammenfassung und Weiterführende Informationen Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 52 Relationale Tabellen bleiben wichtig. Auf das Zusammenspiel kommt es an. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 53 Datenmanagement-Systeme im Zusammenspiel Documentcentric data access Operational transactions Reporting and Analysis Low-latency web-scale access NoSQL Relational Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 54 Hilfreiche Informationen und Links • Oracle Ressourcen – – – – – – – – Big Data für DWH Architekten Big Data über Oracle Consulting Services Agile Advanced Analytic Platform Oracle NoSQL DB im OTN Big Data im OTN Oracle DB als Document Store (JSON Unterstützung in Version 12.1.0.2) Oracle Big Data Lite VM für VirtualBox Oracle DB als Document Store • Safari Books Online • Weitere externe Ressourcen – http://nosql-database.org/ – http://martinfowler.com/nosql.html Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 55 Q&A Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 56 Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 57