Internal Workings of Essbase-ASO & BSO Secrets Revealed
Internal Workings of Essbase-ASO & BSO Secrets Revealed
Internal Workings of Essbase-ASO & BSO Secrets Revealed
Disclaimer
These slides represent the work and opinions of the presenter and do not constitute official positions of Oracle or any other organization. This material has not been peer reviewed and is presented here with the permission of the presenter. This material should not be reproduced without the written permission of interRel Consulting.
We will send you a copy of the slides shortly after the presentation.
About interRel
2008 Oracle Titan Award winner - EPM Solution of the year 18 presentations at Collaborate 2009, 14 presentations at Kaleidoscope, 6 at OpenWorld 2008 2008 Oracle Excellence Award winner with Pearson Education One of the fastest growing companies in the world (Inc. Mag., 08) We have two of the three Hyperion Oracle ACE Directors in the world Founding Hyperion Platinum Partner; now Oracle Certified Partner Focused exclusively on Oracle Hyperion EPM software Consulting Training Infrastructure and Installation Support Software sales
3
Coming Soon
Hyperion Planning for End Users (September) Hyperion Planning for Admins To order, check out www.lulu.com
Agenda
Introduction Internal Workings of Essbase: BSO Internal Workings of Essbase: ASO Question and Answer
SPARSE
Products X Locations X Accounts
DENSE
Time Periods X X X X X X X X
X
X X
X
X
X X
X X X
X X
X X X
Block Structure
Var% Var Bud Act UnitsSold Headcnt Profit Expense OtherExp Marketing Salary Rev COGs Sales Jan Feb Mar Q1 Q2 Q3 Yr
Account (dense)
Period (dense)
9
Blocks
An individual block is created for each combination of sparse stored members
Cola->East
Cola->New York
Cola->Florida
Cola->Massachusetts
11
12
13
Storage
PAG File
Contains the data (the blocks with a header for each) Contains up to 2 Gb of data in each PAG file (32-bit) Can be 1,024 different files Can be compressed and fragmented Can be stored on multiple drive locations
IND File
Contains the list or pointers to the blocks (intersection of sparse dimensions) Contains up to 2 Gb of index in each IND file (32-bit) Can be 1,024 different files Can be fragmented Can be stored on multiple drive locations
14
Storage
15
Compression
16
Compression
Simple compression settings
None zLib Index Value Pair Cant assign directly Good for really large blocks with really sparse data
Good for data with zeros and data that repeats (such as budgeting) Will use RLE, Bitmap, or IVP
17
Jan 100 50
Feb 100 50
Mar 100 50
Apr 120 50
May 120 50
Jun 120 50
Margin
Exp. Profit
50
30 20
50
30 20
50
30 20
70
30 40
70
30 40
70
30 40
Notice repeating values Time should be dense then Measures for RLE compression
18
Calculations
19
Calculation Process
Jan
42.37 82.34
Feb
38.77
Mar
Qtr1
Dense Calculation
Year Qtr1
Data load from table
Sparse Calculation
Calculated blocks Upper-level blocks Input blocks Level zero blocks
Vermont -> Cola New York -> Cola
Calculations
Default Calc - simplest method Calc scripts Dynamic calculations Intelligent calculation
Commit Blocks
Using Uncommitted Access
When Commit Level is reached, blocks write to hard drive
25
Retrievals
26
Index Cache
New requests
Old requests
Memory
Disk
Data Cache
New requests
Old requests
Memory
Disk
Retrievals
Sparse retrievals
Sparse dimensions down the rows or across the columns Accesses multiple indexes and multiple blocks Slower retrieval times
Dense retrievals
Dense dimensions down the rows and across the columns Accesses one index entry and one block Faster retrieval times
29
30
BSO Limitations
Financial applications are more densely populated so BSO works great in those instances BSO engine can handle sparse data but on a limited scale Outline size limited Batch times required for loads and calcs
32
33
34
35
36
Small disk footprints Efficient tuning for storage and query response
Key Concepts
Storage Sparse data Indexing Aggregation Nodes
Create aggregate views Algorithm selects and stores most taxing queries Dynamic queries at runtime and increased speed by leveraging nearest stored view
ASO Concepts
Concept of stored and dynamic hierarchies
Stored hierarchies can only aggregate Dynamic hierarchies can utilize formulas and advanced unary operators
Formulas on dimension members use MDX syntax Pre-aggregated views can be defined to help query performance Aggregated design wizard helps you create aggregation scripts Outline paging helps you page portions of the outline in and out of memory to assist in performance You can convert BSO outlines to ASO outlines using a wizard
46
Directory Structure
Directory structure differs in both content and purpose from BSO Tablespaces are utilized to store data and metadata
Default stores numeric data (.dat file) Log records database activity Metadata stores metadata information about the objects in the database Temp temporary working space for the Essbase kernel
Tablespace Overview
Defines the database storage in the form of file locations Each ASO application has 4 tablespaces
Default database values Temp temporary work space Log transaction log files Metadata database data structure
File location specifies a physical disk space for storing database files Each tablespace may contain one or more file locations
Can span multiple physical drives and/or logical volumes
48
Manage Tablespaces
Sizing Tablespaces
During the data load and aggregation process, data is stored in both the Temp and Default directories ASO will always build the full .dat file in the temp tablespace while the default tablespace still has the production .dat Hence, for your maximum drive size you have to plan on AT LEAST 3x your max bloated .dat size if you want to be "safe" (buffer to temp to default)
50
Calculations
52
Level based weighting provide levels to consider Process ASO considers hints when creating aggregations Attempts to create the most useful aggregations based on hints
55
Query Hints
You can define soft restrictions as a query hint Just select a representative member (any member) Essbase will take this into consideration when creating aggregation views
56
Query Hints
Design Considerations
BSO
Complex calculations and allocations Write back at upper levels from end users are required
ASO
Large analysis applications with many dimensions and members Rolling up and analyzing large volumes of data
BSO
Budget
Partition
ASO
ASO
BSO
Partition
Budget
61
Thank You!!
Edward Roske eroske@interrel.com BLOG: LookSmarter.blogspot.com WEBSITE: www.interrel.com TWITTER: ERoske