OLAP (Online Analytical Processing) is a way of structuring data so that it reflects business needs. For example, a business might organize its sales force via regions, say the Eastern and Western sales regions. These two regions might then be broken down into states. In an OLAP database, this organization would be used to structure the sales data so that the VP of sales could see the sales figures for each region. The VP might then want to see the Eastern region broken down by state so that the performance of individual state sales managers could be evaluated. All OLAP does is reflect the business in the data structure.
The power of OLAP is the ability to create these business structures (sales regions, product categories, fiscal calendar, partner channels, etc.) and combine them in such a way as to allow users to quickly answer business questions. "How many blue sweaters were sold via mail-order in New York so far this year?" is the kind of question that OLAP is very good at answering. Users can interactively slice the data and drill down to the details they are interested in.
In terms of the technology, an OLAP database can be implemented on top of an existing relational database (this is called ROLAP, for Relational OLAP) or it can be implemented via a specialized data store (this is called MOLAP, for Multidimensional OLAP). In ROLAP, the data request is translated into SQL and the relational database is queried for the answer. In MOLAP, the specialized data store is preloaded with the answers to (all) possible queries so that any request for data can be returned quickly. Obviously there are performance and storage tradeoffs between these two approaches (there is a technology called HOLAP which attempts to combine these two approaches).
For more information, check out SearchCRM's Best Web Links on Data Mining.
This was first published in March 2002