Oracle Datenbank 12 - Home: DOAG e.V. · Java in DB, Native XML, Table Functions, .Net, ... •JDBC...
Transcript of Oracle Datenbank 12 - Home: DOAG e.V. · Java in DB, Native XML, Table Functions, .Net, ... •JDBC...
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Datenbank 12c
Bodo von Neuhaus Leitender Systemberater Oracle Deutschland B.V. & Co KG
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c
Überblick zur den Neuerungen im Vergleich zur 11gR2
Neuerungen der Datenbank 12cR2
Multitenant mit 12cR2
1
2
3
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Customer Initiatives
4
Big Data
Database as a Service
Cloud
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database
Big Data
Appliance
Database Backup,
Logging, Recovery Appliance
Exalytics
Security & Compliance
Big Data & Analytics
Consolidation
Data Optimization
Application Development
High Availability
In-Memory
Performance & Scalability
Data Warehousing
Exadata
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Continuous Innovation
Cloud Internet Client-Server 1990s 2000s 2010s
Oracle 5, 6, 7, 8 Oracle 8i, 9i, 10g Oracle 11g, 12c
Scalability Row Level Locking, B-tree Indexes, Read Consistency, Parallel Server, Shared Cursors, Shared Server
Real Application Clusters, Automatic Storage Management, IOTs
Advanced Compression, Bitmap Indexes
Exadata, Smart Flash, In-Memory DB, Software-in-Silicon,
Native Database Sharding
Availability Transactions, Ref Integrity, Online Backup, Point-in-Time Recovery
Data Guard (Active), Recovery Manager, Flashback, Clusterware, Online DDL, TAF
Zero Data Loss Recovery Appliance, Edition Based Redefinition, App. Cont.
Analytics Partitions, Parallel SQL, Optimizer Analytic Function, Data Mining, OLAP, MVs SQL Pattern Match, R, Big Data Appl
Security Privileges, Roles, Auditing, Network Encryption, Views
Data Encrypt, Masking, Virtual Private DB, Label Security, DB Vault, Audit Vault, PKI
Real Application Security, DB Firewall, Privilege Analysis, Redaction, Key Vault
Developers SQL, Views, PL/SQL, Triggers, LOBs, Object Types, Spatial, Text
Java in DB, Native XML, Table Functions, .Net, PHP, App Express, SQL Developer
Native JSON, REST Services, Node.js, RDF Social Graph, Network Graph
Management Enterprise Manager, v$, wait event Diagnostics, Tuning, Testing, Lifecycle Packs MultiTenant, DB & Exa Cloud, DB Appl
Integration DB Links, 2PC, Replication, AQ GoldenGate, XA Transaction,External Table Big Data SQL, Big Data Analytics
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c in Zahlen
• 5 Jahre Entwicklung
• 500 neue Features
• 2.500 Personen-Jahre
• 3.000 Systeme für die Tests
• 1 Million Feature-Tests täglich
• 1,2 Millionen Stunden Stresstests
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c (12.1.0.1)
Oracle Multitenant
• Databank Konsolidierung
• Fast Provisioning
• Manage many as one
Automatic Data Optimization
• Smart Compression
• Automatisches (Storage) Tiering
Data Guard Far Sync
• Zero Data Loss über große Distanzen
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c (12.1.0.1)
Application Continuity
• Replay von fehlerhaften Transaktionen
Data Redaction
• Dynamisches Maskieren der Anwendungsdaten
• Größtenteils transparent für die Anwendung
Pattern Matching
• Detailierte Mustererkennung innerhalb einer Spalte
Und über 500 zusätzliche Verbesserungen …
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Serverausfall: Auswirkung für Anwendungen Situation unter RAC (und Data Guard) bis Oracle 11g
• Datenbank läuft dank RAC oder Data Guard weiter
• Aber: Instanz-/Netzwerk-Ausfall bedeutet für die Applikation
– Verlust Datenbank Session
– Unbekannter Transaktionsstatus
• Ergebnis:
– Ärgerlich für den Benutzer
– Doppelte Ausführung
– Ggf. Durchstarten der Mid Tier
– Erhöhter Entwicklungsaufwand
• TAF, FAN, FCF (OCI, OCCI, .Net..)
Application
Servers
Database
Servers
End User
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Serverausfall: Auswirkung für Anwendungen Mögliche Lösungen unter Database 12c
Transaction Guard
Verlässliches Protokoll und API den Status der letzten
Transaktionen zu überprüfen
Application Continuity
Automatische Wiederholung (Replay) der Benutzer-transaktion nach einem Ausfall oder während
einer Wartung
Protokoll und Programmier-API
für Entwickler
Selbstständiges Wiederholen nicht
gelaufener Kommandos im Failoverfall
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Serverausfall: Auswirkung für Anwendungen 12c: Situation mit Transaktion Guard und Application Continuity
• JDBC Treiber erkennt den Fehler und prüft bei verbleibendem Knoten, ob die Transaktion erfolgreich war, oder erneut gesendet werden muss (mit Hilfe von Transaction Guard)
• Falls die Transaktion wiederholt werden muss, wird “Application Continuity” alle offenen Transaktionen erneut an einen überlebenden Knoten im Cluster oder die DR Site senden.
Application
Servers
Database
Servers
End User
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c (12.1.0.2)
Oracle Database In-Memory
• Real Time Analytics
• Unterstützug der aktuellen Hardware Generation
• Transparent zu den Anwendungen
JSON Document Store
• Agile Entwicklung
• SQL Abfragen direkt auf JSON-Dokumente
• Zugriff über REST oder Native APIs
Big Data SQL
• High performance SQL auf Hadoop
• Einfache Datenintegration von Oracle mit Hadoop
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Hocheffizientes
OLTP
Hochperformante Real Time Analysen
Keine Änderung von
Applikationen
Nutzung der aktuellen
Mikroprozessor Architektur
CPU
Oracle Database In-Memory Ziele
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Row Format vs. Column Format in der Datenbank
Row
Transaktionen sind schneller im Row Format
– viele Spalten einer einzigen Zeile werden benötigt – geeignet für OLTP Abfragen
Column
Real Time Analysen sind schneller im Column Format
– ein Aggregat über viele Zeilen und nur wenige Spalten – geeignet für schnelles Scannen einer gesamten Tabelle
SALES
SALES
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Buffer Cache versus In-Memory Column Store?
SELECT column4 FROM mytable;
Mit Buffer Cache
Mit Column Store
X X X X X
Row Format
Buffer Cache IM Column Store
Column Format
RESULT RESULT
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database In-Memory schafft einen Ausweg aus dem Dilemma
Row Format vs. Column Format in der Datenbank
Row
Transaktionen sind schneller im Row Format
– viele Spalten einer einzigen Zeile werden benötigt – geeignet für OLTP Abfragen
Column
Real Time Analysen sind schneller im Column Format
– ein Aggregat über viele Zeilen und nur wenige Spalten – geeignet für schnelles Scannen einer gesamten Tabelle
SALES
SALES
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Das duale Format der In-Memory Database
• Beides - Row und Column In-Memory Formate für die gleiche Tabelle
• Real Time Analysen nutzen das neue Column Format
• OLTP Applikationen nutzen das traditionelle Row Format
• Erhalt der Transaktionskonsistenz
Memory Memory
SALES SALES
Row Format
Column Format
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Standard System Global Area (SGA) Komponenten
Buffer Cache Shared Pool Large Pool
Redo Log Flashback Java Pool
Fixed SGA
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
In-Memory Area
Neue SGA Komponente: In-Memory Area
Buffer Cache Shared Pool Large Pool
Redo Log Flashback Java Pool
Fixed SGA
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
1. Memory Allokation in der SGA über neuen Initialisierungsparameter und danach Start der Datenbank
2. Auswahl der Objekte (Spalten, Tabellen, Materialized Views, Tablespace oder Partitionen) und Belegung mit den entsprechenden Eigenschaften
– Über CREATE oder ALTER Kommando
– u.U. überflüssige analytische Indizes löschen!
=> Nicht alle Objekte müssen im Column Store vorliegen!
Konfiguration in 2 Schritten
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Setzen von INMEMORY_SIZE Parameter (mindestens 100 MB) – Default ist 0
• Gesamt SGA muss groß genug sein – SGA_TARGET
• Statischer Pool – Aufteilung in 64K und 1MB Pool
– Monitoring über V$INMEMORY_AREA • Aufteilung der Pools und Befüllungsgrad
Beispiel für In-Memory Column Store Konfiguration
SQL> sho sga
Total System Global Area 2415919104 bytes
Fixed Size 2927240 bytes
Variable Size 436209016 bytes
Database Buffers 889192448 bytes
Redo Buffers 13848576 bytes
In-Memory Area 1073741824 bytes
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Ein- und Ausschalten einer gesamten Tabelle
• Auf Spaltenebene
• Auf Partitionsebene
• Auf Tablespaceebene
Festlegung der Objekte: Neue Schlüsselworte
ALTER TABLE sales INMEMORY;
ALTER TABLE sales INMEMORY NO INMEMORY(prod_id, cust_id));
CREATE TABLE customers …
PARTITION BY LIST
(PARTITION p1 … INMEMORY,
(PARTITION p2 … NO INMEMORY);
CREATE TABLESPACE tbs1 DATAFILE ‘/home/oracle/…/tbs1.dbf' SIZE 1G
ONLINE DEFAULT INMEMORY;
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Beeinflussung der Reihenfolge, wie Objekte in den Store geladen werden
–PRIORITY
• CRITICAL, HIGH, MEDIUM, LOW und NONE
• NONE bedeutet beim ersten Zugriff
Festlegung der Objekte mit Prioritätseinstellung
ALTER TABLE lineorder INMEMORY MEMCOMPRESS FOR QUERY
LOW
PRIORITY CRITICAL;
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Wie funktioniert der Column Store?
• Wann wird im Column Store gespeichert? – Nach dem ersten Zugriff oder gleich nach dem Hochfahren der Datenbank gemäß
der Priority Einstellung
• Welche Daten werden gespeichert? – Ausgewählte Daten werden im optimierten und komprimierten Spaltenformat
(siehe MEMCOMPRESS) gespeichert.
• Wer erledigt diese Aufgaben? – Ein oder mehrere Hintergrundprozesse (gemäß Parameter INMEMORY_MAX_POPULATE_SERVERS) wie z.B. ORA_W001_orcl
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Komprimierungseinstellungen mit
–MEMCOMPRESS FOR
• DML
• QUERY [LOW|HIGH]
• CAPACITY [LOW|HIGH]
Festlegung der Objekte mit Komprimierungsstufe
CREATE TABLE ORDERS ……
PARTITION BY RANGE ……
(PARTITION p1 ……
INMEMORY NO MEMCOMPRESS
PARTITION p2 ……
INMEMORY MEMCOMPRESS FOR DML,
PARTITION p3 ……
INMEMORY MEMCOMPRESS FOR QUERY,
:
PARTITION p200 ……
INMEMORY MEMCOMPRESS FOR CAPACITY);
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Komprimierungsstufen aus dem Handbuch
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
1. Objekte identifizieren
2. Compression Advisor dbms_compression verwenden
3. Wendet angegebenen Komprimierungsstufe auf ein Daten Sample an
4. Gibt Compression Ratio aus
Berechnung der Speicheranforderung SQL> DECLARE 2 l_blkcnt_cmp PLS_INTEGER;
3 l_blkcnt_uncmp PLS_INTEGER;
4 l_row_cmp PLS_INTEGER;
5 l_row_uncmp PLS_INTEGER;
6 l_cmp_ratio PLS_INTEGER;
7 l_comptype_str VARCHAR2(100);
8 BEGIN
9 dbms_compression.get_compression_ratio (
10 scratchtbsname => 'TS_DATE',
11 ownname => 'SSB',
12 objname => 'LINEORDER',
13 subobjname => NULL,
14 comptype => dbms_compression.comp_inmemory_query_low,
15 blkcnt_cmp => l_blkcnt_cmp,
16 blkcnt_uncmp => l_blkcnt_uncmp,
17 row_cmp => l_row_cmp,
18 row_uncmp => l_row_uncmp,
19 cmp_ratio => l_cmp_ratio,
20 comptype_str => l_comptype_str);
21 dbms_output.put_line('compression ratio ist '|| l_cmp_ratio);
22 END;
23 /
compression ratio ist 2
SQL>@size.sql
NAME ORIG_SIZE_M IN_MEM_SIZE_M COMP_RATIO COMP BYTES_NOT_POPULATED
--------------- ----------- ------------- ---------- ----------------- -------------------
LINEORDER 1216 551.5 2.20489574 FOR QUERY LOW 0
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Monitoring des Column Stores SQL> SELECT v.segment_name name,
v.bytes/1024/1024 orig_size_in_M,
v.inmemory_size/1024/1024 in_mem_size_in_M,
v.bytes/v.inmemory_size comp_ratio ,
v.inmemory_compression comp,
v.bytes_not_populated not_populated,
v.inmemory_priority prio
FROM v$im_segments v ORDER by 4;
NAME ORIG_SIZE_M IN_MEM_SIZE_M COMP_RATIO COMP NOT_POPULATED PRIO
-------------------- ----------- ------------- ---------- ----------------- -------------- --------
LINEORDER 1216 553.5 2.19692864 FOR QUERY LOW 0
CRITICAL
PART 64 8.125 7.87692308 FOR QUERY LOW 0
NONE
CUSTOMER 64 5.125 12.4878049 FOR QUERY LOW 0
NONE
DATE_DIM 64 1.125 56.8888889 FOR CAPACITY HIGH 0
NONE
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
In-Memory Column Store – Kurzbeschreibung • Reines In-Memory Format
• Komprimierte Bereiche mit unterschiedlichen Raten (2x bis 20x)
• Einschaltbar auf Objektebene - Tabelle - MView - Partition - Tablespace - Spalte
• Voraussetzungen – Datenbank Release 12.1.0.2
– Manuelle Aktivierung
– Gebunden an In-Memory Option
SALES
Pure In-Memory Columnar
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Zusätzliche Performance durch Nutzung von SIMD
• Jede CPU Core durchsucht lokal die In-Memory Spalten
• Scans nutzen dabei “Single Instruction multiple Data Values” (SIMD) Vektor Operationen
• Hohe Scan Raten pro CPU Core => Milliarden von Zeilen pro Sekunde
Vecto
r R
egis
ter
Mehrere Werte aus Spalte REGION
Vektor vergleich aller Werte In 1 Zyklus
CPU
Memory
RE
GIO
N
CA
CA
CA
CA
Beispiel: Finde alle Verkäufe (SALES) aus der Region “CA”
> 100x Faster
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Monitoring von In-Memory Scans: Ausführungsplan
• Schlüsselwort INMEMORY FULL
Public
SQL> select * from table(dbms_xplan.display_cursor(format=>'BASIC'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------
EXPLAINED SQL STATEMENT:
------------------------
select count(*) from customers_mem where cust_gender='F'
Plan hash value: 1973973873
-----------------------------------------------------
| Id | Operation | Name |
-----------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | SORT AGGREGATE | |
| 2 | TABLE ACCESS INMEMORY FULL| CUSTOMERS_MEM |
-----------------------------------------------------
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Memory Operationen: In-Memory Joins
LINEORDER DATE_DIM
Da
teK
ey
Am
ou
nt
Datekey is
24122013
d.d_date='December 24, 2013'
Date
Sum
Date
Key
SELECT
SUM(lo_extendedprice * lo_discount)
FROM lineorder l,
date_dim d
WHERE l.lo_orderdate = d.d_datekey
AND l.lo_discount BETWEEN 2 AND 3
AND d.d_date='December 24, 2013';
• In-Memory Joins mit schnellen Scans und speziellen Filtern
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Monitoring In-Memory Joins
• Spezieller Filter: Bloom Filter
• Während eines Hash Joins:
– Erzeugung eines Bitvektors (Bloomfilter) basierend auf Join Bedingung
– Bitvektor dient als zusätzliches Prädikat für den Scan der zweiten Tabelle
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Erzeugt dynamisch ein In-Memory Berichts Outline
• Ein schnelles Scannen füllt die Lücken im Report
• Reports sind dabei schneller ohne vordefinierte Cubes
Sales
Stores
Products
In-Memory Report Outline
Footwear
Ou
tle
ts $
$$ $
$$$
Footwear
Sales Outlets
Schnelle Analytics: In-Memory Aggregat Operationen
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
In-Memory Aggregat Operationen
• Optimiert Aggregat und Join Operationen in einem typischen Star Schema
• Nutzt KEY VECTOR und VECTOR GROUP BY Operationen
• Beispiel
Public
SELECT p.category, p.subcategory, g.country, g.state,
SUM(s.amount)
FROM sales s, products p, geography g
WHERE s.geog_id = g.geog_id AND s.prod_id = p.prod_id
AND g.state ='CA' AND p.pname = 'Nike'
GROUP BY category, subcategory, country, state
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
JOURNAL
DML und In-Memory Column Store
• Änderung im Buffer Cache löst automatisch Änderung im Column Store aus => Konsistenz
• Eintrag in IMCU wird als “stale” markiert und eine Kopie des neuen Werts wird im In-Memory Transaktions Journal gespeichert
• Aktualisierung der IMCU über einen Hintergrundprozess
Column Format
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Handhabung im RAC Umfeld
– Column Store kann auf jedem RAC Knoten existieren
– Die gleiche Tabelle kann in jedem Column Store existieren (Option DUPLICATE)
– Größere Tabellen, die nicht in den Column Store passen, können über die Knoten verteilt werden (Option DISTRIBUTE)
• Generelle Einschränkungen
–Objekte, die kleiner als 64 KB sind, werden nicht berücksichtigt.
–Kein SYSTEM und SYS Objekte
–Objekte wie IOTs, Cluster Tables, Global Temporary Tables und out-of-line LOBs
–Option DUPLICATE ist nur auf Engineered System verfügbar
Weitere Hinweise
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Skalierung der Oracle In-Memory Datenbank
• „Scale-Out“ über Servergrenzen für mehr Memory und CPU.
• „Scale-Up“ für SMP Systeme.
• In-Memory Abfragen werden innerhalb und über Servergrenzen parallelisiert.
• Direct-to-wire InfiniBand Protokoll
40
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle In-Memory Advisor
• Spezieller Advisor für In- Memory Abfragen
• Analysiert Datenbank Workload über AWR & ASH
• Liefert Objekte die von In- Memory Column Store profitieren würden
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Database Buffer
Default Cache
Keep Cache
Recycle Cache
LRU-Algorithmus
TimesTen IMDB
TimesTen Application-Tier
Database Cache
TimesTen for
Exalytics
Result
Cache Shared Pool oder Client
Transparent für Anwendungen
Flash
Cache Data Buffer
Erweiterung
2nd level Cache
Auch für Datafiles
Coherence
Data Grid
Object Cache / Data
Grid für verteilte
Anwendungen
In-Memory
Techniken der
Datenbank
In-Memory
Techniken der
Middle-Tier
Exadata X6 Hybrid Columnar Compression
Smart Scan
Storage Index
Smart Flash Cache
(Read/Write)
Smart Flash Logging
(Redo-Write)
In-Memory Option 12c Row und Column In-Memory
Formate auf der selben Tabelle
Simultan und transaktions-
konsistent
Column: Analytics & Reporting
Row : OLTP
Memory optimierende
Techniken
Compression
Partitioning
Parallelisierung
OLAP
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Beispiele für Caching Technologien in 11g
• Pre-Load von Tabellen und Indizes – Full Table/Index Scans und Initialisierungsparameter (_small_table_threshold)
• SGA Bereiche: KEEP und RECYCLE Pool für Tabellen und Segmente – DB_[KEEP|RECYCLE]_CACHE_SIZE und Storage Parameter (KEEP, RECYCLE)
• Pinnen von PL/SQL Objekten wie Packages, Procedures etc. im Shared Pool – Einsatz von dbms_shared_pool.keep
• Cachen von Resultaten – Spezielle Hints, Initialisierungsparameter oder Objektdefinition
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Die Datenbank für alle wichtigen Plattformen
Oracle Database 12c für Entwickler
JSON Ruby
Oracle ADF Oracle APEX Oracle RDS
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
JSON and SQL Duality
JSON
Datenzugriff per
REST oder
Native API
JSON wird in der
Datenbank gespeichert
Analysen / Queries per SQL
Oracle Database 12c
SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c (12.1.0.2)
Performance Verbesserungen
• Index Compression
• Attribute Clustering und Zone Maps
• Full Database Caching
• Approximate Count Distinct
Rapid Home Provisioning
• Ein zentraler Ort für schnelles und effizientes Patching
Security
• FIPS 140 Support
• Oracle Key Vault
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Performance
• Advanced Index Compression – Indizes benötigen weniger Platz auf der Platte
– Effizientere Nutzung der SGA
– Keine nennenswerte Systembelastung
• Full Database Caching – Vorteilhaft, wenn die SGA ohnehin gross genug ist für die komplette Datenbank
• ALTER DATABASE FORCE FULL DATABASE CACHING
• Automatic Big Table Caching – Hält ganze Objekte vor, statt einer Reihe von Blöcken
• db_big_table_cache_percent_target = <Percentage of Buffer Cache>
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Performance
• Attribute Clustering – Sortiert Daten so dass sie nahe bei den selektierten Spaltenwerten liegen “attributes”
– Attribute können von einer Tabelle oder aus mehreren Tabellen kommen • Zum Beispiel aus Fact und Dimensions Tabellen
– Weniger Block IO für Tabellen bei index range scans
– Abfragen, die sortieren und aggregieren, profitieren von vorsortierten Daten
– Verbessert die Kompressionsraten
– Wird auf Tabellenebene festgelegt • ALTER TABLE ... ADD CLUSTERING ...
– Gilt für neue Daten und für das Verlagern von Daten
– Gilt nur für direct path Operationen
• Kann ein- und ausgeschaltet werden
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Performance
• Approximate Count Distinct – Nicht jede Abfrage benötigt absolut exakte Ergebnisse
• “Wie viele unterschiedliche Menschen haben in der letzten Woche auf unsere Webseite geklickt?”
– Neue SQL Funktion für ungefähre Ergebnisse bei einem COUNT DISTINCT • APPROX_COUNT_DISTINCT()
– Ungefähre Ergebnisse sind deutlich schneller und weniger aufwändig zu berechnen als exakte Ergbnisse • 5x to 50x ++ mal schneller (abhängig von der Anzahl distinkter Werte und Komplexität des SQL)
• Genauigkeit liegt bei > 97%
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Security
• Unterstützung von FIPS 140-2 – Verbesserung kann von TDE, SSL, DBMS_CRYPTO und anderen Komponenten genutzt
werden
– Neuer Parameter DBFIPS_140 schaltet den neuen FIPS Modus ein
• Verbesserte Sicherheit für Passwörter und DBMS_CRYPTO durch SHA-512 Hashing
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 1 (12.1.0.2)
Feature Beschreibung
Oracle In-Memory Option
JSON Unterstützung Feature der Datenbank
Oracle REST Data Services Feature der Datenbank
Oracle Multitenant Option, wenn mehr als eine PDB genutzt wird
Advanced Index Compression Teil der Option Oracle Advanced Compression
Attribute Clustering Feature der Datenbank
Full Database Caching Feature der Datenbank
Automatic Big Table Caching Feature der Datenbank
Approximate Count Distinct Feature der Datenbank
Feature Factoring for New Features (Full Details Here)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c
Überblick zur den Neuerungen im Vergleich zur 11gR2
Neuerungen der Datenbank 12cR2
Multitenant mit 12cR2
1
2
3
52
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2 (in der Oracle Cloud)
• Jetzt verfügbar – Exadata Express Cloud Service
– Database Cloud Services
– Exadata Cloud Machine
– On-Premise zum Download seit März
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Exadata Express Cloud Service
• 12.2 Datenbank mit fast allen Optionen auf Exadata
• Komplett gewartet bei Oracle
• Sehr günstig, ab 175$
• Video: https://t.co/IgRr2FTGtr
Günstiger, einfach zu benutzender 12.2 Datenbank Service
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Datenbank Entwicklung
Höchste Anforderung an Verfügbarkeit & Performance
Kleinere & mittlere Applikationen
Unternehmensweite Applikationen
Spektrum der Oracle Database Cloud Services
Exadata Enterprise Exadata Express
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2: Key Features
Flexibler: Multitenant
Plus vieles mehr: Performance, Verfügbarkeit, Security, Analytics und Applikationsentwicklung
Verteilte Daten: Sharding
Noch schneller: Database In-Memory
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2: In-Memory
Real-Time Analysen Implementierung:
Trivial
Riesige Kapazität
Column
12.1 Schnelles Reporting und Analyse
OLTP & Analysen auf derselben Datenbank
Scale-up / Scale-out Keine Applikationsänderung
12.2 Schneller: 3x bei Joins, 10x bei Expressions, 60x bei JSON SQL in Silicon
Offload Analysen auf Active Data Guard Standby
In-Memory auf Exadata Flash
Dynamische Datenbewegung zwischen Storage und In-Memory
OLTP / DW
Row Column
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2: Sharding
• RAC und Data Guard erfüllen 99% der Applikationsanforderungen
• Für einige globale OLTP Applikationen bietet eine Unterteilung (Sharding) der Daten immense Vorteile: – Skalierungs- und
Verfügbarkeitsanforderungen einer einzigen großen Datenbank können sehr hoch sein
– Datenmodell und Applikationen müssen aber angepasst werden für das “Routing” zu den richtigen Daten
Customers Americas
Customers
Customers Europe
Customers Asia
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
…
Oracle Database 12c Release 2: Sharding
Linear Scalability Fault Tolerant
…
Natives SQL um Tabellen auf 1000 Shards zu verteilen
Online Reorganisation von Shards:
Keine gemeinsame Hardware = Isolierte Fehler
Benutzerdefinierte Datenpositierung: Performance/DR/Gesetze
Hinzufügen, Online Split, Rebalance
Datenverfügbarkeit wichtiger als Datenkonsistenz
Geographic Distribution
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2 : Analytic Views
• Geschäftslogik zurück in die Datenbank (Aggregationen, Hierarchien, Berechnungen)
• Einfaches SQL für komplexe Analytische Abfragen – Keine JOINs oder GROUP-BY notwendig
– Navigieren durch Hierarchien, ohne neu Definition der Berechnungen
• Basierend auf existierenden Tabellen
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Big Data SQL
Schneller SQL Zugriff für Relational, Hadoop & NoSQL
• Intuitive SQL Syntax für JSON SELECT c.json_column.address.city FROM customers c;
• JSON Daten in jeder SQL Abfrage
– Join JSON mit jeder anderen Datenquelle
– Jegliche SQL Analyse für JSON
• Neu: Big Data SQL in der Oracle Cloud
– Data Guide: Automatismus JSON Strukturen zu erkennen und zu verarbeiten
Oracle Big Data SQL on JSON data
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c
Überblick zur den Neuerungen im Vergleich zur 11gR2
Neuerungen der Datenbank 12cR2
Multitenant mit 12cR2
1
2
3
62
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12.1: Multitenant
Cloud Scale Operations Agility Software as a Service
12.1 Einfache Verwaltung Provisionierung & Cloning SaaS Architektur
CPU & I/O Management Datenbanken: Plug/Unplug Keine Applikationsänderung
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Database 12c Release 2: Multitenant
Cloud Scale Operations Agility Software as a Service
12.1 Einfache Verwaltung Provisionierung & Cloning SaaS Architektur
CPU & I/O Management Datenbanken: Plug/Unplug Keine Applikationsänderung
12.2 4,096 PDBs pro CDB Hot cloning & PDB Clone Refresh Geteilte Applikationsobjekte
Memory Management Online Tenant Relocation Lockdown Profile
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
PDB Hot Clone
• PDB Hot Clone – Online Erstellung einer Test Master
Umgebung
CRM
Oracle Cloud
Pricing Retail
On-Premises
65
Hot Clone
Snap Clone
Snap Clone
CRM CRM Dev1 CRM Dev2
Entwickler
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
PDB Refresh
• PDB Hot Clone – Online Erstellung einer Test Master
Umgebung
• PDB Refresh – Incremental Refresh des Clones mit
den aktuellen Daten CRM
Oracle Cloud
Pricing Retail
On-Premises
66
CRM
Snap Clone
Snap Clone
CRM Dev1 CRM Dev2
Entwickler
Zeit
Änderungen in der Datenbank
Geklonte Version ist nicht mehr in Sync
Nur Änderungen werden kopiert und “applied”
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• PDB Hot Clone – Online Erstellung einer Test Master
Umgebung
• PDB Refresh – Incremental Refresh des Clones mit
den aktuellen Daten
• PDB Relocate – Relocate mit minimal Downtime
67
PDB Relocate
67
CRM
HR
Oracle Cloud
Pricing Retail
On-Premises
CRM
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• PDB Hot Clone – Online Erstellung einer Test Master
Umgebung
• PDB Refresh – Incremental Refresh des Clones mit
den aktuellen Daten
• PDB Relocate – Relocate mit minimal Downtime
68
PDB Relocate
68
CRM
HR
Oracle Cloud
Pricing Retail
On-Premises
CRM
Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• PDBs teilen sich Application Objects – Code, Metadaten und Daten
• Vereinfacht das Management – Änderungen/Updates nur auf dem
Application Container
• Passend für Anwendungen mit SaaS-Character
Application Container
69 Public
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Proxy PDB enthält den lokalen Context für eine Remote PDB
Remote PDB Proxy PDB
Location Transparency mit Proxy PDBs