Essbase: Stable Release Operating System Type License
Essbase: Stable Release Operating System Type License
The database researcher E. F. Codd coined the term "on-line analytical processing"
(OLAP) in a whitepaper[2] 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 withdrew the paper.[3]
Hyperion renamed many of its products 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. [1]
In August 2005, Information Age magazine named Essbase as one of the 10 most
influential technology innovations of the previous 10 years,[4] along with Netscape, the
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]
• 10 External links
[edit] Sparsity
If the multidimensional database reserved storage space for every possible value, it would
need to store 2,400,000,000 (4 × 4 × 3 × 10,000 × 5,000) cells. If the software maps each
cell as a 64-bit floating point value, this equates to a memory requirement of at least 17
gigabytes (exactly 19.2GB). 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 also
want 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 become 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
comprises a 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 gigabytes of memory (exact
1,536MB), plus the size of the index used to look up the appropriate blocks.
Because the database hides this implementation 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 first method (dimension aggregation) takes place implicitly through addition, or by
selectively tagging branches of the hierarchy to be subtracted, multiplied, divided or
ignored. Also, the result of this aggregation can be stored in the database, or calculated
dynamically on demand—members must be tagged as "Stored" or "Dynamic Calc." to
specify which method is to be used.
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 calculates a result when a user accesses a value addressed by that
member; the system does not store such calculated values.
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 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 may become 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.
This approach has a major drawback in 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) basically duplicates the algorithm used by
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" [2] (2005). Tableau originated 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 acquired new names as given below:
APIs are available for C, Visual Basic and Java, and embedded scripting support is
available for Perl. The standardised XML for Analysis protocol can query Essbase data
sources using the MDX language.
In 2007, Oracle Corporation began bundling Hyperion BI tools into Oracle Business
Intelligence Enterprise Edition Plus.
[edit] Competitors
There are several significant competitors among the OLAP, analytics products to that of
Essbase (HOLAP/MOLAP) on the market, among them Microsoft SQL Server Microsoft
Analysis Services, (MOLAP, HOLAP, ROLAP), IBM Cognos (ROLAP),
IBM/Cognos/Applix TM1 (MOLAP), Oracle OLAP (ROLAP/MOLAP), and
MicroStrategy (ROLAP).
Also note that of the above competitors, including Essbase, all use heterogenous
relational (Microsoft SQL Server, Oracle, IBM DB/2, TeraData, Access, etc.) or non-
relational data sourcing (Excel, text Files, CSV Files, etc.) to feed the cubes (facts and
dimensional data), except for Oracle OLAP which may only use Oracle relational
sourcing.
[edit] References
v11.1.1.3 documentation: *
http://download.oracle.com/docs/cd/E12825_01/nav/portal_3.htm
1. ^ http://www-306.ibm.com/software/data/db2/db2olap/
2. ^ Codd, E. F.; S B Codd; C T Salley (1993-07-26). "Providing OLAP to User-Analysts:
An IT Mandate". Computerworld.
3. ^ http://www.regdeveloper.com/2007/01/26/olap_speed/
4. ^
http://web.archive.org/web/20070927190115/http://www.hyperion.com/company/news/n
ews_releases/press_release_2005_000512.cfm
5. ^ 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.
6. ^ Hyperion Solutions Corporation (2006). Essbase Database Administrator's Guide.