Online analytical processing
lastmod 2021-05-31created 2021-05-312 edits
Online analytical processing (OLAP) is a representative example of a decision support system. It helps users perform multidimensional data analysis by viewing the same data in various ways using multiple criteria.
OLAP was first proposed by Edgar F. Codd in 1993, who defined OLAP as the process in which users directly access multidimensional information, analyze it interactively, and use it for decision making. This technology showed companies the potential to use information beyond simple transaction processing, and it led to greater emphasis on the importance of decision making through active use of data.
OLAP emerged from the process in which end users directly access multidimensional information, analyze it interactively, and use it for decision making. Because users access data directly online and analyze information interactively, its purpose can be said to be helping users understand the overall situation of the company and supporting decision making.
Characteristics
The characteristics of online analytical processing are as follows.
- Provides multidimensional information
- A feature of OLAP is analyzing multidimensional information directly and interactively. Databases are usually two-dimensional, but what the business side demands is multidimensional. So OLAP builds a multidimensional database and extracts information with a specialized database engine.
- Users access data directly without intermediaries
- With OLAP, users access data online without intermediaries. It can be used for home banking, VOD, TV shopping, and so on.
- Interactive information analysis
- In OLAP, information is analyzed interactively. Because it proceeds interactively, users do not issue a command and wait long. Therefore speed is important. Queries from users must be processed quickly.
- Decision support
- Queries, goal seeking, cause-and-effect analysis
Open source
- Mondrian OLAP server is an open-source OLAP server written in Java. It supports the MDX query language, the XML for Analysis and the olap4j interface specifications.
- Apache Druid is a popular open-source distributed data store for OLAP queries that is used at scale in production by various organizations.
- Apache Kylin is a distributed data store for OLAP queries originally developed by eBay.
- Cubes (OLAP server) is another light-weight open-source toolkit implementation of OLAP functionality in the Python programming language with built-in ROLAP.
- Apache Pinot (incubating) is used at LinkedIn, Uber, Slack and Microsoft to deliver scalable real time analytics with low latency. It can ingest data from offline data sources (such as Hadoop and flat files) as well as online sources (such as Kafka). Pinot is designed to scale horizontally.
- ClickHouse is a fairly new column orientated DBMS focusing on fast processing and response times.