What fits on one machine
$43,442/yr movable of a $112,348/yr invoice · 69% of attributed query compute · 43% of queries
$112,348/yr, every dollar colored by what to do with it. A cost dashboard stops at the first column.
Gross annual saving
central $33,791 run-rate delta: migrate $43,442/yr of compute, run it at ~$9,652/yr. Excludes one-time migration, dual-running, egress, at-rest storage, ops.
Each warehouse scored on its own bill: MOVE wholesale, SPLIT the movable queries off, or KEEP as is.
| Warehouse | Fit | Spend/yr | Verdict | Top blocker |
|---|---|---|---|---|
| AD_HOC_WH | 77% | $18,665 | SPLIT | warehouse-specific SQL (heuristic) |
| ANALYTICS_WH | 79% | $17,103 | SPLIT | warehouse-specific SQL (heuristic) |
| BI_SERVING_WH | 37% | $15,032 | KEEP | high-concurrency serving |
| DBT_WH | 85% | $8,926 | MOVE | multi-statement write transactions |
| LOAD_WH | 81% | $3,015 | MOVE | continuous high-frequency writes |
Before a MOVE, clear: inbound/outbound Secure Data Shares · RBAC/row-access/masking policies · downstream BI & reverse-ETL · Streams/Tasks/Dynamic Tables · data residency/compliance.
| Reason | Spend/yr | Queries |
|---|---|---|
| high-concurrency serving | $5,902 | 6,048 |
| warehouse-specific SQL (heuristic) | $5,784 | 899 |
| multi-statement write transactions | $3,295 | 687 |
| multi-cluster scale-out | $1,469 | 798 |
| stored procedures / UDFs | $1,317 | 177 |
| continuous high-frequency writes | $1,045 | 5,312 |
| queued / overloaded | $485 | 273 |
The costliest queries keeping a warehouse on Snowflake.
| Query | Warehouse | Reason | Spend/yr |
|---|---|---|---|
| 982355990f72... CREATE TABLE stg_orders AS SELECT * FROM raw.orders | AD_HOC_WH | multi-statement write transactions | $57 |
| 01e3f6d154b7... INSERT INTO target SELECT * FROM staging | AD_HOC_WH | multi-statement write transactions | $44 |
| 794ec926bc9e... INSERT INTO target SELECT * FROM staging | AD_HOC_WH | multi-statement write transactions | $42 |
| be806943707d... SELECT * FROM TABLE(GENERATOR(ROWCOUNT => 1000)) | AD_HOC_WH | warehouse-specific SQL (heuristic) | $41 |
| ed22f249555b... INSERT INTO target SELECT * FROM staging | AD_HOC_WH | multi-statement write transactions | $41 |
| 97801d0e3e1f... INSERT INTO target SELECT * FROM staging | AD_HOC_WH | multi-statement write transactions | $41 |
| 280f47eb33bc... CALL refresh_marts() | AD_HOC_WH | stored procedures / UDFs | $40 |
| e3803de21a67... SELECT PARSE_JSON(payload):user:id::string AS uid FROM events | AD_HOC_WH | warehouse-specific SQL (heuristic) | $40 |
Fit recomputed at other local-NVMe sizes; DuckDB spills to disk, so disk is the spill budget.
| Local NVMe | Fit % of query compute | Movable $/yr |
|---|---|---|
| 2 TB | 69% | $43,419 |
| 4 TB | 69% | $43,442 |
| 7.5 TB (target) | 69% | $43,442 |
| 8 TB | 69% | $43,442 |
| 16 TB | 69% | $43,442 |
| 30 TB | 69% | $43,442 |
256 GB RAM + NVMe box at $800/mo (an r6id.4xlarge-class instance, reserved, incl. ops headroom) + object-storage reads at $0.50/TiB, full re-read assumed (no cache credit). Pricing basis: $3.00/credit (enterprise). The ±15% band is illustrative, not a confidence interval.