Anda di halaman 1dari 36

OBIEE Performance

BROUGHT TO YOU BY

ONYX TRAINING
WWW.ONYXTRAINING.COM

FEATURING

BRENT HAMES
SIGNO INC.
WWW.SIGNOINC.NET

Welcome
Introduction
Agenda
Presentation

ONYX Training
14 years of Learning Services
Public and onsite training

Oracle and RDBMS


Web Applications Development
Data Warehouse & Business Intelligence
Mainframe

ORACLE &
RDBMS

WEB
APPLICATIONS
DEVELOPMENT

Training format (instructor-led)

Class room
Remote
Web
Mentoring

Contact Ann Kalin at ONYX@SCC.NET


for more information or visit www.onyxtraining

DATA
WAREHOUSE &
BUSINESS
INTELLIGENCE

MAINFRAME

Agenda
Motivation
Historical Performance Tuning
Current Performance Tuning
A Solution
Examples
Bottom Shelf
Q/A

Motivation
Concentrate on areas of improvement you can:
Easily control / influence
Quickly implement
Obtain largest ROI

Historical Performance Tuning


Low Level
Raw Disk
Physical Servers
Dedicated Administrators
Consistent SQL
Ability to modify SQL
Team effort

Current Performance Tuning


Localized teams
Harder to pinpoint
VMs at all layers
Dynamic user-driven SQL
Federated data

Easy to POC

Solution
Requirements

Simple to implement
Benefit to all architecture tiers
Low cost
High Reward
Predictable

...

Optimal end user


performance is critical
for user adoption of BI
reporting

Reduce physical I/O

Aggregates!

Aggregate Example
Day Level

Month Level

Determine Reports/Queries with

Aggregates
Implementation
Process Flow

poorest performance

OBI Usage Tracking

Identify aggregate trends


e.g. quarterly reports, regional analysis
Create aggregate tables
Facts and dimensions being aggregated
Implement aggregates into OBI
Enable OBI Aggregate Aware

Using Materialized
Views can substantially
reduce development
time

Time aggregations are most

common

Disk

Aggregates
Costs / Considerations

Development time
Ownership
Synchronization
Tuning
Batch load time

Nothing is free..but
the benefits of
aggregates typically
make it an easy
decision

Preliminary analysis complete


Examples
Assumptions

Aggregates have been created

and loaded
Base understanding of OBI

Metadata (hierarchies)
Report Development
Diagnostics

Example 1: Eliminate Time


Based on business model, many metrics are

presented and/or compared without filtering on time


Same concept could be implemented for set time
ranges by having Aggregate tables contain only data
for those time ranges (e.g. last year)

Example 1:
Eliminate Time

There are other


aggregate opportunities
for this report including
All Centers and All
Centers/All Time

Initial report view rolls data up to


All Centers and All Time

Example 1:
Eliminate Time

FACTS

Before
4.8M Row Fact Table
60,000 Physical Reads
5 Sec Query Response
After
295K Row Fact Table
3681 Physical Reads
1 Sec Query Response

Example 1:
Eliminate Time

OBI

Implementation
Physical Layer

Leverage copy/duplicate
functionality to save
development time

Example 1:
Eliminate Time

OBI

Implementation
Physical Layer

Validate all relationships


for correctness. An
ounce of prevention is
worth a pound of cure.

Example 1:
Eliminate Time

OBI

Implementation
Business Layer

Mapappropriate
Set
Drag
appropriate
physical table
logical
columns.
into
levels for
business
Leave
columns
layer
table logical
source.
blank that
source be satisfied by
cannot
aggregate.

Dont forget to set levels of other data sources


for that logical table

Example 1:
Eliminate Time

OBI

Implementation
Results

Use logging and manage


sessions to validate
aggregates are being used

Example 2: Monthly Rollup


A report combines metrics for 4 different time

intervals:

Current Month
Year ago Month
Rolling 12 Months
All Time

A monthly aggregate was the common denominator

for all levels used in report.

Example 2:
Monthly Rollup

A monthly aggregate
seemed like a good first
start given that all
intervals could benefit.

Initial report view has data at 4


different time intervals

Example 2:
Monthly Rollup

FACTS

Before
805 Physical Reads
42Mb Transferred
5 Sec Elapsed Time
After
105 Physical Reads
7.6Mb Transferred
2 Sec Elapsed Time

Example 2:
Monthly Rollup

OBI

Implementation
Implementation
Physical Layer
Physical
Layer

Remove columns that

Each
leveldata
of time
represent
at a finer
aggregation
requires
a
grain than the
aggregate
time
dimension
at the
(i.e. no
daily or weekly
same
level
columns
in month time
dim)

Example 2:
Monthly Rollup

OBI

Implementation
Physical Layer

Each level of time


aggregation requires a
time dimension at the
same level

Example 2:
Monthly Rollup

OBI

Implementation
Physical Layer

Validate all relationships


for correctness. An
ounce of prevention is
worth a pound of cure.

Example 2:
Monthly Rollup

OBI

Implementation
Business Layer

Mapappropriate
Set
Drag
appropriate
physical table
logical
columns.
into
levels for
business
Leave
columns
layer
table logical
source.
blank that
source be satisfied by
cannot
aggregate.

Example 2:
Monthly Rollup

OBI

Implementation
Business Layer

Mapappropriate
Set
Drag
appropriate
physical table
logical
columns.
into
levels for
business
Leave
columns
layer
table logical
source.
blank that
source be satisfied by
cannot
aggregate.

Example 2:
Monthly Rollup

OBI

Implementation
Results

Use logging and manage


sessions to validate
aggregates are being used

Example 3: Subset
A report compares individual centers against a

subset of base centers


No aggregation but the setup in OBI is the same
Would use OBI filter function or logical table
content filter to accomplish same results

Example 3:
Subset

Using filter (i.e. where


clause) on HQ centers
did not perform
sufficiently.

Report allows user to select


between All Center or HQ Center
comparisons (blue)

Example 3:
Subset

FACTS

Before
1M Row Fact Table
4116 Physical Reads
6 Sec Query Response
After
368K Row Fact Table
2561 Physical Reads
3 Sec Query Response

Example 3:
Subset

OBI

Implementation
Physical Layer

This is a true copy. Only


the table name needs to
be changed.

Example 3:
Subset

OBI

Implementation
Physical Layer

Exact same mappings


across fact tables.

Example 3:
Subset

OBI

Implementation
Business Layer

Set appropriate
Map
Drag
appropriate
physical table
logical
columns.
into
Leave for
business
levels
columns
layer
table logical
source.
blank that
cannot be satisfied by
source
aggregate.

The levels will be the same as the base table

Example 3:
Subset

OBI

Implementation
Results

Use logging and manage


sessions to validate
aggregates are being used

Bottom Shelf
Query Rewrite off (db)
Star Transformation on (db)
Local Disk for work and temp space (obi)
Disable logical table sources (obi)
Delete Unnecessary rows from all tables (db)
Support Derived Tables off (obi)

Anda mungkin juga menyukai