Quick follow-up on the article:
There's one more thing regarding data modeling for cost-optimized BigQuery usage I didn't mention in this article. BigQuery offers smart tuning via materialized views, which means queries are automatically rewritten by the engine using materialized views when certain conditions are met.
That way, common aggregations, JOINs, and other operations can be pre-computed in materialized views to significantly reduce costs. The best practice here is to apply this kind of optimization after the release of the project to stakeholders to first gather data on how they utilize your model. Then, try to identify common cost-intensive patterns in the queries and create materialized views for these parts.
I might cover this aspect in a future article.
More information: https://cloud.google.com/bigquery/docs/materialized-views-intro
Enjoy reading! ✌️