Key-Value - DWH Community

Werbung
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
Herunterladen