Professional Documents
Culture Documents
Essbase Is A Multidimensional
Essbase Is A Multidimensional
The term "on-line analytical processing" (OLAP) was coined by database researcher E. F.
Codd in a whitepaper that set out twelve rules for analytic systems, an allusion to his
earlier famous set of twelve rules defining the relational model. This whitepaper,
published by Computerworld, was somewhat explicit in its reference to Essbase features,
and when it was later discovered that Codd had been sponsored by Arbor Software,
Computerworld controversially withdrew the paper.[3]
Many Hyperion products were renamed in 2005, giving Essbase an official name of
Hyperion System 9 BI+ Analytic Services, but the new name was largely ignored by
practitioners. The Essbase brand was later returned to the official product name for
marketing purposes, but the server software still carried the "Analytic Services" title until
it was incorporated into Oracle's Business Intelligence product suite. [4]
Hyperion Essbase was named as one of the 10 most influential technology innovations of
the last 10 years by Information Age magazine in its 10th anniversary issue, along with
Netscape, Blackberry, Google, virtualization, Voice Over IP (VOIP), Linux, XML, the
Pentium processor and ADSL. Editor Kenny MacIver said: "Hyperion Essbase was the
multi-dimensional database technology that put online analytical processing on the
business intelligence map. It has spurred the creation of scores of rival OLAP products –
and billions of OLAP cubes".
Contents
[hide]
• 7 External links
If a user wants to break down these values by Region, for example, this typically involves
the duplication of this table on multiple spreadsheets:
[edit] Sparsity
A technical problem faced by multidimensional databases is the physical representation
of data as the number and size of dimensions increases. Say the above example was
extended to add a "Customer" and "Product" dimension:
If the multidimensional database reserved storage space for every possible value, it would
need to store 2,400,000,000 (4 × 4 × 3 × 10000 × 5000) cells. If each cell is represented
as a 64-bit floating point value, this equates to a memory requirement of at least 17
gigabytes. In practice, of course, the number of combinations of "Customer" and
"Product" that contain meaningful values will be a tiny subset of the total space. This
property of multi-dimensional spaces is referred to as sparsity.
[edit] Aggregation
OLAP systems generally provide for multiple levels of detail within each dimension by
arranging the members of each dimension into one or more hierarchies. A Time
dimension, for example, may be represented as a hierarchy starting with "Total Time",
and breaking down into multiple years, then quarters, then months. An Accounts
dimension may start with "Profit", which breaks down into "Sales" and "Expenses", and
so on.
In the example above, if "Product" represents individual product SKUs, analysts may
want to also be able to report using aggregations such as "Product Group", "Product
Family", "Product Line", etc. Similarly, for "Customer", natural aggregations may
arrange customers according to geographic location or industry.
The number of aggregate values implied by a set of input data can be surprisingly large.
If the Customer and Product dimensions are each in fact six "generations" deep, then 36
(6 × 6) aggregate values are affected by a single data point. It follows that if all these
aggregate values are to be stored, the amount of space required is proportional to the
product of the depth of all aggregating dimensions. For large databases, this can cause the
effective storage requirements to be many hundred times the size of the data being
aggregated.
Put briefly, Essbase requires the developer to tag dimensions as "dense" or "sparse". The
system then arranges data to represent the hypercube into "blocks", where each block is
multi-dimensional array made up of "dense" dimensions, and space is allocated for every
potential cell in that block. Sparsity is exploited because the system only creates blocks
when required. In the example above, say the developer has tagged "Accounts" and
"Time" as "dense", and "Region", "Customer, and "Product" as "sparse". If there are, say,
12,000 combinations of Region, Customer and Product that contain data, then only
12,000 blocks will be created, each block large enough to store every possible
combination of Accounts and Time. The number of cells stored is therefore 192000 (4 × 4
× 12000), requiring under 2 megabytes of memory, plus the size of the index used to look
up the appropriate blocks.
Because this implementation is hidden from front-end tools (i.e., a report that attempts to
retrieve data from non-existent cells merely sees "null" values), the full hypercube can be
navigated naturally, and it is possible to load values into any cell interactively.
The second method (stored calculations) uses a formula against each calculated
dimension member -- when Essbase calculates that member, the result is stored against
that member just like a data value.
The third method (dynamic calculation) is specified in exactly the same format as stored
calculations, but are calculated when a value addressed by that member is accessed by a
user, and are not stored.
The fourth method (calculation scripts) uses a procedural programming language specific
to the Essbase calculation engine. This type of calculation may act upon any data value in
the hypercube, and can therefore be used to perform calculations that cannot be expressed
as a simple formula.
A calculation script must also be executed to trigger the calculation of aggregated values
or stored calculations as described above -- a built-in calculation script (called the
"default calculation") can be used to execute this type of calculation.
Following a data load, Essbase ASO does not store any aggregate values, but instead
calculates them on demand. For large databases, where the time required to generate
these values is inconvenient, the database can materialize one or more aggregate "views",
made up of one aggregate level from each dimension (for example, the database may
calculate all combinations of the fifth generation of Product with the third generation of
Customer), and these views are then used to generate other aggregate values where
possible. This process can be partially automated, where the administrator specifies the
amount of disk space that may be used, and the database generates views according to
actual usage.
The major drawback of this approach is that the cube cannot be treated for calculation
purposes as a single large hypercube, because aggregate values cannot be directly
controlled, so write-back from front-end tools is limited, and complex calculations that
cannot be expressed as MDX expressions are not possible.
The first method (dimension aggregation) is basically the same as for Essbase BSO.
With the release of System 9, Hyperion provided a new user interface add-in for Essbase
called "SmartView for Microsoft Office". SmartView provides access to Essbase and
other System 9 content for Microsoft Powerpoint, Microsoft Word, Microsoft Outlook as
well as supplanting the previous add-in for Microsoft Excel.
In 2005, Hyperion began to offer a visualization tool called Tableau under the name
"Hyperion Visual Explorer".[3] Tableau was originally developed at Stanford University as
a government-sponsored research project to investigate new ways for users to interact
with relational and OLAP databases.
The previous offerings from Hyperion are offered with new names as given below:
An API is available for C, Visual Basic and Java, and embedded scripting support is
available for Perl. The standardised XML for Analysis protocol can be used to query
Essbase data sources using the MDX language.
[edit] References
http://download.oracle.com/docs/cd/E10530_01/doc/index.htm
1. ^ a b Earle, Robert J. (1992) "Method and apparatus for storing and retrieving
multi-dimensional data in computer memory". United States Patent 5,359,724
assigned to Arbor Software Corporation.
2. ^ Hyperion Solutions Corporation (2006). Essbase Database Administrator's
Guide.
3. ^ Tableau Software (2005). Tableau Software Lands Global OEM Deal with
Hyperion. Press release.