All posts
postMay 20, 2026

Why use a data warehouse?

#data-warehouse#concepts#architecture
Why not just run analytics queries on the production database?

Production databases are tuned for fast single-row operations, not for scanning millions of rows for a report. Heavy analytics queries slow the app for real users. A data warehouse is a separate columnar store built specifically for fast aggregations over huge datasets.

Operational databases (Postgres, MySQL) are optimized for fast single-row reads and writes — what your app needs to load a user profile or save an order. Running heavy analytics queries against them slows down the app and produces slow reports.

A data warehouse is a separate, columnar database optimized for analytical queries over large datasets. You copy data into it on a schedule, and analysts query it freely without touching production. Snowflake, BigQuery, and Redshift are the most common choices.