Hybrid BSO Design
During design, consider the benefits of hybrid BSO applications.
Watch this video to learn more:
Application Design for EPM Planning Part II:
Calculation Manager Rules and Hybrid BSO.
Why Hybrid BSO?
-
Hybrid BSO provides multiple options for configuring and tuning applications.
-
Application size is significantly reduced with Hybrid BSO because of dynamic sparse dimensions. This has a positive impact on performance and usability.
- It is better than BSO but does not replace ASO for reporting purposes.
-
BSO includes a best practices framework that monitors application health. It provides advance warnings for taking corrective actions to help ensure optimal application performance.
Note that hybrid BSO does not replace ASO for reporting purposes.
Example Comparison of BSO and Hybrid BSO
This example shows a comparison of BSO and Hybrid BSO for a sample application.
-
This example application has data for two years for all periods in Actual, Plan, and Forecast scenarios for over 30 accounts.
-
The data is spread across entities and products. Each entity has data for 10 products, and each product has data for 40 market and five service members. It is fairly dense.
-
Intermediate parents are added into Entity and Product dimensions, with each parent member not having more than 50 child members.
-
The application size is around 11 GB (all leaf level data).
Based on this example application, here is a detailed comparison of BSO and hybrid BSO for database size, dense restructure time, rollup time, and form performance.
- Database size
- BSO: 90 GB
- Hybrid BSO: 11 GB
- Dense restructure time
- BSO: 2 hours
- Hybrid BSO: 4.5 minutes
- Rollup time
- BSO: 1.2 hours
- Hybrid BSO: 11 seconds
- Form performance
Best Practices for Hybrid BSO
All BSO best practices apply to hybrid BSO. However, there are some additional considerations.
-
Making all sparse dimension parent members dynamic can be considered as an option only for small-sized applications.
-
A balanced approach with some sparse dimension parent members being stored or some intermediate parent members in sparse dimensions being stored gives better performance for large-sized applications.
-
For very large-sized applications with large number of reporting dimensions and instantaneous aggregation and reporting requirements, you can leverage hybrid BSO-ASO with Smart Push and aggregate views in ASO.
-
Leaf-level members in sparse dimensions should not be made dynamic, especially when there is no member formula associated with the member. This can have an adverse impact on form performance and make the Essbase query run as suppress missing rows and columns instead of suppress missing blocks.
-
Query solve order can be set per dimension or member to ensure accurate results and to tune the performance of calculation scripts. (Aggregate before calculate wherever possible.) The higher the solve order setting for a member, the lower in the order the member is calculated. Solve order is set in the Simplified dimension editor. Here are the default solve order values:
-
Stored members 0
-
Sparse dimension 10
-
Sparse dimension – Two Pass 20
-
Dense dimension – Account 30
-
Dense dimension – Time 40
-
Dense dimension 50
-
Dense dimension – Two Pass Account 60
-
Dense dimension – Two Pass Time 70
-
Dense dimension – Two Pass 80
-
Attribute dimension 90
-
- Avoid creating asymmetric forms. Asymmetric grids are broken into multiple symmetric grids by the hybrid query engine, thereby affecting query performance. This is due to the serial nature of asymmetric report processing.
The Best Practices Framework
The best practices framework provides these benefits:
-
Ensures application health and optimal performance by enforcing best practices.
-
Provides advance warning so you can take corrective actions.
-
Provides suggestions for corrective actions and following best practices.
These best practices are monitored by the framework.
-
Block size
-
Number of blocks
-
Number of dense dimensions
-
Maximum number of children under any dynamic or store parent
-
Parents with single children
-
Level 1 and above not set to dynamic calc or label only in dense dimensions.
-
Usage of dynamic x-refs
-
Percentage customization
For additional information, see Improving Cube Performance in Administering Planning.