What is the difference between OLTP and OLAP, and what is a data warehouse?
OLTP (Online Transaction Processing) systems run the business. They handle many small, fast reads and writes — placing an order, updating a profile. They are normalised to avoid update anomalies, optimised for write throughput and row-level access, and hold current state.
OLAP (Online Analytical Processing) systems analyse the business. They handle fewer, much larger queries scanning millions of rows to aggregate. They are denormalised for query simplicity and speed, often column-oriented, and hold history.
Why they must be separate: running a heavy analytical query against the production transactional database competes for resources with the application, and can slow or block real customers. Beyond a small scale, this is not optional.
A data warehouse is the OLAP store — a central repository consolidating data from multiple source systems, cleaned and structured for analysis, holding history rather than just current state. Modern examples are BigQuery, Snowflake, and Redshift.
Related concepts:
- A data lake stores raw data in its native format, structured or not, cheaply and at scale. Flexible, but without governance it becomes a data swamp nobody can use.
- A data mart is a subset of a warehouse serving one team or function.
- A lakehouse combines lake storage economics with warehouse structure and transactions.
Note: ETL versus ELT is the natural follow-up — modern cloud warehouses are powerful enough to transform after loading, so ELT has largely replaced ETL.





