OLAP

New
adopt
First Added:July 23, 2026

OLAP (Online Analytical Processing) is the approach of answering multi-dimensional analytical queries fast over large historical datasets. We adopt it as the default vocabulary for warehouses, lakes, and embedded analytic engines versus OLTP.

Blurb

In computing, online analytical processing (OLAP) (/ˈoʊlæp/), is an approach to quickly answer multi-dimensional analytical (MDA) queries.

Summary

What it is: Read-heavy analytics pattern for BI, forecasting, and ad-hoc SQL over fact data. Classic ops include roll-up, drill-down, and slice/dice across dimensions (time, product, region, and so on). Contrasts with OLTP, which optimizes high-volume insert/update/delete of current records.

When to use:

SituationNotes
Warehouses and lakesSnowflake, BigQuery, Trino, Iceberg / DuckLake
Embedded analyticsDuckDB and similar in-process engines
Columnar storageParquet, Arrow layouts favor scan and aggregate
Reporting and planningSales, finance, ops metrics over history

When to skip:

  • High-throughput transactional systems of record (Postgres as OLTP, payment ledgers)
  • Low-latency single-row lookups as the primary workload
  • Calling every SQL database “OLAP” when the real need is CRUD

Trade-offs: Excellent for aggregates and historical analysis; poor fit as the system of record for mutable operational state. Modern “cloud OLAP” often uses columnar SQL engines rather than classic MOLAP cubes alone.

Details

OLAP Vs OLTP

TopicOLAPOLTP
WorkloadComplex reads, aggregatesMany small transactions
Data shapeHistorical, denormalized or star/cubeCurrent, normalized
OptimizationScan, compress, columnarIndexes, write path, integrity
Garden examplesDuckDB, Snowflake, BigQueryPostgres as app DB

Classic Vs Modern Shapes

ShapeNotes
MOLAPMultidimensional cubes (classic OLAP servers)
ROLAPAnalytical SQL over relational stores
HOLAPHybrid of cube and relational
Cloud / lake OLAPSeparated storage/compute; Parquet + table formats

Related Garden Items

References