Snowflake Alternatives: Fix the AI Bill Before You Move a Table

Inside one Snowflake account, Claude Sonnet 4.5 costs $3.60/$18.00 per million tokens via AI_COMPLETE but $3.00/$15.00 via the REST API, and AI Credits never take your warehouse discount. Fix the AI path first, then move batch compute onto Iceberg. Leave the catalog last.

By Rajesh Beri·October 1, 2026·16 min read
Share:
A warehouse loading bay where two workers wheel a server rack up a ramp onto a truck, while long rows of shelved disk drives and tape cartridges stay in place, lit, behind them.

Illustration generated using AI

If your Snowflake bill is growing because of AI, the first alternative to Snowflake is a different door into Snowflake. The same Claude model carries three different prices inside one Snowflake account, depending on whether a SQL function, the REST API or an agent calls it. Your negotiated warehouse discount does not touch any of them. Fix that first. It takes days, not quarters, and no table moves.

Here is the verdict. Stay on Snowflake for now, and change how it is used, in this order. Move application-originated LLM calls from the AI_COMPLETE SQL function to the Cortex REST API, which Snowflake's Service Consumption Table (effective 30 September 2026) prices about 17% lower per token for the same model. Then convert your largest tables to Snowflake-managed Iceberg on storage you own, and point a cheaper engine at them for batch work through Horizon Catalog, which keeps masking and row-access policies enforced for external engines. Only after both of those should you price a full exit. The loser is the wholesale migration to Databricks done to cut AI spend. At list, it charges the same $3.00/$15.00 per million tokens for Claude Sonnet 4.5 that Snowflake's REST path does, so you would pay for a re-platforming to get a price you can already have. The one thing to ask first is whether a Databricks commit discount would cover those Claude DBUs. Databricks does not publish that, and if it does, the comparison changes.

Option What you pay (list, checked 1 Oct 2026) What it actually fixes Who should NOT pick it
Snowflake, AI path changed (stay) Claude Sonnet 4.5: $3.00/$15.00 per M tokens via REST; $3.60/$18.00 via AI_COMPLETE; $3.90/$19.52 via Cortex Agents The 20-30% token premium on SQL and agent paths Teams whose spend is mostly custom ML training, not LLM calls or SQL
Snowflake + a second engine on Iceberg Horizon REST catalog: 0.5 credits per million API calls (billing starts H2 2026); your cloud bills storage Batch compute you pay warehouse rates for; owning the files Anyone with one data engineer and no appetite to run a second engine
Databricks SQL Serverless $0.70/DBU-hr (2X-Small = $2.80/hr); Claude Sonnet 4.5 $3.00/$15.00 Spark-heavy ML, training and model serving Anyone whose motive is the token bill — the price is the same
Starburst Galaxy Pro $0.50-$0.80/credit; 1 worker = 6 credits/hr = $3.00-$4.80/hr Federated SQL over Iceberg plus systems you will never consolidate Teams that need ML, notebooks or LLM functions in the same platform
MotherDuck Business $250/org/month + Standard instance $2.40/hr; storage $0.04/GB-month Cheap ad hoc and departmental analytics on DuckDB Organisations over 10 internal analysts, or that need enterprise policy controls
Self-managed (Iceberg + Spark/Athena + Glue) Athena $5 per TB scanned, 10 MB minimum per query The largest structural saving, if you can operate it Teams under roughly ten data engineers, or with a regulator that wants one audit trail

What Actually Costs Money in an AI Workload on Snowflake?

In an AI workload the token line usually dwarfs the warehouse line, and the token line is the one your contract does the least to discount. Snowflake bills two currencies. Warehouses consume Platform Credits — $2.00, $3.00 and $4.00 on demand for Standard, Enterprise and Business Critical in AWS US East, with an X-Small warehouse burning one credit an hour and each size doubling it, per Tables 1(a) and 2(a) of the consumption table. AI features consume AI Credits at a flat $2.00 per credit for global routing and $2.20 for regional, "regardless of edition".

The second currency is where negotiators get surprised. The consumption table says it in one line: "the Platform Credit Discount does not apply to AI Credits." AI Credits have their own capacity ladder, and it is shallow — $2.00 on demand falling to $1.88 only at $40 million of annual contract value, a 6% discount at the very top. The same page adds that "Cortex Inference may not be eligible for Capacity AI Credit Pricing" at all. If your account team won a 30% warehouse discount and your AI usage is climbing, the discount is applying to a shrinking share of the bill.

Here is the workload this article normalises to, so every number below is comparable: an enrichment pipeline that summarises and classifies 100,000 documents a day with Claude Sonnet 4.5, at 2,000 input and 300 output tokens each — 6 billion input and 900 million output tokens over a 30-day month, run from an Enterprise-edition account in AWS US East.

Path for the same model and the same tokens Rate per M tokens (in / out) Monthly token cost
Snowflake AI_COMPLETE SQL function (Table 6(a): 1.80 / 9.00 AI Credits) $3.60 / $18.00 $37,800
Snowflake Cortex Agents / Analyst / CoWork (Table 6(d): 1.95 / 9.76) $3.90 / $19.52 $40,968
Snowflake Cortex Inference, i.e. the REST API (Table 6(b): 1.50 / 7.50) $3.00 / $15.00 $31,500
Databricks Anthropic serving (42.857 / 214.286 DBU at $0.07 per DBU) $3.00 / $15.00 $31,500
Anthropic API direct $3.00 / $15.00 $31,500
Anthropic Batch API (50% off, asynchronous) $1.50 / $7.50 $15,750

Two things fall out of that table. First, the $6,300 a month between AI_COMPLETE and the REST API is pure routing — same model, same account, same data, same governance boundary. Second, every platform charges the same $31,500. Leaving Snowflake for Databricks moves you from one $3.00/$15.00 rate to another. The only cheaper row is the batch tier at the model vendor, and that one sends your documents outside the platform boundary, which is a governance decision rather than a pricing one.

The warehouse does not stop billing while the LLM works, either. Snowflake's own cost guidance says "the cost associated with keeping a warehouse active continues to apply" during a Cortex function call, and recommends a warehouse "no larger than MEDIUM", because a bigger one adds cost without adding speed. A Large warehouse left on a nightly AI_COMPLETE job is paying 8 credits an hour to wait on a model.

Is the Model Choice a Bigger Lever Than the Platform?

Yes — swapping the model saves more than swapping the platform, and it is a one-line change. Claude Sonnet 5.5 lists at $2/$10 per million tokens against $3/$15 for Sonnet 4.5, and Snowflake's REST path passes that through at 1.00/5.00 AI Credits — exactly $2.00/$10.00.

There is a catch the per-token rate hides. Anthropic says Claude 4.7 and later models use a newer tokenizer that "produces approximately 30% more tokens for the same text." So the same 100,000 documents become roughly 7.8 billion input and 1.17 billion output tokens. At REST rates that is $27,300 a month — still 28% below the $37,800 AI_COMPLETE + Sonnet 4.5 baseline, but not the 44% the sticker price implies. Run your own eval before you switch; a cheaper model that needs a second pass costs more, not less. We walked through the per-task arithmetic in Inference Cost per Million Tokens: Price the Task, Not the Rate.

The steel-man for staying on AI_COMPLETE: it is the only path with per-query usage attribution. Snowflake warns that "you can't get granular usage information for requests made with the REST API". If chargeback by team matters more to you than 17%, keep SQL for internal analysts and move only the high-volume application traffic. Practitioners already find the attribution hard: SELECT's Jeff Skoldberg wrote in October 2025 that each Cortex service "has its own pricing model, its own monitoring views, and its own ways to accidentally rack up costs." Tag the REST traffic at your gateway, as in Best FinOps Tools for AI Spend.


Why Are Open Table Formats the Exit Route?

Apache Iceberg is the exit route because it separates who owns the files from who computes on them — and Snowflake now lets other engines both read and write its managed Iceberg tables. Apache Iceberg is an open table format: a specification for metadata over Parquet files in object storage that any compliant engine can query transactionally.

Snowflake offers two flavours. A Snowflake-managed Iceberg table keeps Snowflake as the catalog and handles compaction, while the data can sit on an external volume in your own bucket — in which case "your cloud storage provider bills you directly for data storage usage". An externally managed table uses another catalog, and "Snowflake does not assume any life-cycle management on the table."

The recent change is on the write side. Snowflake took external-engine writes to its managed Iceberg tables to general availability on 26 May 2026. Its documentation lists Spark, Flink, Trino, Dremio, DuckDB, PyIceberg, StarRocks and Doris as supported engines through Horizon Catalog's Iceberg REST endpoint. Read the limitations before you plan on it:

  • Only Snowflake-managed Iceberg tables are exposed. Native Snowflake tables, remote tables and externally managed Iceberg tables are blocked, so every table you want a second engine to touch has to be converted first.
  • "CREATE TABLE AS SELECT (CTAS) from an external engine is not supported", and "equality deletes aren't supported" — which rules out some CDC writers that emit them.
  • "Reading and writing cloned or converted tables is not supported with vended credentials." Test your conversion path on one table before you script four hundred.

Do not move tables to save on storage. Snowflake's on-demand storage in AWS US East is $23.00 per TB-month, falling to $13.80 at the top capacity tier — not the cost centre most teams assume. The reason to own the files is optionality: once they are in your bucket under an open catalog, which engine computes on them becomes a procurement decision you can revisit every year.

Performance is close but not identical. Prequel's TPC-DS test at 100 GB in October 2024 found Snowflake-managed Iceberg far ahead of external tables and only slightly behind native storage. It is an old, small benchmark, so treat it as directional and run your own top-20 queries before converting a latency-sensitive table.

Which Query Engines Can Run Over the Same Data?

On a like-for-like hour of the smallest production unit, every engine here costs $2 to $5 — so the saving comes from utilisation and workload fit, not the sticker rate. One hour of the smallest unit each vendor sells:

Engine Smallest unit List price per hour, 1 Oct 2026
Snowflake Enterprise, AWS US East X-Small standard warehouse (1 credit/hr) $3.00 (Gen2: 1.35 credits = $4.05)
Databricks SQL Serverless 2X-Small (4 DBU/hr at $0.70) $2.80
Starburst Galaxy Pro 1 worker (6 credits/hr at $0.50-$0.80) $3.00-$4.80
MotherDuck Business Standard instance $2.40 (+ $250/org/month)
Amazon Athena per TB scanned $5.00 / TB

Databricks is the only full-platform replacement here, and it is the right one if your next three years look like training, fine-tuning and serving your own models rather than calling a hosted one. It is the wrong one if you are leaving to cut tokens: as the first table shows, it charges what Snowflake's REST path charges. Who should not pick it: an SQL-first analytics team with no PySpark — you would trade one bundle for a harder one. We made the inverse case in Databricks Alternatives: Move Serving, Not the Lakehouse, and the two articles reach the same conclusion from opposite sides: the lock is the operating layer, not the files.

Starburst Galaxy is Trino with a company attached, and its strength is federation — querying the Iceberg lake alongside the Postgres, the Oracle and whatever the last acquisition brought, without copying any of it. A credit is the same unit across tiers; Enterprise runs $0.75-$1.19 and Mission Critical $1.00-$1.59 per credit, so the governance features cost you up to double per worker-hour. Who should not pick it: anyone expecting notebooks, ML or LLM functions — Galaxy is a SQL engine, and you would still need somewhere to run the model calls.

MotherDuck is the cheapest way to take departmental and ad hoc analytics off a warehouse that bills a 60-second minimum on every resume. DuckDB's Iceberg extension now supports REST catalogs with INSERT, UPDATE, DELETE and MERGE, so it can work on the same tables Snowflake manages. Who should not pick it: an enterprise standard. The Business plan caps at 10 internal users, and the engine's roadmap now sits closer to a hyperscaler — AWS's DuckLabs deal put two of the DuckDB Foundation's three directors on AWS's payroll, which a buyer should weigh before building on it.

Self-managed Iceberg — Spark on Kubernetes or EMR for batch, Athena or Trino for SQL, Glue as the catalog — is where the largest documented saving lives. New Relic moved more than 1,000 batch and streaming datasets from Snowflake to Iceberg on S3 with a Glue catalog and reported a "35-52% reduction in our annual data platform spend" (April 2026) — a self-reported range on its own blog, not an audited figure. Read the rest of the post, though: running both systems in parallel meant "twice the infrastructure to watch, twice as many pipelines that can fail," and the migration ran on row-level parity checks and incremental, consumer-by-consumer cutover. Who should not pick it: a team under roughly ten data engineers. New Relic is an observability company with a data-engineering director; your platform team probably is not.


What Governance Do You Lose Leaving a Single Platform?

You lose nothing while Horizon stays the catalog, and you lose almost everything the moment it stops being one. That is the single fact that should set the pace of any migration.

While the tables are Snowflake-managed and external engines come in through Horizon, your policies follow. Snowflake documents two enforcement routes: the Spark connector, which "enforces policies by routing queries through Snowflake", and the Iceberg REST Scan Plan API, which shares "a temporary, policy-filtered dataset" with any compliant engine on Iceberg SDK 1.11 or later. Snowflake's documentation does not say what either route costs in warehouse credits when a protected table is read. Ask before you plan a policy-heavy domain around it — routing through Snowflake to save Snowflake compute may save nothing.

Move the catalog to Glue, Polaris or Unity Catalog and the masking policies, row-access policies, tag-based masking, access history and data classification stay behind in Snowflake. You rebuild them in Lake Formation, OPA or your new platform's policy model — and you need to prove to an auditor that the rebuilt version matches. That is the real cost of the last stage of a migration, and it is measured in compliance sign-offs, not dollars per hour.

The agent layer is no simpler. Snowflake's agent features run with the caller's privileges in ways that surprised teams this summer. Rebuilding that boundary on another platform is a security project, not a data project.

A Staged Migration You Can Stop Halfway

Each stage below pays for itself on its own, and each ends at a point where stopping is a legitimate outcome rather than a failure.

Stage 0 — Measure (week 1). Split last quarter's bill into Platform Credits by warehouse and AI Credits by service and model. Snowflake exposes the SQL side through CORTEX_AISQL_USAGE_HISTORY. If AI Credits are under 15% of spend, skip to Stage 2; the AI path is not your problem.

Stage 1 — Change the AI path (weeks 2-4). Move application-originated LLM calls from AI_COMPLETE to the REST API. Evaluate Sonnet 5.5 against Sonnet 4.5 on 500 real documents. Cap any warehouse that calls Cortex functions at MEDIUM. Stop point: on the reference workload this alone takes $37,800 to between $27,300 and $31,500 a month, with no data moved and no governance change.

Stage 2 — Own the files (month 2-3). Convert your ten largest tables to Snowflake-managed Iceberg on an external volume you control. Snowflake keeps querying them as before. Stop point: you now hold the Parquet in your bucket and can leave whenever the economics say so — which strengthens your hand at the next renewal even if you never use it.

Stage 3 — Add a second engine for batch (month 3-6). Point Spark, DuckDB or Trino at those tables through Horizon's REST catalog for feature preparation, embedding backfills and heavy transforms. Policies stay enforced. Stop point: two engines, one catalog, one policy model. For most enterprises this is the destination, not a waypoint.

Stage 4 — Move the catalog (only with a reason). Re-home the tables in Glue or Polaris and retire Snowflake for that domain, as New Relic did. Do it one domain at a time, with parity checks, and only for domains whose governance you are prepared to rebuild and re-certify.

What Changes the Answer?

Three facts would move this recommendation, and you should check each before your next renewal.

  • If AI Credits start taking the platform discount. The capacity ladder is the single term most likely to change. If your account team will extend your warehouse discount to AI Credits in writing, Stage 1 matters less.
  • If your AI work is training, not inference. Teams fine-tuning and serving their own models on GPUs should run the Databricks comparison seriously; Snowflake's Cortex fine-tuning list is short and its strength is hosted inference.
  • If the Horizon catalog API starts billing at scale. External-engine API calls are listed at 0.5 credits per million, with billing scheduled to begin in the second half of 2026. That is small for batch, but measure it on a chatty engine before Stage 3 goes wide.

The regret predictors are the same in every platform decision: who owns the files, who owns the policy model, and whether your largest cost line is covered by the discount you negotiated. Answer those three, and the vendor choice mostly makes itself.

The Bottom Line

The last decade of warehouse migrations taught a hard lesson: teams moved the data to escape the bill, then found the bill had followed the workload. Open table formats change that by letting the workload move without the data. But the first move here is not a migration at all. It is reading Table 6 of a PDF and changing which door your LLM calls walk through.

Move the compute. Keep the files in your bucket. Leave the catalog last.

Continue Reading

Share:

Frequently Asked Questions

What is the cheapest alternative to Snowflake for AI workloads?

Usually a different path inside Snowflake. As of 1 October 2026, Snowflake's consumption table prices Claude Sonnet 4.5 at $3.60/$18.00 per million tokens through the AI_COMPLETE SQL function but $3.00/$15.00 through the Cortex REST API, the same rate Databricks and Anthropic charge. Move high-volume application calls to the REST API before pricing a migration.

Does a Snowflake capacity discount apply to Cortex AI credits?

No. The Snowflake Service Consumption Table (effective 30 September 2026) states that the Platform Credit Discount does not apply to AI Credits. AI Credits have a separate ladder from $2.00 down to $1.88 at $40M+ annual contract value, and Cortex Inference may not be eligible for capacity AI pricing at all.

Can other engines read and write Snowflake Iceberg tables?

Yes, for Snowflake-managed Iceberg tables only. Through Horizon Catalog's Iceberg REST API, engines such as Spark, Trino, DuckDB and Flink can read, and since 26 May 2026 write, those tables. Native Snowflake tables are not exposed, CTAS and equality deletes are not supported, and masking and row-access policies stay enforced.

What governance do you lose when you migrate off Snowflake?

Nothing while Horizon remains the catalog for Snowflake-managed Iceberg tables. Once you move the catalog to Glue, Polaris or another system, masking policies, row-access policies and access history stay in Snowflake and must be rebuilt and re-certified in the new platform's policy model.

Is Databricks cheaper than Snowflake for LLM calls?

Not on list price for the same model. Azure Databricks bills Claude Sonnet 4.5 at 42.857 and 214.286 DBUs per million input and output tokens at $0.07 per DBU, or $3.00/$15.00, identical to Snowflake's Cortex REST API rate. Databricks wins on custom training and GPU serving, not on hosted-model tokens.

Newsletter

Stay Ahead of the Curve

Weekly enterprise AI insights for technology leaders. No spam, no vendor pitches—unsubscribe anytime.

Subscribe

Related Articles

Databricks alternatives

Databricks Alternatives: Move Serving, Not the Lakehouse

Databricks took managed Iceberg tables to GA, so the file format is no longer the lock — but external writes are still Private Preview, and the real markup is GPU serving at $5.50 an A100-hour against $2.79 at Lambda. Move the serving, keep the lakehouse.

September 4, 2026
Snowflake Cortex

Snowflake Agents Run as All Your Roles. Revoke From PUBLIC.

Snowflake's CoCo automations reached preview on August 21, letting any user schedule an unattended AI agent. Each run executes as that user's default role plus every default secondary role — and EXECUTE AGENT TASK is granted to PUBLIC by default.

August 22, 2026
Airtable

Bending Spoons Bought Airtable. Reprice Before It Closes.

Airtable bundles 15,000 AI credits into a $20 seat and sells the same allowance standalone for $30. Bending Spoons — which capped Evernote's free tier and moved to cut 75% of WeTransfer — just bought that subsidy. The deal has not closed, which is the only window you have to convert it into contract terms.

August 5, 2026
Snowflake Cortex

Snowflake Cortex vs Databricks Mosaic AI: Pick on Exit Cost

Databricks lists 47 servable models to Snowflake's ~30, but Unity Catalog keeps Delta tables read-only to outside engines and Snowflake's own catalog blocks third-party writes outright. Snowflake's exit advantage is narrower than the decks claim: it writes into a catalog you own. On a normalised 10-million-ticket workload the platforms land within 2x of each other; the model tier swings the bill 40x.

August 3, 2026

Latest Articles

View All →