dbt-performance

Optimize dbt model builds and Snowflake queries with materialization and clustering strategies.

34|13|Updated Feb 1, 2022
One-click install
npx skills add https://github.com/sfc-gh-dflippo/snowflake-dbt-demo --skill dbt-performance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dbt-performance
Source: https://github.com/sfc-gh-dflippo/snowflake-dbt-demo/tree/main/.claude/skills/dbt-performance
Command: npx skills add https://github.com/sfc-gh-dflippo/snowflake-dbt-demo --skill dbt-performance

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates slow dbt model builds and inefficient Snowflake queries by providing expert optimization strategies for materializations, clustering, and warehouse sizing.

Core Features & Use Cases

  • Materialization Optimization: Choose optimal materializations (ephemeral, view, table, incremental) based on data characteristics and usage patterns.
  • Snowflake-Specific Tuning: Implement clustering keys, warehouse sizing, Gen2 warehouses, and query acceleration for maximum performance.
  • Use Case: Imagine your dbt models are taking hours to build. Use this Skill to identify bottlenecks and convert large fact tables to incremental models with proper clustering keys, reducing build times by 80%.

Quick Start

Use the dbt-performance skill to analyze why my customer orders model is running slowly and recommend specific optimizations.

Frequently Asked Questions about dbt-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize slow dbt model builds on Snowflake?

Optimize dbt model builds by selecting the right materialization strategy—ephemeral, view, table, or incremental—based on your data characteristics and usage patterns, then apply clustering keys and warehouse sizing to reduce build times significantly.

What's the best way to choose between table, view, and incremental materializations in dbt?

Materialization choice depends on query frequency, data volume, and downstream dependencies. Tables suit frequently queried large datasets, views minimize storage, and incremental materializations dramatically reduce build times for append-only or slowly-changing data.

How do clustering keys improve Snowflake query performance?

Clustering keys organize table data to enable faster scans by pruning irrelevant partitions during queries. Proper clustering on join columns or filter predicates reduces query execution time, especially for large fact tables in production dbt workflows.

Can I use incremental dbt models to speed up production pipelines?

Yes, incremental materializations process only new or changed rows since the last run instead of rebuilding entire tables, cutting pipeline duration substantially while maintaining data freshness in Snowflake.

What warehouse sizing strategy should I use for dbt on Snowflake?

Warehouse sizing balances compute cost against build speed. Start with appropriate credit consumption based on data volume and complexity, then scale credits for parallelism during heavy transformation phases or use Snowflake's query acceleration for selective optimization.