# What is OLAP?
OLAP stands for Online Analytical Processing. It’s a powerful tool for multidimensional business data analysis, offering complex calculations, trend analysis, and advanced data modeling capabilities.
An OLAP cube is a specialized multidimensional database, optimized for data warehouse and OLAP applications. It stores data in a multi-dimensional form, primarily for reporting. In these cubes, data (measures) are organized by dimensions.
Microsoft, in the late 1990s, introduced a query language for OLAP cubes called Multidimensional Expressions (MDX), which many other multidimensional database vendors have since adopted. However, managing an OLAP cube with MDX requires specific expertise.
# Modern vs. Traditional OLAP Cubes
SSAS embodies traditional OLAP. It remains widely used and is a prominent figure in the OLAP cube world. Developed in the late 1990s, SSAS introduced the MDX query language for data querying and analysis.
Traditional cubes had the advantage of pre-processing, with most queries cached in advance. The disadvantage was the inflexibility of changing measures quickly. Alterations required modifying the solution, redeploying it in production, and reprocessing the entire cube.
Modern OLAP systems, in contrast, allow defining queries and measures at the time of querying without pre-processing the entire cube. In this chapter, I focus on modern OLAP systems like Apache Druid, Apache Pinot, and ClickHouse. These systems offer exceptional performance for customer-facing or sub-second experiences, which Cloud Data Warehouses cannot match.
Modern OLAP systems closely resemble a Semantic Layer with caching functionality. A Semantic Layer is essentially an OLAP cube but with additional features like access permissions, an API layer, and included data modeling. More insights on this can be found in The Rise of the Semantic Layer.
There is no OLAP without Cubes, therefore these two terms are highly interlinked.
But, OLAP is a broad concept, encompassing the entire process of online analytical processing. This includes not just the storage of data, but also the methods and technologies used for enabling and performing complex analytical operations. It’s a category of software that allows users to analyze information from multiple database systems at the same time. It’s about the capability to process large volumes of data quickly to extract actionable insights, often in a business context. OLAP is the ‘how’ of multidimensional data analysis.
An OLAP cube, on the other hand, is a specific data structure or a storage paradigm within the OLAP framework. It’s a method to store data in a multidimensional form, which makes it easier to run complex queries and generate reports. Each dimension of the cube represents a different attribute or field of data, and the cube itself is optimized specifically for quick retrieval and analysis of data. Managing an OLAP cube efficiently, especially with query languages like MDX, requires specialized knowledge.
OLAP, what’s coming next? | ssp.sh