Online Analytical Processing, or OLAP, is a methodology design
to quickly provideanswers to analytical queries that are multidimensional
in nature. The term OLAP replaces the traditional database term
OLTP [Online Transaction Processing].
OLAP is part of business intelligence which also includes:
- Extract Transform Load (ETL)
- Relational Reporting
- Data Mining
OLAP is typically used in business reporting for sales, marketing,
management reporting, business process management (BPM), budgeting
and forecasting, financial reporting and other similar areas.
OLAP Data Models
Databases configured for OLAP use a multidimensional data model.
This allows for complex analytical and ad-hoc queries with a rapid
OLAP databases utilize aspects of both navigational databases and
hierarchical databases to support the speed required, making them
significantly faster than relational databases.
The output of an OLAP query is typically displayed in a matrix
[pivot] format. The dimensions form the row and column of the matrix;
the measures, the values.
The core concept of of any OLAP system is an OLAP cube [multidimensional
cube or a hypercube].
The cube consists of numeric facts called measures which are categorized
- Metadata is typically created from a star schema
or snowflake schema of tables in a relational database.
- Measures are derived from the records in the
- Dimensions are derived from the dimension tables.
For complex queries OLAP cubes can produce an answer in around
0.1% of the time for the same query on OLTP relational data. This
performance is due to the use of aggregations.
Aggregations are essentially views of a data set, built from the
fact table by changing the granularity on specific dimensions and
aggregating up data along these dimensions. The number of possible
aggregations is determined by every possible combination of dimension
The combination of all possible aggregations and the base data
contain the answers to every query which can be answered from the
Since there are potentially a large number of aggregations to be
calculated, often only a predetermined number are fully calculated,
whilst the rest are solved on demand.
The decision as to which aggregations [views] to calculate is known
as the view selection problem.
View selection can be constrained by:
- the total size of the selected set of aggregations
- the time to update them from changes in the base data
- or both.
The objective of view selection is to minimize the average time
to answer OLAP queries, and also minimize the update time.
Many different approaches have been taken to view selection, including
greedy algorithms, randomized search, genetic algorithms and A*
Derivatives of OLAP
There are several derivatives of OLAP: MOLAP, ROLAP, HOLAP. Each
OLAP type has certain benefits and certain issues. Preference comes
down to personal experience and confidence at to whether the goals
of the database will best be achieved.
MOLAP is the 'classic' form of OLAP and is sometimes referred to
as just OLAP.
MOLAP uses database structures that are generally optimal for attributes
such as time period, location, product or account code. The way
that each dimension will be aggregated is defined in advance by
one or more hierarchies.
In MOLAP [Multidimensional OLAP] products, the cube is populated
by copying snapshot of the data from the data source.
MOLAP generally delivers better performance due to specialized
indexing and storage optimizations. MOLAP also needs less storage
space compared to ROLAP because the specialized storage typically
includes compression techniques.
Some MOLAP implementations are prone to database explosion. Database
explosion is a phenomenon causing vast amounts of storage space
to be used by MOLAP databases when certain common conditions are
- high number of dimensions
- pre-calculated results
- sparse multidimensional data.
The typical mitigation technique for database explosion is not
to materialize all the possible aggregation, but only the optimal
subset of aggregations based on the desired performance vs. storage
ROLAP [Relational OLAP] products work directly against the data
source without copying data.
ROLAP works directly with relational databases. The base data and
the dimension tables are stored as relational tables and new tables
are created to hold the aggregated information. Depends on a specialized
ROLAP is generally more scalable.
Large volume pre-processing is difficult to implement efficiently
so it is frequently skipped. ROLAP query performance can therefore
Since ROLAP relies more on the database to perform calculations,
it has more limitations in the specialized functions it can use.
HOLAP [Hybrid OLAP] products combine the previous two approaches.
There is no clear agreement across the industry as to what constitutes
"Hybrid OLAP", except that a database will divide data
between relational and specialized storage.
For example, for some vendors, a HOLAP database will use relational
tables to hold the larger quantities of detailed data, and use specialized
storage for at least some aspects of the smaller quantities of more-aggregate
or less-detailed data.
HOLAP encompasses a range of solutions that attempt to mix the
best of ROLAP and MOLAP. It can generally pre-process quickly, scale
well, and offer good function support.
Other OLAP Types
Other forms of OLAP so so common include:
- WOLAP - Web-based OLAP
- DOLAP - Desktop OLAP
- RTOLAP - Real-Time OLAP
- SOLAP - Spatial OLAP (see Location intelligence)
One of the key problems with OLAP tools is that they each use a
proprietary approach to formatting data, that is not always compatable
with other makes.
The main OLAP products and their 2006 market share include:
According to the influential OLAP Report site, the market shares
for the top commercial OLAP products in 2006 were:
- Microsoft Corporation - 31.6%
- Hyperion Solutions Corporation - 18.9%
- Cognos - 12.9%
- Business Objects - 7.3%
- MicroStrategy - 7.3%
- SAP AG - 5.8%
- Cartesis SA - 3.7%
- Applix - 3.6%
- Infor - 3.5%
- Oracle Corporation - 2.8%