Professional Documents
Culture Documents
Aso
Aso
Aso
You must create an aggregate storage application to contain an aggregate storage database. An
aggregate storage application can contain only one database. You can create an aggregate storage
application, database, and outline in the following ways:
a. Convert a block storage outline to an aggregate storage outline, and create an aggregate
storage application to contain the converted database and outline.
b. Create an aggregate storage application and database. The aggregate storage outline is created
automatically when you create the database.
Note:
An aggregate storage outline cannot be converted to a block storage outline
Stored Hierarchies
Members of stored hierarchies are aggregated according to the outline structure. Because
aggregate storage databases are optimized for aggregation, the aggregation of data values for
stored hierarchies is very fast. To allow this fast aggregation, members of stored hierarchies have
the following restrictions:
● Stored hierarchies can have the never-consolidation (^) operator (only underneath label only
members) or the addition (+) operator.
● Stored hierarchies cannot have formulas
Dynamic Hierarchies
To evaluate a dynamic hierarchy, Essbase calculates, rather than aggregates, the members and
formulas. The order in which members and formulas are evaluated is defined by the solve order
property.
At the time of retrieval, Essbase calculates the required member combinations and calculates
any required outline member formulas. Because dynamic hierarchies are calculated, the data
retrieval time may be longer than for data retrieved from stored hierarchies. However, when you
design your database, dynamic hierarchies provide the following advantages:
● They can contain any consolidation operator.
● They can have formulas
Outline Paging
Aggregate storage database outlines are pageable. When you create an aggregate storage database, the
outline is created in a pageable format. When you use the Aggregate Storage Outline Conversion Wizard
to convert an existing block storage outline to aggregate storage, the outline is automatically converted
to a pageable format.
Note: Aggregate storage databases that have pageable outlines contain memory pages, and therefore
their outline files may be larger than binary block storage database outline files.
Outline Paging Limits The maximum size of a buildable outline (the number of members) depends on
several factors:
● The available memory for Essbase
● The amount of memory in Essbase allocated for other uses
● The amount of memory required for each member (and aliases for each member)
Essbase uses about 40 MB of memory on startup. In addition, the various caches require the following
memory allocations:
● Outline paging cache: 8 MB
● Aggregate storage data cache: 32 MB
● Aggregate storage aggregation cache: 10 MB
Therefore, the initial memory footprint for Essbase is about 90 MB. In addition, memory must be
allocated to process incoming query requests. Typical memory to reserve for this purpose is about 300
MB. The total memory allocated for Essbase is therefore 390 MB.
On a Windows system with 1.85 GB of addressable memory, the amount available to build and load the
outline is about 1.46 GB (1.85 GB - 390 MB = 1.46 GB). The maximum outline size depends on whether it
is built using a dimension build or from an outline already loaded into Essbase
Note: Currency name and currency category field types are not supported for aggregate storage outlines
Note: You cannot export data when loading data into a database.
Note: When using the aggregate storage data load buffer, the choice for replacing, adding, or
subtracting values is specified for the entire set of data sources when loading the data buffer contents
to the database.
Note: When loading SQL data into aggregate storage databases, you can use up to eight rules files to
load data in parallel. This functionality is different than the process described above. When preforming
multiple SQL data loads in parallel, you use one import database MaxL statement with the using multiple
rules_file grammar. Essbase initializes multiple temporary aggregate storage data load buffers (one for
each rules file) and commits the contents of all buffers into the database in one operation
Block Storage Calculation Features That Do Not Apply to Aggregate Storage Databases The following
characteristics of calculating block storage databases do not apply to aggregate storage databases:
● Calculation script calculations
● Dynamic Calc and Dynamic Calc and Store member storage properties
● Block storage formula syntax and predefined Essbase functions in formulas
● Custom-defined calculation functions and custom-defined calculation macros
● Formulas on members of dimensions other than members of aggregate storage dynamic hierarchies
● Preloaded values for member intersections above level 0
● Two-pass calculations tags
● Block storage performance features such as Intelligent Calculation
Calculation Order
Aggregate storage calculation order and block storage calculation order differ. For aggregate
storage databases, Essbase calculates data in the following order:
1. Aggregates members of stored hierarchies and attribute dimensions. The order in which members
and dimensions are aggregated is optimized internally and changes according to the nature of the
database outline and the existing aggregations. Because the aggregation is additive, the order in which
Essbase aggregates the dimensions and members does not affect the results.
Because the internal aggregation order for an aggregate storage database is not predictable, any inherent
rounding errors are also not predictable. These rounding errors are expected behavior in computer
calculation and are extremely small in relation to the data values concerned.
2. Calculates dynamic hierarchy dimension members and formulas. The order in which members and
formulas are evaluated is defined by the solve order property, which you can set for each member or
dimension. Calculation order may affect calculation results.
The value of the solve order property determines the priority with which Essbase calculates the
formulas. The formulas on the members that have a specified solve order are calculated in order from
the lowest solve order to the highest. You can specify a solve order between 0 and 127. The default is
0.
It is good practice to specify the solve order for each member by setting the solve order property at the
member level or at the dimension level. Members without formulas that do not have a specified solve
order inherit the solve order of their dimension. Members with formulas that do not have a specified solve
order have a solve order of zero.
You can specify the solve order at the member level or at the dimension level. Essbase uses the
following information to define calculation precedence:
1. Member solve order
2. Dimension solve order (members without formulas for which you do not specify a member solve order
inherit the solve order of their dimension. Members with formulas for which you do not specify a member
solve order have a solve order of zero.)
3. If multiple members have the same solve order, the members are evaluated in the reverse
order in which their dimensions occur in the database outline. The member that occurs later
in the outline takes precedence.
Note: When a member formula is dependent on the value of another member, the member with the
formula must have a higher solve order than the member or members on which it depends.
In the example, if the Variance member has a higher solve order than the Avg Units/Transaction member,
then the formula on the Variance member takes precedence and the result is the variance between two
ratios. This is the case in the ASOsamp.Sample database, because the solve order of the Variance member
is 20 and the solve order of the Avg Units/Transaction member is 10. The formula on Variance takes
precedence, because the Variance member has the higher solve order. The result for cell C12 of the query
in Figure 174 is the variance between the two ratios, as shown in Table 137:
Aggregate Cells
Cells for level 0 intersections across dimensions, without formulas, are called input cells. Data values can
be loaded to them. Higher-level cells involving members of the accounts dimension or dynamic hierarchies
are always calculated at retrieval. All other higher-level intersections across dimensions are aggregate
cells. Price Paid > Curr Year > 1st Half > Portable Audio > CO is an aggregate cell;
Original Price >Curr Year > Jan > Camcorders > CO is another aggregate cell.
Values for aggregate cells must be rolled up from lower-level values.
Aggregate cell values are calculated for each request, or they can be precalculate and stored on disk.
Aggregate Views
When Essbase defines which aggregate cells to precalculate and store, it works with aggregate views. An
aggregate view is a collection of aggregate cells. The collection is based on the levels of the members
within each dimension.
For example, consider one aggregate view for the outline in Figure 171 on page 954. This aggregate view
includes aggregate cells for the following dimension levels:
● Measures dimension, level 0
● Years dimension, level 0
● Time dimension, level 1 of hierarchy 0
● Product dimension, level 2 of hierarchy 0
● Geography dimensions, level 0
The example aggregate view is shown as 0, 0, 1/0, 2/0, 0
Aggregations
Aggregations are consolidations, based on outline hierarchy, of level 0 data values. An aggregation
contains one or more aggregate views. Essbase provides an intelligent aggregation process that selects
aggregate views to be rolled up, aggregates them, and then stores the values for the cells in the selected
views. If an aggregation includes aggregate cells dependent on level 0 values that are changed through a
data load, the higher-level values are automatically updated at the end of the data load process.
The term aggregation is used for the aggregation process and the set of values stored as a result
of the process.
Aggregation Scripts
Each aggregation script is a file that defines a particular selection of aggregate views to be materialized.
The Administration Services Aggregation Design Wizard enables you to create aggregation scripts and
store them in the database directory as text files with the. csc extension.
Performing Database Aggregations
You can use either Administration Services Aggregation Design Wizard or MaxL statements to perform an
aggregation. The aggregation process has two phases:
● Aggregate view selection.
● Calculation and storage of values for the selected aggregate views. This phase is also called the
materialization of the aggregation.
Aggregate storage cache facilitates memory usage during data loads, aggregations, and retrievals. You can
view the current aggregate cache memory allocation and the maximum aggregate cache size setting.
Changing the setting may optimize memory use. The default maximum cache size, 32 MB, is the minimum
setting size. You can use the size of input-level data to determine when to increase the maximum size for
the cache. Administration Services and MaxL display the size of input-level data as the aggregate storage
database property: Size of level 0 values.
A 32 MB cache setting supports a database with approximately 2 GB of input-level data. If the input-level
data size is greater than 2 GB by some factor, the aggregate storage cache can be increased by the square
root of the factor. For example, if the input-level data size is 3 GB (2 GB * 1.5), multiply the aggregate
storage cache size of 32 MB by the square root of 1.5, and set the aggregate cache size to the result: 39.04
MB.
For aggregation materialization performance, consider the number of threads set for parallel calculation.
The aggregation materialization process uses multiple threads that divide the aggregate storage cache.
Increasing the number of threads specified in the CALCPARALLEL configuration setting for aggregate
storage applications or databases may require an increase in aggregate storage cache size. See the
CALCPARALLEL configuration setting.
ASO and BSO
Summary Difference
The main difference between ASO and BSO as show you as below:
1. ASO can support large scale of member such as Customer individual analysis, for example if your
customer dimension has 1M members, the aggregate calculation time will very faster than BSO.
2. ASO cannot support write-back but BSO can support that feature (Write-Back = Input data directly
back to Essbase Cube)
3. ASO can support large scale aggregation but for another purpose such as what-if or allocation should
use BSO.
4. For architecture of calculation, ASO use MDX script, BSO use Calc Script.
5. For Cube that have many dimension and more member, ASO can save storage space more than BSO
6. We can use in-line formula on BSO outline but ASO cannot use that
7) When you Add or Delete or changing the outline the entire data will remove.
8) There is no right back option.
9) In a standard Dimension + & ~ consolidation property only .In measure -,/,% other symbols are there..
10) Only one database for Application.
11) There are no Calculation scripts and formulas.
12) Two pass, Variance are not used in ASO.
Aggregate storage applications differ from block storage applications in both concept and design.
Storage Kernel: Architecture that supports rapid aggregation, optimized to support high dimensionality
and sparse data. It doesn’t have Dense/Sparse concepts.
Physical storage definition Through the Application Properties window,
Tablespaces tab in Administration Services.
Database creation migrate a block storage outline or define after application creation.
ASO Support only one Database.
1) Database calculation Aggregation of the database, which can be predefined by defining aggregate
views
2) Calculation script is not supported by ASO. Only outline consolidation.
3) Formulas Allowed with the following restrictions:
4) Must be valid numeric value expressions written in MDX (cannot contain % operator, replace with
expression: (value1/value2)*100)
5) No support for Essbase calculation functions
6) On dynamic hierarchy members, formulas are allowed without further restrictions.
7) Calculation order Member formula calculation order can be defined by the user using the solve
order member property
8) Attribute calculations dimension Support for Sum
1) In ASO level 0 cells whose values do not depend on formulas in the outline are loaded whereas in
BSO data can be loaded at any level (other than Dynamic Calc).
At the end of a data load, if an aggregation exists, the values in the aggregation are recalculated
automatically whereas in BSO it has to be explicitly call i.e calc all. Block storage No automatic update of
values. To update data values you must execute all necessary calculation scripts.
2) Aggregate storage databases can contain multiple slices of data. Data slices can be merged.
3) The loading of multiple data sources into aggregate storage databases is managed through
temporary data load buffers.
Stored Hierarchies
1) Members of stored hierarchies are aggregated according to the outline structure. Because
aggregate storage databases are optimized for aggregation, the aggregation of data values for stored
hierarchies is very fast. To allow this fast aggregation, members of stored hierarchies have the following
restrictions:
2) Stored hierarchies can have the no-consolidation (~) operator (only underneath Label Only
members) or the addition (+) operator.
3) Stored hierarchies cannot have formulas.
Dynamic Hierarchies
To evaluate a dynamic hierarchy, Essbase calculates rather than aggregates the members and formulas.
The order in which members and formulas are evaluated is defined by the solve order property. At the
time of retrieval, Essbase calculates the required member combinations and calculates any required
outline member formulas. Because dynamic hierarchies are calculated, the data retrieval time may be
longer than for data retrieved from stored hierarchies. However, when you design your database,
dynamic hierarchies provide the following advantages
1) Dynamic hierarchies can contain any consolidation operator.
2) Dynamic hierarchies can have formulas.
Alternate Hierarchies