Snowflake
Credits, Time Travel, and warehouses you can explain to FinOps
13 questions with solutions
- Q1Capital OneVisaBank of America
A Medium warehouse is slower but cheaper than Large. When is that true?
Solution
Size doubles credits per hour. If Medium takes only a little longer, total credits drop. Single-threaded SQL and tiny result sets will not scale with size — you just pay more for the same clock. Test one size down on a real job and compare credits, not elapsed time alone.
- Q2SnowflakeDeloitteAccenture
Someone DELETED gold.orders. What do you do in the first ten minutes?
Solution
Query History for the last good timestamp. SELECT count(*) … AT (TIMESTAMP => …). CLONE to a _fix table and diff. Do not UNDROP as the first move if writers are live — you can race a reload. Time Travel is a restore window, not a backup policy. Fail-safe is Snowflake-only and not queryable.
- Q3McKinseyPwCEY
Result cache vs warehouse cache vs metadata cache — which one did this dashboard hit?
Solution
Exact same query + role + unchanged source data → result cache (no warehouse). Warehouse local disk cache helps repeats on the same WH after it stayed warm. Metadata (services layer) makes COUNT(*) and MIN/MAX cheap. If auto-suspend is 60s and the dashboard ticks every 5 minutes, you pay resume every time.
- Q4PalantirScale AIconsulting AI labs
Would you put Cortex COMPLETE inside a Looker explore?
Solution
No. Materialize once, serve many times. Explore refresh is a token bill and a non-deterministic answer. Classify or extract in an incremental model, store the label, BI reads the column. Cortex is an ELT step, not a metric.
- Q5NetflixAdobeSalesforce
Micro-partitions and clustering: when does a clustering key pay for itself?
Solution
Natural ingestion order already clusters some tables (time-series). A clustering key helps when queries filter a column that is scattered across partitions (high clustering depth). It costs background credits. Check SYSTEM$CLUSTERING_INFORMATION before you turn it on. Search Optimization is a different product for point lookups.
- Q6AirbnbStripeSnowflake
Streams and Tasks vs an external orchestrator. How do you choose?
Solution
Streams + Tasks are fine for a few in-Snowflake incremental loads. Once you have 30 jobs, cross-system dependencies, or a human on-call rotation, put Airflow / Dagster on top and keep Tasks as the SQL worker. Do not invent a second orchestrator inside Snowflake “just because it is native.”
- Q7LyftUberInstacart
COPY INTO failed halfway. Is the target table half-loaded?
Solution
A single COPY INTO is transactional per file set: failed files can be skipped with ON_ERROR, but committed files stay. Know VALIDATION_MODE, PURGE, and force vs load history. Interviewers want “I check COPY_HISTORY, I do not assume all-or-nothing across a folder of 400 files.”
- Q8SnowflakeCapital OneAdobe
Search Optimization vs a clustering key — one sentence each.
Solution
Clustering helps range/filter scans on poorly ordered columns. Search Optimization helps highly selective point lookups. They cost extra credits. Do not buy both “just in case.”
- Q9SnowflakeDeloitteStripe
Zero-copy clone of prod for a destructive test. What do you warn finance?
Solution
Clone is cheap at t0. Storage grows as either side writes. Time Travel on the clone is not a backup of prod. Drop the clone when the test ends.
- Q10SnowflakeSalesforceWorkday
A share vs an export. When is export still right?
Solution
Share when both sides are Snowflake and you want live data. Export when the consumer is not Snowflake, needs a file SLA, or cannot be a reader account.
- Q11SnowflakeAirbnbNotion
Dynamic Tables vs Streams + Tasks. Pick one and defend it.
Solution
Dynamic Tables when the graph is SQL and you want a lag target. Streams+Tasks when you need custom Task logic or an external orchestrator already owns the clock. Do not run both on the same table without a reason.
- Q12SnowflakeCapital OneOpenAI
SnowPro Specialty: Gen AI — where does COMPLETE belong?
Solution
In incremental ELT that writes a versioned column. Not in a Looker explore, not on every dashboard refresh, and not on raw PII.
- Q13SnowflakeMcKinseyDeloitte
Cortex Analyst returns doubled revenue. First check?
Solution
The semantic model grain and joins — same fan-out you would debug in SQL. A bigger warehouse will not fix a bad metric definition.