c16_2016_1571_yu_ppt_bi_in_memory
Optimize OLAP & Business
Analytics Performance with Oracle
12c In-Memory Database Option
Session ID: 1571
Prepared by:
Kai Yu
Senior Principal Engineer
Dell Oracle Solutions Engineering
Dell, Inc.
@ky_austin1
About Author
Kai Yu, Senior Principal Architect, Dell Database Engineering
 21 years Oracle DBA/Apps DBAS and Solutions Engineering
 Specializing in Oracle RAC, database, Virtualization and Oracle EBS
 Oracle ACE Director, authors 120 presentation and 30 whitepapers
 2011 OAUG Innovator of Year, 2012 Oracle Excellence Award:
Technologist of the Year: Cloud Architect by Oracle Magazine
 IOUG Spotlight for March 2016
 Co-founder and VP of IOUG Cloud Computing SIG
 My Oracle Blog: http://kyuoracleblog.wordpress.com/
 Co-author Apress Book “Expert Oracle RAC 12c”
My project: Dell Integrated Systems for Oracle
Business Analytics -Ready Infrastructure Solution
42
42
Force10
0
1
0
1
0
1
0
1
750W
41
Force10
750W
40
750W
41
750W
40
39
39
38
38
37
37
36
36
35
35
34
34
33
33
32
32
31
31
30
29
28
28
27
27
26
26
25
25
24
24
4
8
12
5
9
13
6
10
14
22
23
Database Server (R920)
22
21
21
KMM FPM185
20
20
19
19
18
OBIEE Server (R730)
30
21U
29
23
2 x S6000 40GbE TOR
Switches (Public & Private)
1 x S60 Management Switch
Management Server (R320)
4
8
12
5
9
13
6
10
14
18
17
17
16
16
15
15
14
14
13
13
12
12
11
11
10
10
09
09
08
08
07
07
06
06
05
05
04
04
03
03
02
02
01
01
KMM
Database Server (R920)
2 x Brocade 6510 16Gbps FC
Switches
2 x Dell Acceleration
Appliances for Databases (HA)
My project: Dell Integrated
Systems for Oracle Database
42
Corporate or Data Center
Public Network
42
Force10
Force10
1
0
1
0
1
0
1
750W
40
Top of Rack (2 x Dell S6000) 40GbE Switches (Public & Private)
0
750W
41
4
8
12
5
9
13
6
10
14
DB Servers (R930)
4
8
12
5
9
13
6
10
14
39
38
37
37
36
36
35
35
34
34
33
33
32
32
31
31
28
27
27
26
26
25
25
24
4
8
12
5
9
13
6
10
14
22
23
21
KMM FPM185
2 x Brocade 6510 16Gbps Fibre Channel Switches (SAN)
Public Network (Ethernet )
Private Interconnect (Ethernet)
SAN Network (FC)
2 x 40 GbE
1
Active/Active DAAD-HA (FC)
2
Database Server (R930)
22
21
20
20
19
19
18
OBIEE Server (R730)
29
28
23
2 x S6000 40GbE TOR
Switches (Public & Private)
1 x S60 Management Switch
Management Server (R320)
30
21U
24
Oracle 12c RAC database running on Oracle Linux (UEK)
40
38
29
2
41
750W
39
30
1
750W
4
8
12
5
9
13
6
10
14
18
17
17
16
16
15
15
14
14
13
13
12
12
11
11
10
10
09
09
08
08
07
07
06
06
05
05
04
04
03
03
02
02
01
01
KMM
Database Server (R930)
2 x Brocade 6510 16Gbps FC
Switches
2 x Dell Acceleration
Appliances for Databases (HA)
My project: Dell Integrated Systems for
Oracle Database with Tiered Storage
Agenda
• Oracle 12c Database In-Memory Option
• Oracle Business Intelligence Enterprise Edition 11g
• Oracle Exalytics In-Memory vs Oracle 12c In-Memory
Database
• Oracle OBIEE with Oracle 12c In-Memory Database
• Questions
6
Oracle 12c In-Memory Option
Oracle 12c In Memory Option
• Oracle 12c Database Introduced Database In-Memory option:
• Accelerates analytics by orders of magnitude .
• Speeding up mixed-workload OLTP.
• Transparent to applications.
• Dual-Format of Architecture in Oracle 12
– Oracle traditional row based :
– Row format data stored in storage
– Row format data stored in buffer cache in SGA
– Good for OLTP (insert/update/delete) operations
– Oracle 12c introduced In-memory option
– Introduced with Oracle 12.1.0.2
– Column format In-Memory column storage in SGA
– A New component of Oracle Database SGA.
– Coexist with database buffer cache (row format)
– Good for OLAP applications
8
Oracle 12c In-Memory Option
•
The Dual Format Architecture can be illustrated as
•
The In-Memory Column Store:
–
•
•
9
A new component called In-Memory Area in SGA
SQL> alter system set inmemory_size = 100G scope=spfile;
Alter SYSTEM SET INMEMORY_QUERY=DISABLE
Alter SYSTEM SET INMEMORY_QUERY=ENABLE
Help Analytical processing through reading data from the In memory column store
Help OLTP by allowing you drop indexes that were created for reporting
10
Oracle 12c In-Memory Option
•
Select contents to populate the In-Memory column store:
– Tableaspace level: alter tablespace data MEMORY;
– Table level: alter table sales INMEMORY PRIORITY CRITIAL;
alter table sales INMEMORY NO INMEMORY(prod_id)
– background process to populate in-memory store:
•
Features to accelerate query execution: In-Memory Scan, In-Memory Storage Index,
SIMD Vector Processing, In-Memory Joins, in Memory Aggregation
In Memory Option: Application transparent, no need to modify application .
How to determine if In-Memory option takes effect. Look the INMEMORY
key word in the query plan such as :
•
•
TPC-H Performance studies for Oracle 12c In-Memory
Option
•
TPC-H like performance benchmark with 12c In-memory
– Performance tool: HammerDB to simulate OLAP work load on a
database
– Performance Metrics
• Throughput (MBps)
• Total Query Time (sec)
• Query Per Hour(QphH@1000 scale)
– Performance Comparison
• Database stored in HDD based storage
• Database stored in Flash Based storage (DAAD2.0)
• Database storage in Flash Based storage (DAAD2.0) also in 12c InMemory
11
Oracle Business Intelligence
Enterprise edition 11g
Oracle Business Intelligence Enterprise Edition 11g
•
13
Oracle OBIEE: Business intelligence and Analytics Platform and common
infrastructure for reports, scorecards, dashboards, ad-hoc analysis, OLAP analysis
– OBIEE 11g Interactive Dashboards solution for Interactive Dashboards
– Ad hoc Analysis and Interactive Reporting
– Oracle BI Mobile for Mobile Analytics
– Oracle Business Intelligence Publisher for Enterprise Reporting.
13
Oracle Exalytics In-Memory vs
Oracle 12c Database In-Memory
Oracle Exalytics In-Memory Machine
•
15
Oracle Engineered System for Extreme Analytics: Delivers extreme inmemory analytics performance , two main components together
– Optimized Oracle Business Intelligence Foundation Suite
– Oracle TimesTen In-Memory Database for Exalytics
1
Oracle Exalytics In-Memory Machine
•
•
16
Oracle Exalytics In-Memory Machine features
– Single X86-64 server : 4 X Intel Xenon E7-4800 processors,2 TB RAM ,
2 QDR 40Gb/s Infiniband Ports, 2X 10Gbps Ethernet ports, 6 X 400G
Flash PCI-e
– Oracle Business Intelligence Foundation Suite including Oracle
Essbase
– Oracle TimesTen In-Memory Database for Exalystics
– Exalystic In-Memory Software
Difference between TimesTen In-Memory Database vs Oracle 12c
Database In-Memory
– TimesTen In-Memory Database for Exalystics is a full memory
database designed to run Analytics.
– TimesTen In-Memory Database runs on the same server as OBIEE
– Tightly connected between BI and TimesTen In-Memory Database
– Oracle 12c In-Memory is a feature added to Oracle Database
– Oracle 12c In-Memory works for both OLAP and OLTP mixed
workloads
1
Oracle OBIEE with Oracle 12c
In–Memory Database
Oracle OBIEE with Oracle 12c In–Memory Database
•
Oracle BI server Architecture
– Oracle BI server connects to Oracle Database through ODBC/JDBC
– Oracle BI present a logic schema view independent of
physical database
– BI server translates the logic SQL to physical SQL
– Oracle BI Administration tools shows the three layers: Presentation
Business Model and Mapping, Physical
1
POC: Accelerates BI with Oracle 12c In-Memory
•
•
Basic Idea:
– On physical level BI reports usually involve a large full table scan and
complex join operation.
– Full tablescan operation is very expensive in large storage IO operation.
– Load the partially or the entire table to In-Memory store to reduce the
storage IO for the full tablescan.
How to identify the tables to load into In Memory store: in manual way
– Start with the slow report and find the presentation layer the report reads
– Through the mapping from presentation layer to the physical layer to
identify the physical SQL for the report
– Through the physical SQL to identify the underneath full table scan
operation.
. The rest presentation use the EDI Queue report as an example to use the
process.
1
My project: Dell Integrated Systems for Oracle
Business Analytics -Ready Infrastructure Solution
42
42
Force10
0
1
0
1
0
1
0
1
750W
41
Force10
750W
40
750W
41
750W
40
39
39
38
38
37
37
36
36
35
35
34
34
33
33
32
32
31
31
30
29
28
28
27
27
26
26
25
25
24
24
4
8
12
5
9
13
6
10
14
22
23
Database Server (R920)
22
21
21
KMM FPM185
20
20
19
19
18
OBIEE Server (R730)
30
21U
29
23
2 x S6000 40GbE TOR
Switches (Public & Private)
1 x S60 Management Switch
Management Server (R320)
4
8
12
5
9
13
6
10
14
18
17
17
16
16
15
15
14
14
13
13
12
12
11
11
10
10
09
09
08
08
07
07
06
06
05
05
04
04
03
03
02
02
01
01
KMM
Database Server (R920)
2 x Brocade 6510 16Gbps FC
Switches
2 x Dell Acceleration
Appliances for Databases (HA)
An Example: Accelerate BI Report with Oracle 12c
•
Identify Physical SQL layer for the report :
– From the Dashboard report definition to identify the presentation
layer Fact EDI Queue .
– Through the presentation layer to find the Business Model and
mapping on Fact EDI Queue and identify the physical database view :
FACT_EDI_QUEUE_V as shown below:
2
An Example: Accelerate BI Reports with Oracle 12c
•
•
Review the definition of the physical View :
– View name: FACT_EDI_QUEUE_V and found underneath physical tables
– Identified four large tables:
EDAPIHDR_BASE , EDAPIQ_BASE , EDAPIQ_BASE
VEN_LOC_BASE
Populate In-Memory Column store with these four tables:
– SQL> alter table APD_BASE.EDAPILIN_BASE inmemory priority high;
SQL> alter table APD_BASE.EDAPIQ_BASE inmemory priority high;
SQL> alter table APD_BASE.EDAPIHDR_BASE inmemory priority high;
SQL> alter table APD_BASE.VEN_LOC_BASE inmemory priority high;
•
Check size of the segments in the In-Memory
SQL> select SEGMENT_NAME , INMEMORY_SIZE from v$im_segments;
SEGMENT_NAME INMEMORY_SIZE
-------------------------------------------------------------------------------VEN_LOC_BASE
1279648
EDAPIQ_BASE
291168512
EDAPIHDR_BASE
961496576
VEN_LOC_BASE
1279648
EDAPILIN_BASE
930710528
VEN_LOC_BASE
1279648
2
An Example: Accelerates BI Reports with Oracle 12c
•
Compare the Query plans on : FACT_EDI_QUEUE_V
Not In–Memory
In–Memory
2
An Example: Accelerate BI Reports with Oracle 12c
•
Compare the Query plans execution time on FACT_EDI_QUEUE_V
Not In–Memory
In–Memory
•
Compare the Dashboard report execution:
Not In–Memory: 9 minutes 31seconds
In-Memory: 7 minutes 50 seconds
2
Leverage In-Memory Advisor
Leverage In-Memory Advisor
•
Oracle In-Memory Advisor
– Help to answer these questions:
 Which tables and/or partitions should be marked for In-Memory column store
 How to size the In memory.
– An Oracle new feature, licensed as part of the Database Tuning pack
– MOS note: 1965343.1 Oracle In-Memory Advisor (include
twp_oracle_database_in_memory_advisor.pdf whitepaper )
•
•
Two whitepapers: Oracle Database In-Memory Advisor and Oracle Database InMemory Advisor Best practices published in February 2015
How it works:
1. Differentiates analytics processing from other database activity
based upon SQL plan cardinality, Active Session History (ASH), use of
parallel query, and other statistics.
2. Estimates analytic processing performance
improvement factors based upon the following:
•
•
•
•
Eliminating user I/O waits, cluster transfer waits, buffer cache latch waits,
Certain query processing advantages related to specific compression types.
Decompression cost heuristics per specific compression types.
SQL plan selectivity, number of columns in the result set, etc.
2
Leverage In-Memory Advisor
•
Download and Install In-Memory Advisor
– Download imadvisor.zip from Oracle ,copy to DB server and unzip it
– Installed in SQLPLUS with sysdba privilege
SQL> @instimadv.sql




Do you currently have a valid Oracle Tuning Pack license with this database (Y/N)?
Create a new user called IMADVISOR ans schema
Create DBMS_INMEMORY_ADVISOR package
Need to provide the connection string ( from TNSNAME entry )
 Provide the Oracle directory object IMADVISOR_DIRECTORY directory that InMemory Advisor uses
 Need to specify the users that will use this tool for tuning:
 It will GRANT EXECUTE ON DBMS_INMEMORY_ADVISOR to the users
 You can add more users by granting EXECUTE ON
DBMS_INMEMORY_ADVISOR to additional users later
2
Leverage In-Memory Advisor
•
Running In-Memory Advisor
– Run script imadvisor_analyze_and_report.sql as a user with the privilege to execute the
DBMS_INMEMORY_ADVISOR package:
SQL> @imadvisor_analyze_and_report
Specify the IM task name
The IM Advisor generates a report as imadvisor_<taskname>.html file
in the current working directory
The sql file is generated as imadvisor_sql_<taskname>.sql
Enter value for im_task_name: test
IM Task name Specified: test
Enter begin time for report: …
Enter value for begin_time: -1:30
Report begin time specified: -1:30
…
Enter duration in minutes starting from begin time:
Defaults to SYSDATE - begin_time
Enter value for duration: 60
Report duration specified: 60
Using 2016-Jan-14 09:33:13.000000000 as report begin time
Using 2015-Jan-14 10:33:13.000000000 as report end time
IM Advisor: Adding Statistics..
IM Advisor: Adding Statistics..
IMADVISOR: Finished Adding Statistics
IMADVISOR: Finished Executing the task
IM Advisor: Generating Recommendations..
imadvisor_cmpldaad.html
imadvisor_sql_cmpldaad.html
imadvisor_object_cmpldaad.html
2
Leverage In-Memory Advisor
•
Output of In-Memory Advisor
– imadvisor_taskname.html
• Summary of the total database time analyzed
• Percentage for Database Time for Analytics Processing
• In-Memory sizes vs the estimated benefit
•
Recommending the top objects to place in memory and
compression type and estimated benefit
3
Leverage In-Memory Advisor
– imadvisor_taskname.sql
A script file that contains the SQL which can be run on the target
to modify the objects recommended to be placed In-Memory
You can modify the SQL DDLs to fine tune
•
Future work: will use In-Memory Advisor for a large set of Oracle Financials
developed by OBIA.
•
Reference: In-Memory Analytics Speeds Business Intelligence
By Mark Rittman : http://www.oracle.com/technetwork/issue-archive/2015/15jan/o15ba-2398995.html
3
Thank You and QA
Contact me at kai_yu@dell.com or visit my Oracle Blog at
http://kyuoracleblog.wordpress.com/
Please complete the session
evaluation
We appreciate your feedback and insight
You may complete the session evaluation via the mobile
app
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising