How should the data pipeline be designed?
For many products, PostgreSQL alone is enough at the start. We add summary tables or materialized views so common charts do not scan every row each time they load.
When event volume grows, a column-oriented analytics database such as ClickHouse or BigQuery can be the better place for reporting data, fed from your main database or from an event stream. We recommend that step only when the data shows a need, because it adds cost and another system to run.
Slow reports in a live product are a common reason clients come to us. See refactoring and scaling.
