Essbase support two storage type :
- and aggregate storage (ASO) as a persistence mechanism
for multidimensional databases.
How the data are internally stored is determined by this two options.
BSO cubes typically contain fewer (and smaller) dimensions than aggregate storage (ASO) cubes and can perform numerous and complex calculations on the smaller outlines. ASO cubes are designed to provide rapid aggregation capabilities for much larger Essbase outlines, typically supporting many more (and larger) dimensions.
Aggregate storage databases enable dramatic improvements in both :
- database aggregation time
- and dimensional scalability.
The aggregate storage kernel is an alternative to the block storage kernel. Aggregate storage databases typically address read-only, “rack and stack” applications that have large dimensionality.
|Customer Analysis||Many dimensions, million of customer||Aggregate|
|Sales Forecasting||Top-down planning and allocations||Block|
|Procurement Analysis||Many products across many customers||Aggregate|
|Profitability Analysis||Cost Allocations across products and customers||Block|
|Logistics Analysis||Near real-time information on product shipments||Aggregate|
|Financial consolidations||Currency conversion, inter-company eliminations||Block|
For some projects, combining the calculation strengths of BSO with the aggregation strengths of ASO offers the best fit for your Essbase analytical needs. An ASO reporting cube, combining BSO and ASO cubes, is one example.
What determine how data is stored in the database ?
- The structure defined in the outline : Essbase - Designing an Outline to Optimize Query or Calculations Performance
- The dense and sparse property of the dimension : Essbase - Dense and Sparse Selection Effect on the data storage (performance)
ASO / BSO Storage structure
- and index
The blocks exist and you are just pulling calculated values out of them.
Aggregate storage (ASO) does not have this block concept. In ASO nothing bet the level 0 blocks exist.
ASO has its own export data routine which exports only level 0, whereas DATAEXPORT for BSO allows exporting data at any level.
Can I move my Cube from BSO to ASO
If the BSO calculation is just aggregating the cube then it should be okay. If the calculation script is executing any type of logic, then you will have to deteremine if that functionality can be replicated using MDX member formulas. If it can't, then the application might not be a good candidate for ASO. Not all BSO apps can be converted to ASO. It depends on the functional requirements.