Materialized models are in beta and may not be enabled for your organization
yet. Contact support@basedash.com to request
access.
Overview
Materialize a model when its SQL is expensive, for example a model that joins several large synced tables or computes daily rollups. Queries that use the model then read a ready-made table, so charts load faster. Materialization requires the model to be on a Basedash-managed warehouse: Basedash Warehouse on Postgres or MotherDuck. The table is stored in thebasedash_materialized schema of that warehouse.
You keep querying the model the same way, as models.<reference_name>. Basedash points those queries at the materialized table.
Materialize a model
- Open the model from Models in the sidebar.
- Turn on Enable materialized table.
- Basedash builds the table. While it builds, the model shows Building table…. When it’s done, it shows the row count and when it was built.
When the table rebuilds
Basedash rebuilds a materialized table:- When a connector sync finishes for any schema the model reads from.
- When you click Rebuild.
Requirements and limits
- The model must be on a Basedash-managed Postgres or MotherDuck warehouse. - The model’s SQL must be read-only. - The model’s reference name can contain only lowercase letters, numbers, and underscores, up to 52 characters. - Models on data sources with row-level security can’t be materialized.
FAQ
Can I materialize a model on my own Snowflake or BigQuery warehouse?
Can I materialize a model on my own Snowflake or BigQuery warehouse?
Not yet. Materialization only works on Basedash-managed warehouses.
Do I need to change my charts?
Do I need to change my charts?
No. Charts that query
models.<reference_name> use the materialized table
automatically.Why is my materialized table out of date?
Why is my materialized table out of date?
It rebuilds when a connector sync finishes for the schemas the model reads.
If the connector is paused or syncs infrequently, click Rebuild, or
change the connector’s sync frequency.