You are on page 1of 5

Online analytical processing

In computing, online analytical processing, or OLAP


(/olp/), is an approach to answering multi-dimensional
analytical (MDA) queries swiftly.[1] OLAP is part of the
broader category of business intelligence, which also encompasses relational database, report writing and data
mining.[2] Typical applications of OLAP include business
reporting for sales, marketing, management reporting,
business process management (BPM),[3] budgeting and
forecasting, nancial reporting and similar areas, with
new applications coming up, such as agriculture.[4] The
term OLAP was created as a slight modication of the
traditional database term online transaction processing
(OLTP).[5]

a relational database. Measures are derived from the


records in the fact table and dimensions are derived from
the dimension tables.
Each measure can be thought of as having a set of labels, or meta-data associated with it. A dimension is what
describes these labels; it provides information about the
measure.
A simple example would be a cube that contains a stores
sales as a measure, and Date/Time as a dimension. Each
Sale has a Date/Time label that describes more about that
sale.
For example:

OLAP tools enable users to analyze multidimensional


data interactively from multiple perspectives. OLAP consists of three basic analytical operations: consolidation
(roll-up), drill-down, and slicing and dicing.[6] Consolidation involves the aggregation of data that can be accumulated and computed in one or more dimensions. For
example, all sales oces are rolled up to the sales department or sales division to anticipate sales trends. By
contrast, the drill-down is a technique that allows users to
navigate through the details. For instance, users can view
the sales by individual products that make up a regions
sales. Slicing and dicing is a feature whereby users can
take out (slicing) a specic set of data of the OLAP cube
and view (dicing) the slices from dierent viewpoints.

Sales Fact Table +-------------+----------+ | sale_amount


| time_id | +-------------+----------+ Time Dimension |
2008.10| 1234 |---+ +---------+-------------------+ +------------+----------+ | | time_id | timestamp | | +---------+------------------+ +---->| 1234 | 20080902 12:35:43 | +--------+-------------------+

1.1 Multidimensional databases


Multidimensional structure is dened as a variation of
the relational model that uses multidimensional structures
to organize data and express the relationships between
data.[8] The structure is broken into cubes and the cubes
are able to store and access data within the connes of
each cube. Each cell within a multidimensional structure contains aggregated data related to elements along
each of its dimensions.[9] Even when data is manipulated it remains easy to access and continues to constitute
a compact database format. The data still remains interrelated. Multidimensional structure is quite popular for
analytical databases that use online analytical processing
(OLAP) applications.[10] Analytical databases use these
databases because of their ability to deliver answers to
complex business queries swiftly. Data can be viewed
from dierent angles, which gives a broader perspective
of a problem unlike other models.[11]

Databases congured for OLAP use a multidimensional


data model, allowing for complex analytical and ad hoc
queries with a rapid execution time.[7] They borrow aspects of navigational databases, hierarchical databases
and relational databases.

Overview of OLAP systems

At the core of any OLAP system is an OLAP cube (also


called a 'multidimensional cube' or a hypercube). It consists of numeric facts called measures which are categorized by dimensions. The measures are placed at the intersections of the hypercube, which is spanned by the dimensions as a vector space. The usual interface to manipulate an OLAP cube is a matrix interface like Pivot
tables in a spreadsheet program, which performs projection operations along the dimensions, such as aggregation
or averaging.

1.2 Aggregations

It has been claimed that for complex queries OLAP cubes


can produce an answer in around 0.1% of the time required for the same query on OLTP relational data.[12][13]
The most important mechanism in OLAP which allows it
The cube metadata is typically created from a star schema to achieve such performance is the use of aggregations.
or snowake schema or fact constellation of tables in Aggregations are built from the fact table by changing
1

the granularity on specic dimensions and aggregating up


data along these dimensions. The number of possible aggregations is determined by every possible combination
of dimension granularities.
The combination of all possible aggregations and the base
data contains the answers to every query which can be
answered from the data.[14]

TYPES

It is very compact for low dimension data sets.


Array models provide natural indexing.
Eective data extraction achieved through the prestructuring of aggregated data.

Disadvantages of MOLAP
Because usually there are many aggregations that can be
calculated, often only a predetermined number are fully
Within some MOLAP Solutions the processing step
calculated; the remainder are solved on demand. The
(data load) can be quite lengthy, especially on large
problem of deciding which aggregations (views) to caldata volumes. This is usually remedied by doing
culate is known as the view selection problem. View seonly incremental processing, i.e., processing only
lection can be constrained by the total size of the selected
the data which have changed (usually new data) inset of aggregations, the time to update them from changes
stead of reprocessing the entire data set.
in the base data, or both. The objective of view selection
is typically to minimize the average time to answer OLAP
Some MOLAP methodologies introduce data requeries, although some studies also minimize the update
dundancy.
time. View selection is NP-Complete. Many approaches
to the problem have been explored, including greedy algorithms, randomized search, genetic algorithms and A*
2.2 Relational
search algorithm.
Main article: ROLAP

Types

OLAP systems have been traditionally categorized using


the following taxonomy.[15]

2.1

Multidimensional

Main article: MOLAP

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. It depends on a specialized schema
design. This methodology relies on manipulating the data
stored in the relational database to give the appearance
of traditional OLAPs slicing and dicing functionality. In
essence, each action of slicing and dicing is equivalent to
adding a WHERE clause in the SQL statement. ROLAP tools do not use pre-calculated data cubes but instead pose the query to the standard relational database
and its tables in order to bring back the data required to
answer the question. ROLAP tools feature the ability to
ask any question because the methodology does not limit
to the contents of a cube. ROLAP also has the ability to
drill down to the lowest level of detail in the database.

MOLAP is a multi-dimensional online analytical processing. 'MOLAP' is the 'classic' form of OLAP and
is sometimes referred to as just OLAP. MOLAP stores
this data in an optimized multi-dimensional array storage, rather than in a relational database. Therefore it requires the pre-computation and storage of information in
the cube - the operation known as processing. MOLAP
tools generally utilize a pre-calculated data set referred to
as a data cube. The data cube contains all the possible an- 2.3 Hybrid
swers to a given range of questions. MOLAP tools have
a very fast response time and the ability to quickly write Main article: HOLAP
back data into the data set.
Advantages of MOLAP
Fast query performance due to optimized storage,
multidimensional indexing and caching.
Smaller on-disk size of data compared to data stored
in relational database due to compression techniques.
Automated computation of higher level aggregates
of the data.

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 addresses the shortcomings
of MOLAP and ROLAP by combining the capabilities
of both approaches. HOLAP tools can utilize both precalculated cubes and relational data sources.

2.4

Comparison

Hyperion announced the XML for Analysis specication,


which was endorsed by most of the OLAP vendors. Since
Each type has certain benets, although there is dis- this also used MDX as a query language, MDX became
agreement about the specics of the benets between the de facto standard.[17] Since September-2011 LINQ
providers.
can be used to query SSAS OLAP cubes from Microsoft
.NET.[18]
Some MOLAP implementations are prone to
database explosion, a phenomenon causing vast
amounts of storage space to be used by MOLAP 4
databases when certain common conditions are met:
high number of dimensions, pre-calculated results 4.1
and sparse multidimensional data.
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.[16]
ROLAP is generally more scalable.[16] However,
large volume pre-processing is dicult to implement eciently so it is frequently skipped. ROLAP
query performance can therefore suer tremendously.
Since ROLAP relies more on the database to perform calculations, it has more limitations in the specialized functions it can use.
HOLAP encompasses a range of solutions that attempt to mix the best of ROLAP and MOLAP. It
can generally pre-process swiftly, scale well, and offer good function support.

2.5

Other types

The following acronyms are also sometimes used, although they are not as widespread as the ones above:
WOLAP - Web-based OLAP
DOLAP - Desktop OLAP
RTOLAP - Real-Time OLAP

APIs and query languages

Unlike relational databases, which had SQL as the standard query language, and widespread APIs such as
ODBC, JDBC and OLEDB, there was no such unication in the OLAP world for a long time. The rst real
standard API was OLE DB for OLAP specication from
Microsoft which appeared in 1997 and introduced the
MDX query language. Several OLAP vendors - both
server and client - adopted it. In 2001 Microsoft and

Products
History

The rst product that performed OLAP queries was Express, which was released in 1970 (and acquired by Oracle
in 1995 from Information Resources).[19] However, the
term did not appear until 1993 when it was coined by
Edgar F. Codd, who has been described as the father of
the relational database. Codds paper[1] resulted from a
short consulting assignment which Codd undertook for
former Arbor Software (later Hyperion Solutions, and
in 2007 acquired by Oracle), as a sort of marketing
coup. The company had released its own OLAP product, Essbase, a year earlier. As a result Codds twelve
laws of online analytical processing were explicit in their
reference to Essbase. There was some ensuing controversy and when Computerworld learned that Codd was
paid by Arbor, it retracted the article. OLAP market experienced strong growth in late 90s with dozens of commercial products going into market. In 1998, Microsoft
released its rst OLAP Server - Microsoft Analysis Services, which drove wide adoption of OLAP technology
and moved it into mainstream.

4.2 Product comparison


Main article: Comparison of OLAP Servers

4.3 Market structure


Below is a list of top OLAP vendors in 2006, with gures
in millions of US Dollars.[20]

5 See also
Comparison of OLAP Servers
Data warehouse
Online transaction processing (OLTP)
Business analytics
Predictive analytics
Data Mining
Thomsen Diagrams

Bibliography
Daniel Lemire (December 2007). Data Warehousing and OLAP-A Research-Oriented Bibliography.

REFERENCES

[13] Surajit Chaudhuri and Umeshwar Dayal (1997).


An overview of data warehousing and OLAP
technology. SIGMOD Rec. (ACM) 26 (1): 65.
doi:10.1145/248603.248616. Retrieved 2008-03-20.

Erik Thomsen. (1997). OLAP Solutions: Building


Multidimensional Information Systems, 2nd Edition.
John Wiley & Sons. ISBN 978-0-471-14931-6.

[14] Gray, Jim; Chaudhuri, Surajit; Layman, Andrew; Reichart, Hamid; Venkatrao; Pellow; Pirahesh (1997).
Data Cube: {A} Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals. J. Data
Mining and Knowledge Discovery 1 (1): 2953. Retrieved
2008-03-20.

Ling Liu and Tamer M. zsu (Eds.) (2009).


"Encyclopedia of Database Systems, 4100 p. 60 illus. ISBN 978-0-387-49616-0.

[15] Nigel Pendse (2006-06-27). OLAP architectures.


OLAP Report. Retrieved 2008-03-17.

OBrien, J. A., & Marakas, G. M. (2009). Management information systems (9th ed.). Boston, MA:
McGraw-Hill/Irwin.

[16] Bach Pedersen, Torben; S. Jensen, Christian (December


2001). Multidimensional Database Technology (PDF).
Distributed Systems Online (IEEE): 4046. ISSN 00189162.
[17] Nigel Pendse (2007-08-23). Commentary: OLAP API
wars. OLAP Report. Retrieved 2008-03-18.

References

[1] Codd E.F., Codd S.B., and Salley C.T. (1993). Providing
OLAP (On-line Analytical Processing) to User-Analysts:
An IT Mandate. Codd & Date, Inc. Retrieved 2008-0305.
[2] Deepak Pareek (2007). Business Intelligence for Telecommunications. CRC Press. pp. 294 pp. ISBN 0-84938792-2. Retrieved 2008-03-18.
[3] Apostolos Benisis (2010). Business Process Management:A Data Cube To Analyze Business Process Simulation
Data For Decision Making. VDM Verlag Dr. Mller e.K.
pp. 204 pp. ISBN 978-3-639-22216-6.
[4] Abdullah, Ahsan (2009). Analysis of mealybug incidence on the cotton crop using ADSS-OLAP (Online Analytical Processing) tool , Volume 69, Issue 1.
Computers and Electronics in Agriculture 69 (1): 5972.
doi:10.1016/j.compag.2009.07.003.
[5] OLAP Council White Paper (PDF). OLAP Council.
1997. Retrieved 2008-03-18.
[6] O'Brien & Marakas, 2011, p. 402-403
[7] Hari Mailvaganam (2007). Introduction to OLAP Slice, Dice and Drill!". Data Warehousing Review. Retrieved 2008-03-18.
[8] O'Brien & Marakas, 2009, pg 177
[9] O'Brien & Marakas, 2009, pg 178
[10] (O'Brien & Marakas, 2009)
[11] Williams, C., Garza, V.R., Tucker, S, Marcus, A.M.
(1994, January 24). Multidimensional models boost viewing options. InfoWorld, 16(4)
[12] MicroStrategy, Incorporated (1995). The Case for Relational OLAP (PDF). Retrieved 2008-03-20.

[18] SSAS Entity Framework Provider for LINQ to SSAS


OLAP.
[19] Nigel Pendse (2007-08-23). The origins of todays
OLAP products. OLAP Report. Retrieved November
27, 2007.
[20] Nigel Pendse (2006). OLAP Market. OLAP Report.
Retrieved 2008-03-17.

Text and image sources, contributors, and licenses

8.1

Text

Online analytical processing Source: http://en.wikipedia.org/wiki/Online%20analytical%20processing?oldid=637047288 Contributors:


TwoOneTwo, Leandrod, Michael Hardy, Kku, Alo, Pcb21, Ellywa, Stefan, Elvis, Mydogategodshat, Boson, Dmsar, Jay, Greenrd,
MrJones, Goethean, ZimZalaBim, Tobycat, Psb777, Sj, Foot, Mark T, Beardo, Mboverload, Pgan002, Beland, Gscshoyru, Pasquale,
S.K., Elwikipedista, Kwamikagami, John Vandenberg, .:Ajvol:., Maurreen, Sam Korn, Pearle, JesseHogan, Lemmie, Ringbang, Zanaq,
Woohookitty, Arcann, Miaow Miaow, Kgrr, Tonyproctor, DocRuby, JEB90, DePiep, EbenVisher, Rjwilmsi, Bruce1ee, Jmcc150, FlaBot,
AlexAnglin, Metaeducation, Mbowen, CambridgeBayWeather, Sally Ku, Howcheng, Retired username, Mikeblas, Paul Magnussen, Modify, Jay-Jay, Crost, Kronostos, DocendoDiscimus, Bitterpeanut, Veinor, SmackBot, Ratarsed, CommodiCast, Object01, Flankk, Ohnoitsjamie, Jcarroll, Kher122, Anwar saadat, JonHarder, Sspecter, Jon Awbrey, Wikiolap, Kuru, Ramki, Dll99, Campingcar, Dmuzza, MrDolomite, Markham, FatalError, Germanseneca, SqlPac, CmdrObot, Jherm, Ezrakilty, Jbecher, Cydebot, Tawkerbot4, Thijs!bot, Epbr123,
CharlesHoman, Chris lavigne, AntiVandalBot, Djoni, Dougher, Sansari13, Deective, Saulat78, Sarnholm, Livingthingdan, Imhogan,
S1199, MartinBot, Gary a mason, Tcloonan, Michaell, Tikiwont, Zg, ChanciOly, McSly, Vargabor, Plasticup, Hanacy, Jgiam, VolkovBot,
Philip Trueman, Charleca, TXiKiBoT, Qxz, Drewgut, Zhenqinli, Kerenb, XKL, SieBot, Oaf2, Jarda-wien, Oxymoron83, Magnabonzo,
Afraietta, AlanUS, Peter.vanroose, Founder DIPM Institute, ClueBot, The Thing That Should Not Be, Ndenison, COnFlIcT.sYs, 7, Awbush, DumZiBoT, Dthomsen8, Tbsdy lives, Yabdulkarim, Writerguy71, Addbot, Jagyanseni, DOI bot, Gspoord, Elsendero, Tanhabot,
Mcvearry, MrOllie, Lightbot, Legobot, Yobot, Bunnyhop11, Amirobot, KamikazeBot, Ningauble, Grand ua, AnomieBOT, Rubinbot, 90
Auto, Citation bot, ArthurBot, Masterpra2002, Julianhyde, WorldsEndGirl, Lovedemon84, Jmd wiki99, Hobsonlane, Mark Renier, Selah28, Degrodo, D'ohBot, Cannolis, Citation bot 1, Winterst, Numbsyd, Theo10011, Richmaddox, Alvarezdebrot, Crysb, Lingliu07,
Tsjustme, EmausBot, John of Reading, WikitanvirBot, Slposey, Playmobilonhishorse, F, Jahub, Leonbravo, Larkspurs, L Kensington,
MaGa, Dturner46, ChuispastonBot, ClueBot NG, Snotbot, Gruay, Csp987654321, Danim, Helpful Pixie Bot, AvocatoBot, Anubhab91,
Op47, BattyBot, Chaubals, I am One of Many, Jan.hasller, Lesser Cartographies, Dkwebsub, Dough34, Monkbot, Augbog, Galaktikasoft
and Anonymous: 328

8.2

Images

File:Internet_map_1024.jpg Source: http://upload.wikimedia.org/wikipedia/commons/d/d2/Internet_map_1024.jpg License: CC BY2.5 Contributors: Originally from the English Wikipedia; description page is/was here. Original artist: The Opte Project
File:Mergefrom.svg Source: http://upload.wikimedia.org/wikipedia/commons/0/0f/Mergefrom.svg License: Public domain Contributors:
? Original artist: ?

8.3

Content license

Creative Commons Attribution-Share Alike 3.0

You might also like