53
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Database In-Memory Markus Kißling Product Manager for Database In-Memory DOAG Datenbank 2017 Die richtigen Werkzeuge DOAG Datenbank 2017

Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Embed Size (px)

Citation preview

Page 1: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Database In-Memory

Markus Kißling Product Manager for Database In-Memory DOAG Datenbank 2017

Die richtigen Werkzeuge DOAG Datenbank 2017

Page 2: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, 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.

2

Page 3: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 4: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Column

SALES

Row

SALES

Klassischer Zeilenansatz vs. spaltenorientierter Speicherung

4

• OLTP läuft am Besten mit Zeilen-Format – Operationen auf wenigen Zeilen, vielen Spalten – Beispiel: Insert, Update oder Abfragen auf Tabellen

• DWH Abfragen laufen am Schnellsten Spalten-Format – Operationen auf wenige Spalten, viele Zeilen – Beispiel: Auswertung Summe aller Verkäufe pro Region

Bisher gab es nur die Entweder-Oder-Entscheidung

Page 5: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

• Beides - Row und Column In-Memory Formate - für die gleiche Tabelle

• Real Time Analysen nutzen das neue Column Format

• OLTP Applikationen nutzen das Row Format

• Erhalt der Transaktionskonsistenz

Memory Memory

SALES SALES

Row Format

Column Format

Das duale Format in der Datenbank

Page 6: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 6

In-Memory Columnar Technologie

Storage Indexes Compression

Scan & Filtern auf komprimierte Daten

Zugriff nur auf benötigte Spalten

Columnar Format SIMD Vector Processing

Mehrere Spaltenwerte mit einer einzigen CPU- Instruktion verarbeiten

Vec

tor

Reg

iste

r

Load multiple region values

Vector Compare all values an 1 cycle

CPU CA

CA

CA

CA

Min 1 Max 3

Min 4 Max 7

Min 8 Max 12

Überspringen der nicht benötigten Daten einer

Spalte

Page 7: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Was sind analytische Abfragen?

Welche Produkte liefern uns die

höchste Gewinnspanne

(Marge)?

Wer sind die Top 10 Vertriebsmitarbeiter in der Region Süd in

diesem Monat?

Wenn ich einen Rabatt von 20 % auf

Teil XY bekomme, wie wirkt sich dies auf die Gewinnspanne aus?

7

Page 8: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Analytische Abfragen profitieren durch den Zugriff auf den IM Column Store

8

Page 9: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

• Memory-Bandbreite nutzen

• Scan und Filter auf benötigten Spalten

• Vektor-Instruktionen

Database In-Memory: Real-time Analytics Analytische Abfragen beschleunigen

Data Scans

Vec

tor

Reg

iste

r CPU CA

CA

CA

CA

In-Memory Aggregation

• In-Memory Report Outline wird beim ersten Scan der kleinen Tabellen erzeugt •Report wird beim Scan der großen

Tabelle befüllt

Joins

•Star Joins werden in Spalten Scans konvertiert, Faktor 10X schneller •Große Tabelle wird mit

passenden Werten der kleinen Tabelle direkt verglichen

HASH JOIN

Table A Table B

SALES ST

ATE

= C

A

9

Page 10: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

• Star-Schema und vorberechnete KPIs

- Verbessert die Performance von Dash-Boards

• Alle Bereiche oder ein Subset des Foundation Layers

- Bei zeitintensiven analytischen Abfragen in der dritten Normalform

• Staging/ETL/Temp sind keine Kandidaten

- Einmal Schreiben, einmal lesen

10

In-Memory – Der größte Nutzen

ODS

ETL

In-Memory Column Store

SALES

Reporting OLTP System

• Ermöglicht Real-Time Reporting direkt auf OLTP Daten

• Beschleunigt Mixed Workload

• Kann einen separaten ODS überflüssig machen

• Datenextraktionsteil beim ETL Prozess beschleunigen

In-Memory Column Store

Reporting

Data Warehouse

Foundation Layer Staging Layer Performance Layer

STAR SCHEMA

Pre-Cal KPIs

3rd Normal Form

Page 11: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Database In-Memory Weniger geeignet bei…

• Network Round Trips, Logon/Logoff

• Parsing, PL/SQL, komplexen Funktionen

• Datenverarbeitung (im Gegensatz zu Datenzugriff) – Inserts, Updates oder Deletes

– Komplexe Joins oder Aggregationen, ohne vorher Daten vor der Verarbeitung herauszufiltern

• Laden und einmal selektieren – Staging Tabellen, ETL, Temp Tabellen

11

Die Engpässe kennen!

Page 12: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle Database In-Memory Darauf achten…

• Zeilenweise Verarbeitung vermeiden – Stattdessen Datasets in der Datenbank verarbeiten

• Den Optimizer unterstützen – Representative Statistiken mit DBMS_STATS sammeln

• Parallelisierung nutzen

• In-Memory kann I/O Engpässe entlasten

• Aktuelle Database Proactive Bundle Patches einspielen

12

Page 13: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Vorbereitungen

• Database In-Memory benötigt 12.1.0.2 /12.2.0.1 EE

• Aktuellen Database Proactive Bundle Patch – Keine PSUs oder CPUs (SPUs)

– MOS Note: 1937782.1 als Einstieg

• Upgrades – Regressionen verhindern – Execution Pläne aufbewahren (SQL Plan Management)

– Optimizer Statistiken ebenfall aufbewahren

• 11g Baseline der 12c Umgebung gegenüberstellen – Erst dann Database In-Memory aktivieren

Oracle Database 12c

Oracle Confidential – Internal

Page 14: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

• Größe des Column Stores wird über INMEMORY_SIZE Parameter gesteuert

• Enthalten in SGA_TARGET, deshalb groß genug dimensionieren

• PGA entsprechend einstellen, wichtig für Joins & Aggregationen

• Siehe MOS Note 1903683.1

• Evtl. vorhandene Underscore Parameter deaktivieren

• Wichtige In-Memory Parameter:

– INMEMORY_SIZE

– PARALLEL_DEGREE_POLICY AutoDOP einschalten, wird für RAC Umgebungen benötigt

• AWR ist hilfreich, um den Workload auf System-Ebene zu bestimmen

• AWR gibt Einblick in Setup der Datenbank

– Initialisierungsparameter

– Speicherallokierung

– Resourcennutzung

– Advisor Sektion beachten

• Standardmäßige AWR Retention von 7 Tagen ggf. erhöhen

Vorbereitungen

Performance Historie Init.ora Parameter Speicherallokierung Note: Speicher nicht von anderen benötigten Komponenten wegnehmen

Note: Mit Default Parameter beginnen!

Note: AWR hilft nicht bei unvorteilhaften SQL

Oracle Database 12c

Page 15: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 16: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Anwendungsbeispiel für Oracle Database In-Memory

• 100 User führen je 10 Abfragefolgen parallel aus ...

- Höchster Bestellwert

- Umsatz nach Kunde, Versandsart, Priorität - Summe Kundenumsätze, Monat, Rabatt, Menge

LINEORDER (Faktentabelle) 600.037.897 Rows ROW STORE COMPRESS BASIC 4.587.520 Blocks a’ 8KB LINEORDER Size 35 GB Column Store Size (query_low) 31,7278 GB Dimensionen: CUSTOMER 3.000.000 Rows / 0,26 GB (Platte)/ 0,2114 GB (IM) PART 1.400.000 Rows / 0,125 GB / 0,0286 GB SUPPLIER 200.000 Rows / 0,0625 GB / 0,0148 GB DATE_DIM 2.556 Rows / 0,0625 GB / 0,0011 GB

Ermitteln der Kandidaten für den IM Column Store

Page 17: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Vorgehen: Anwenderbefragung und AWR-Report

I_R_NOIM_NC_IND_IT10_VU100(S312)/mk_awrrpt_1_242_244.html

Page 18: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Kandidaten für den IM Column Store ermitteln

Page 19: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Ein Kandidat für den IM Column Store

Page 20: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Abfrageläufe erneut ausführen mit aktivem IM Column Store

Page 21: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Buffer Cache (BC) vs. Column Store (CS)

BC

CS

Page 22: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Elapsed Time und DB Time drastisch reduziert

Buffer Cache Column Store

I_R_NOIM_NC_IND_IT10_VU100(S312)/mk_awrrpt_1_242_244.html I_R_IM_VU100(S303)/mk_awrrpt_1_123_124.html

Page 23: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 24: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Der Klassiker: SQL*Plus

24

Page 25: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Der Klassiker: SQL*Plus

25

Page 26: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Der Klassiker: SQL*Plus

26

Page 27: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Der Klassiker: SQL*Plus

27

Page 28: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 29: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle SQL Developer

29

Page 30: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle SQL Developer

30

Page 31: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Oracle SQL Developer

31

Page 32: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 33: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

In-Memory Advisor Compression Advisor

Advisors für Database In-Memory

• Analysiert DB Workload über AWR & ASH Repositories

• Liefert Liste von Kandidaten, die vom IM Column Store am meisten profitieren

• Nutzbar ab Oracle 11.2.0.3 Umgebungen

• MOS Note 1965343.1 (neue Version 2.0)

• Tuning Pack erforderlich

• Speichergröße (In-Memory Area) einfach bestimmbar

• Nutzt DBMS_COMPRESSION

• Wendet MEMCOMPRESS auf Sample Set der Tabellendaten an (gilt für alle Komprimierungstypen)

• Geschätzter Compression Ratio wird zurückgegeben

Page 34: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 35: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Monitoring in EM Cloud Control 12c: In-Memory Central

Page 36: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Monitoring in EM Cloud Control 13c: In-Memory Central

36

Page 37: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL*Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 38: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

SQL Monitor

38

Page 39: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Data Scans

39

Page 40: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Scannen & Filtern bei Abfragen

• Diese Abfrage liefert die Gesamtzahl der Bestellungen und der Bestellsumme der Waren, die über Luftfracht geliefert wurden.

40

SELECT

count(*),

SUM(l.lo_ordtotalprice)

FROM lineorder l

WHERE l.lo_shipmode = 'AIR';

Page 41: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Scannen & Filtern bei Abfragen: Traditioneller Datenzugriff

41

Größter Zeitanteil für Datenzugriff

Page 42: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Scannen & Filtern bei Abfragen: Mit Database In-Memory

42

Zeit für Scannen und

Filtern der Daten

Page 43: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Joins

43

HASH JOIN

Table A Table B

Page 44: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Abfrage mit Joins

• Abfrage des kompletten Umsatzes einer bestimmten Marke. Eingeschränkt auf eine bestimmte Kategorie und Region

44

SELECT p.p_brand1,

SUM(lo_revenue) rev

FROM lineorder l,

part p,

supplier s

WHERE l.lo_partkey = p.p_partkey

AND l.lo_suppkey = s.s_suppkey

AND p.p_category = 'MFGR#12'

AND s.s_region = 'AMERICA'

GROUP BY p.p_brand1

Page 45: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 45

Abfrage mit Joins - Traditioneller Hash Join

Meiste Zeit für Joinen der Daten

Page 46: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 46

Abfrage mit Joins – Hash Join mit Bloom Filtern

Meiste Zeit jetzt für Scannen &

Filtern der Daten

Page 47: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Aggregation

47

Page 48: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Abfrage mit Aggregation

48

• Abfrage des Gewinnes eines Jahres und einer Nation

SELECT d.d_year, c.c_nation, sum(lo_revenue - lo_supplycost)

FROM LINEORDER l, DATE_DIM d, PART p, SUPPLIER s, CUSTOMER c

WHERE l.lo_orderdate = d.d_datekey

AND l.lo_partkey = p.p_partkey

AND l.lo_suppkey = s.s_suppkey

AND l.lo_custkey = c.c_custkey

AND s.s_region = 'AMERICA'

AND c.c_region = 'AMERICA'

GROUP BY d.d_year, c.c_nation

ORDER BY d.d_year, c.c_nation;

Page 49: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 49

Aggregation – Traditioneller Group By

Meiste Zeit beim Scannen und beim

Group By

Page 50: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 50

Aggregation – Vector Group By with In-Memory

Group By nun innerhalb der Scans &

Filter Operation

Page 51: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database In-Memory im Überblick

AWR-Report

Der Klassiker: SQL Plus

Oracle SQL Developer

Advisors

EM Cloud Control

SQL Monitor

Weitere Informationen

1

2

3

4

5

6

7

8

Page 52: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Join the Conversation

52

https://twitter.com/dbim_markus

https://blogs.oracle.com/in-memory/

White Papers (otn.com) • Oracle Database In-Memory White Paper • Oracle Database In-Memory Aggregation Paper • When to use Oracle Database In-Memory • Oracle Database In-Memory Advisor Videos • Oracle Database In-Memory YouTube Channel • oracle.com - Powering the Real-Time Enterprise - Industry Experts Share Perspectives oracle.com/us/corporate/events/dbim/index.html

• YouTube - Juan Loaiza: Software in Silicon Additional Questions • In-Memory blog: blogs.oracle.com/In-Memory • My email: [email protected]

https://www.facebook.com/OracleDatabase

http://www.oracle.com/goto/dbim.html

Additional Resources

Page 53: Oracle Database In-Memory - doag.org · Parameter deaktivieren •Wichtige In-Memory Parameter: –INMEMORY_SIZE –PARALLEL_DEGREE_POLICY einschalten, wird für RAC Umgebungen benötigt

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Q & A

53