Model Materializations
Materializations are strategies that determine how dbt™ persists your models in the data warehouse. Think of them as different ways to store and update your transformed data.
Available Materialization Types
A saved query that runs on-demand
Simple transformations, real-time data needs
A physically stored copy of your data
BI tools, complex queries, frequent access
A table that updates only new/changed data
Large datasets, frequent updates
Code that's injected into dependent models
Large datasets, frequent updates
If you don't specify a materialization, dbt™ will create your model as a view by default.
Configuring Materializations
You can configure materializations in two ways:
1. Project Level (dbt_project.yml)
2. Model Level (in .sql files)
Choosing the Right Materialization
Consider these factors when selecting a materialization:
🔄 Data Freshness
How current does the data need to be?
⚡ Query Performance
How current does the data need to be?
📊 Data Volume
How much data are you transforming?
💰 Resource Cost
What are your compute/storage constraints?
Learn more about each materialization type in their dedicated documentation pages:
Last updated
Was this helpful?