Skip to main content

Warehouse Sizing β€” Small vs Medium vs Large Explained With Cost

✨ Story Time β€” β€œWhich Warehouse Size Should We Use?”​

Meet Daniel, a data engineer who joined a company that recently migrated to Snowflake. Everything is going well… until his manager asks:

β€œDaniel, which warehouse size should we use: Small, Medium, or Large?
And how much will it cost us?”

Daniel freezes.
Small is cheaper…
Medium is faster…
Large is powerful…
XL, 2XL, 3XL exist…

Which one is right?
Choosing wrong = you waste money or slow down the company.

So let’s walk through Snowflake warehouse sizing in the simplest possible way.


🧩 What Is a Snowflake Virtual Warehouse?​

A warehouse in Snowflake is your compute engine used for:

  • SELECT queries
  • INSERT/UPDATE/MERGE
  • ELT pipelines
  • BI dashboards
  • Data transformations

Storage and compute are separate, so warehouse size affects speed + concurrency + cost, not storage.


πŸ—οΈ Snowflake Warehouse Sizes (XS β†’ 6XL)​

Snowflake offers 8 warehouse sizes:

SizePower MultiplierCost per Hour*
X-Small1xCheapest
Small2x2Γ— XS
Medium4x4Γ— XS
Large8x8Γ— XS
X-Large16x16Γ— XS
2X-Large32x32Γ— XS
3X-Large64x64Γ— XS
4X-Large128x128Γ— XS

πŸ’° Actual cost depends on cloud + region, but scaling is linear.

If XS costs $2/hour, then:

  • SMALL = $4/hour
  • MEDIUM = $8/hour
  • LARGE = $16/hour

You pay more β†’ you get more compute power β†’ faster and more concurrent work.


⚑ How Snowflake Scales Performance​

Larger warehouses give you:

βœ” More compute power​

Faster execution of large transformations.

βœ” More parallelism​

Snowflake splits your query into micro-partitions and tasks.

βœ” Higher concurrency​

More users or pipelines can run at once without queuing.

βœ” Better performance for:​

  • Massive JOINs
  • Heavy aggregations
  • Large MERGE statements
  • Complex ETL pipelines

But this doesn't mean Large is always better.
You might pay 8Γ— more with no noticeable speed improvement.


πŸ” Small vs Medium vs Large β€” The Real Differences​

🟩 X-Small / Small​

Best for:

  • Light BI dashboards
  • Simple SELECT queries
  • Small data loads
  • Development workloads
  • Ad-hoc SQL

Why use it:

  • Cheapest
  • Surprisingly powerful for small datasets
  • Autoscaling makes it even better

🟧 Medium​

Best for:

  • Moderate ETL pipelines
  • Multi-user analytical workloads
  • Use cases where Small is β€œalmost enough but not quite”

Why use it:

  • 2Γ— the power of Small
  • Handles larger joins
  • Good balance of cost and performance

πŸŸ₯ Large​

Best for:

  • Heavy transformations
  • Huge JOIN operations
  • Daily ELT workloads processing 100M+ rows
  • High-concurrency dashboards
  • MERGEs on large tables

Why use it:

  • 2Γ— Medium’s compute
  • Scales up CPU + threads + parallelism
  • Produces noticeable speed boosts

πŸ§ͺ Real-World Story β€” Daniel Runs a Test​

Daniel runs the same query on three warehouse sizes:

Query:​

SELECT customer_id, SUM(amount)
FROM transactions
GROUP BY 1;

Dataset size: 250 million rows

Results:​

SizeTimeCost per Run
Small4 min$0.25
Medium1.8 min$0.24
Large1.2 min$0.32

What Daniel learned:​

  • Large was fastest, but not the most cost-efficient
  • Medium gave best cost-per-performance
  • Small was too slow for production workloads

He chose Medium β€” smart & balanced.


πŸ“¦ Cost Efficiency Tips (Most Companies Ignore)​

βœ” 1. Enable Auto-Suspend​

Set to 1 minute if possible.

No one should pay for idle warehouses.

βœ” 2. Use Auto-Resume​

Instant resume = no delays.

βœ” 3. Use Multi-Cluster Only When Needed​

Multi-cluster is great for concurrency, but costs grow quickly.

βœ” 4. Scale Up Instead of Scaling Out​

For big queries: ➑ Scale up (Medium β†’ Large) instead of scaling out.

For concurrency: ➑ Scale out (multi-cluster Small).

βœ” 5. Don’t oversize warehouses​

Larger doesn’t always mean faster β€” your query may not be parallelizable.

βœ” 6. Measure performance using Query Profile​

Check bottlenecks before increasing warehouse size.


🧠 Simple Rules for Choosing the Right Size​

🟦 Choose X-Small or Small for:​

  • dev/testing
  • simple SELECT queries
  • BI dashboards under 10 users

🟧 Choose Medium for:​

  • daily ETL
  • multi-user SQL workloads
  • medium dashboards
  • tables up to ~1–5 TB

πŸŸ₯ Choose Large for:​

  • very large joins
  • 100M–2B row transformations
  • BI with 20–50 concurrent users
  • major nightly pipelines

πŸ“˜ Summary​

  • Snowflake warehouse size impacts speed, concurrency, and cost.
  • Scaling is linear: Medium = 4Γ— XS; Large = 8Γ— XS.
  • Bigger isn't always better β€” cost-per-performance matters.
  • Most production workloads run best on Medium or Large.
  • Use auto-suspend, auto-resume, and performance testing to avoid overspending.

Choosing the right warehouse is not about power… It’s about balance, smart scaling, and real workload understanding.


πŸ‘‰ Next Topic

Automatic Query Optimization β€” How Snowflake Internally Works

Career