Hyperion Financial Management Application Design for Performance

  • View
    10

  • Download
    2

Embed Size (px)

DESCRIPTION

Edgewater Ranzal Practice Director and Oracle ACE Chris Barbieri conducted this presentation at the HUGmn TechDay and Vendor Expo in Chaska, Minnesota on March 20, 2012.

Text of Hyperion Financial Management Application Design for Performance

  • Hyperion Financial Management

    Application Design for PerformanceMarch 20, 2012

    Chris Barbieri

    Practice Director

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Personal Background

    Established HFM performance tuning techniques and

    statistics widely used today

    4+ years as Sr. Product Issues Manager at Hyperion

    HFM, Smart View, Shared Services, MDM

    2001 HFM launch team 2001

    Certified HFM, Hyperion Enterprise

    B.S. Finance & Accounting, Boston College

    MBA, Babson College

    Established HFM Performance Tuning Lab at Ranzal

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Foundation of Performance

    Hyperion Financial Management

    Metadata design as it impacts performance Volume of members

    Impact of structures

    Data Content

    Density

    Rules

    Environment

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Metadata

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Designing HFMs 12* Dimensions

    Application Profile

    1. Year

    2. Period

    3. View

    System

    4. Value dimension,

    includes

    currencies

    User controlled

    5. Entity

    6. Account

    7. ICP

    8. Scenario

    User defined

    9. Custom 1

    10. Custom 2

    11. Custom 3

    12. Custom 4

    * Through release 11.1.2.1

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Application Profile

    Year No inherent impact on performance

    Can be increased after the application is built

    Impacts database table volume

    Period Base periods comprise column structure of every table,

    whether you use them or not

    Avoid weekly profiles unless it is key to your entireapplications design

    Yearly is inadvisable

    View No impact, but only YTD is stored

    Other views are on-the-fly derivations Consider the UI click volume

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    System Dimension

    Value Dimension Can not directly modify this

    points to entitys default currency

    points to default currency of the entitys parent

    Anything above must be Parent.Child format

    Currencies Dont add currencies you arent using

    Sets of calc status records for (every entity * every currency) Impact of loading metadata with entity or currency changes

    Normally translate from the entitys currency only into its parents currency

    Beware of non-default translations Impacted calc status

    Data explosion

    Adds to cycle time

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    User Controlled Dimensions

    Entity

    Sum of the data of the children

    Avoid Consolidate All or All With Data on each hierarchy

    Assign Adj flags sparingly

    Dont disable if you ever had journals on entity

    ICP

    Hidden dimension

    Scenario

    Number of tables

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Impact of Account Depth

    Effect is multiplied when you consider the custom dimensions

    Parent accounts dont lock

    4- Net Income

    3- Optg Income

    2- Gross Margin

    1- Sales

    4- Optg Income

    3- Gross Profit

    2- Gross Margin

    1- Sales

    5- EBIT

    6- Net Income

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    User Defined Dimensions

    Custom 1..4

    Think dozens or hundreds, but not thousands

    If Thousands are necessary, 64 bit makes this possible

    Rules remain a major factor in performance

    Avoid:

    Employees

    Products

    Anything that is very dynamic, changing greatly from year to year

    One to one relationship with the entities

    Configurable dimensions in 11.1.2.2???

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Metadata Efficiency Ratio

    What does the average entity have in common with the top entity? Density measurement of re-use of the accounts and customs

    across all entities

    top entity

    base

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Metadata Volumes (Americas)80 Applications Median +1 Std Deviation High

    Accounts 1,383 2,814 7,491

    ICP Accounts With Plug 17 291 2,273

    Accounts With Data Audit 26 1,356 7,490

    Consolidation Rules 45%

    OrgBy Period 16%

    Phased Submission 19%

    Consolidation Methods - 3 16

    Currencies 25 57 150

    Custom1 177 3,248 23,897

    Custom2 67 2,397 20,484

    Custom3 46 919 5,681

    Custom4 19 184 1,199

    Entity Hierarchies 4 12 44

    Entities (unique) 672 4,242 21,199

    ICP Members 200 1,161 7,770

    Scenarios 10 27 81

    Scenarios Using Process Management - 6 37

    Scenarios Using Data Audit - 11 78

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Data

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Whats a Subcube?

    HFM data structure

    Database tables stored by

    Each record contains all periods for the [Year]

    All records for a subcube are loaded into memory together

    Parent subcube, stored

    in DCN tables

    Currency subcubes,

    stored in DCE tables

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Take it to the Limit

    Reports, Grids, or Forms that:

    Pull lots of entities

    Lots of years

    Lots of scenarios

    Not so problematic:

    Lots of accounts

    Or Custom dimension members

    Smart View

    Cell volume impacts bandwidth

    Subcubes impact server performance

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Data Design

    Density

    Content Specifically: zeros

    Tiny numbers

    Invalid Records

    Metadata volume is interesting, but its

    how you it that matters most

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Data Volume Measurement

    No perfect method

    Method How-To Pros Cons

    Data Extract Extract all data,

    count per entity

    Simple, easy to see input

    from calculated

    Can only extract

    FreeLRU Parse HFM event

    logs

    Good sense of average

    cube, easy to monitor

    monthly growth

    Cant identify

    individual cubes,

    harder to understand

    Database

    Analysis

    Query DCE, DCN

    tables and count

    Easy for a DBA, see all

    subcubes

    Doesnt count dynamic

    members, includes

    invalid records

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Data Density Using FreeLRU

    Survey of data density using FreeLRU methodNumber of applications reviewed:

    44

    Median Min Max +1 Std Dev

    NumCubesInRAM 1,369 72 15,152 5,068

    NumDataRecordsInRAM 1,170,908 247,900 23,019,754 4,574,074

    NumRecordsInLargestCube 53,089 2,508 593,924 169,272

    Records per cube 1,352 24 91,418 15,832

    Metadata efficiency 3.4% 0.3% 39.7% 12.3%

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Loaded vs. Consolidated Data

    What percent of the loaded data is a zero value?

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Growth Up the Entity ChainLevel Number Records

    Top Entity 1 261,593

    Average Subcube 814 5,193

    Base entities including calculated data 516 680

    Base entities input data only 443 421

    Base 421

    Average 5,193

    Top 261,593

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Loaded, Calculated, and Consolidated

    Data Rough stats: median from 10 applications

    Monthly Zeros %

    Monthly

    Growth

    Rules

    Growth

    Loaded Records 153,826 4.1% 3.3%

    Loaded + Calculated

    Records 353,122 19.7% 2.7% 2.0

    Consolidated Records 63,432 6.9% 3.2%

    Total data for all base (or top) entities

    Can be easily managed by better rule writing!

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    Invalid Records

    Type 1: Orphaned records from metadata that has been deleted

    Member is removed from dimension_Item table, but not from the data tables

    These can be removed by Database > Delete Invalid Records

    Type 2: the member still exists, but is no longer in a valid intersection

    Most often from changing CustomX Top Member on an account

    These cannot be removed by HFM, but are filtered out in memory

  • Copyright 2012 Edgewater RanzalCopyright 2012 Edgewater Ranzal

    So How Much Memory Do I Really Need?

    Plan A Plan B

    Number of entities 814 814

    * 2 cubes: entity currency + contribution 1,628 1,628

    Non-USD entities 483 483

    add another cube for parent currency** 483 483

    Entity_value cubes 2,111 2,111

    Actual 2011, 2012 2 2

    4 Currency scenarios, 3 Estimate, 3 Forecast scenarios 3 10

    Total Year_scenarios 5 12

    Total cubes 10,555 25,332

    Average records per cube 5,193 5,193

    Optimal MaxRecordsInRAM setting 54,812,115 131,549,076

    bytes per record 120 120

    Records * bytes converted to MB =

    MaxDataCacheSizeInMB 6,273 15,055

    ** Many entities are translated into other currencies as well, making this value low.

  • Copyright 2012 Edgewater RanzalCopyright 201