2 Comments
User's avatar
Alhousène  Souaré's avatar

Great article ! This is the first time I've read such a comprehensive explanation of the table vs view debate.

What do you think about the fact that views can abstract changes in the underlying data ? Isn' that a valid reason to use views in the semantic layer to protect dashboards integrity ?

Expand full comment
Tim Hiebenthal's avatar

Thanks!

You mean like having a layer in-between to join DWH-tables and "catch" renamings of columns etc.?

Fair! It can be benifitial here and there, but I think for a lot of cases I would still avoid it.

I want to keep namings of DWH and Reporting as much in-sync as possible to reduce mental load when debugging, adding new things etc.. Also improves of communication between tech and business if things are called similar.

If you have a BI tool with a semantic layer as code (LookML, Omni, Lightdash, ...) adjustments on the dashboard are also rather quick.

Regarding using it when joining DWH-tables together:

I think it's fair when you spend a lot of money for table storage. Otherwise the performance and cost gains in query engines like BigQuery and Snowflake should outweigh the storage cost.

Expand full comment