๐๏ธ Table types
Snowflake supports various table types. dbt typically uses TRANSIENT
tables by default.
Table Type | Data Protection & Retention (CDP) | Storage & Lifetime | Recommended Usage |
---|---|---|---|
Permanent Table | โ
Fail-safe + Time Travel (up to 90 days) | Standard storage + Fail-safe cost | Critical, hard-to-reproduce datasets; Key incremental models |
Transient Table (default in dbt) | โ
Only Time Travel (up to 1 day) โ No Fail-safe | Standard storage only (no Fail-safe cost) | Most dbt models |
The full-refresh materialization recreates tables after each dbt run:
- No need to apply data retention features
- Snowflake does not retain historical data for these tables outside of Time Travel
- Can result in a measurable reduction of storage costs
Configuring transient table type: dbt docs
Note: Turning models to permanent tables is only logically reasonable for incremental models, and only after validating the business need for extended data recovery
๐ก Extended Time Travel: Use post-hooks to extend the default Time Travel period