Every Monday at 10 a.m., the sales head of a mid-sized retail chain asks one question: how many orders did we ship last week? Marketing says 12,400. Finance says 11,980. Both teams pulled the figure from "the database," and both are telling the truth. Marketing counts an order when the customer clicks Buy. Finance counts it when the payment clears. The 420-order gap turns a five-minute check-in into a forty-minute argument about whose spreadsheet is wrong.
Most companies that move to Snowflake are trying to fix some version of this problem. They have too many copies of the same data, reports that take hours to run, and old servers that need constant care. This guide explains what the Snowflake data cloud is, why so many businesses are moving to it, what it really costs, and where it can let you down. It is written for founders, developers, writers and office teams who want a clear answer before they spend money.
What Snowflake is, in simple terms
Snowflake is an online service for storing a company's data and asking questions of it. You don't buy servers or install database software. You load your data, write questions in SQL (the standard language for asking a database for information), and pay for what you use.
A shared kitchen is a good way to picture the difference. In many older systems, storage and computing power live in the same box. When the finance team runs its month-end report, everyone else waits for the stove. Snowflake splits that kitchen into three parts:
• The storage layer keeps all your data in compressed files on cloud storage from Amazon Web Services, Microsoft Azure or Google Cloud. You pay for it by the terabyte per month, much like renting shelf space.
• The compute layer is made of "virtual warehouses." Despite the name, a virtual warehouse is simply a group of computers that Snowflake switches on to run your queries. Each team can have its own, so finance and marketing never fight over the same stove.
• The cloud services layer acts as the manager. It handles logins and permissions, tracks where every piece of data sits, and plans the fastest way to run each query.
Because the three parts are separate, you can make one bigger without touching the others. Almost every benefit in this article comes back to that one design choice.
Snowflake was founded in 2012 and started life as a cloud data warehouse, which is a database built for analysis rather than for recording everyday transactions such as a checkout or a bank transfer. Since then it has added data sharing, streaming, app hosting and AI features. That is why the company now calls itself "the AI Data Cloud."
The numbers behind the move
Snowflake's own results give a sense of how many businesses have made the switch. A quick note before the figures: these are company-reported numbers, so read them as Snowflake's view of its own business. No independent party has checked them.
Snowflake at a glance, quarter ended July 31, 2026 (Snowflake Q2 FY2027 results, September 2, 2026)
Snowflake also raised its forecast for the full fiscal year to $6.07 billion in product revenue, which would be 36% growth. Its CFO, Brian Robins, said that quarter was the third in a row where product revenue growth sped up, helped by both the core platform and AI workloads.
The wider market points the same way. Gartner (September 2025) expected public cloud services spending to grow 21.3% in 2026 and to reach $1.48 trillion by 2029. Closer to home for many readers, Gartner (June 2026) forecast that end-user public cloud spending in India would grow 28.1% to $17.5 billion in 2026.
Estimates for the data warehouse slice of that market vary a lot, and it's worth seeing why. Technavio (June 2025) projects the market will grow by $63.91 billion between 2024 and 2029, at 43.3% a year. Market.us (August 2025) puts the market at $7.2 billion in 2023 and $56.6 billion by 2033, a yearly growth rate of 22.9%. Each research firm draws the boundary of a "data warehouse" differently, so the totals don't line up. Both agree on the direction, though. Spending is moving from on-site servers to services like Snowflake, and the gap is wide enough that any single number should be read as a rough signal.
For a growing company, the attraction of a data cloud platform is that one account can hold the raw data, the cleaned-up tables, the dashboards and the AI experiments together. Fewer copies mean fewer arguments like the one in our Monday meeting.
Six reasons companies are switching
1. Teams stop waiting for each other
In a traditional database, one heavy report can slow down every other query. In Snowflake, each team or job gets its own virtual warehouse. The data science team can run a huge model-training query while the sales dashboard keeps loading in two seconds, because they are using different computers that read the same stored data.
On the Enterprise edition and above, a warehouse can also be set to "multi-cluster" mode. When too many people query it at once and requests start to queue, Snowflake adds another cluster of computers to share the load. When the rush ends, the extra clusters shut down. This is the main reason Snowflake analytics dashboards hold up during busy hours, such as the first working morning after a big sale.
2. You pay by the second, and idle time can cost nothing
Snowflake bills compute in "credits." A warehouse uses credits only while it is running. Billing is per second, with a 60-second minimum each time a warehouse starts. When nobody is using it, the warehouse can suspend itself automatically and wake up again when the next query arrives.
Each step up in warehouse size doubles both the computing power and the credit cost per hour. The table below shows the rates for standard warehouses. The price of one credit depends on your edition, cloud provider and region, so check Snowflake's pricing page for your setup.
Credits per hour for standard virtual warehouses (Snowflake documentation)
A doubling in size often roughly halves the time a large query takes, so a bigger warehouse for a shorter time can cost about the same as a small one for longer. That rule holds only for queries that can be split across more machines. A small query on a huge warehouse just burns money.
3. Sharing data no longer means sending files
Suppose a retailer wants to give a supplier daily sales figures for that supplier's products. The old way is a nightly CSV file sent over email or SFTP. It goes stale within hours, and nobody is sure which version is current.
With Snowflake's Secure Data Sharing, the retailer grants the supplier read access to a specific set of tables. The supplier queries the live data from its own Snowflake account, and no copy is made. The retailer can revoke access at any time. The same idea powers the Snowflake Marketplace, where companies offer datasets such as weather, financial or location data that buyers can query straight away.
4. Mistakes can be undone
Someone runs a delete command without a filter. In many systems, that means restoring last night's backup and losing a day of work. Snowflake keeps older versions of your data through a feature called Time Travel. On the Standard edition you can go back up to one day. On Enterprise and above, you can set this to as long as 90 days. A dropped table can be brought back with a single UNDROP command.
After Time Travel ends, there is a further seven-day "Fail-safe" period for permanent tables. Only Snowflake support can recover data from Fail-safe, so treat it as a last resort.
A related feature, zero-copy cloning, lets a developer make a full copy of a production database in seconds without doubling storage costs. The clone only stores the changes made to it. This makes it cheap to test a risky change on real data before it goes live.
5. You aren't tied to one cloud provider
Snowflake runs on AWS, Azure and Google Cloud, and accounts can replicate data between regions and providers. For a company that wants a backup in a second region, or that serves customers in countries with data residency rules, this flexibility matters more than any single feature. It also gives buyers some bargaining power when cloud contracts come up for renewal.
Snowflake now supports Apache Iceberg tables as well. Iceberg is an open file format for large tables, which means the data can be read by other tools such as Spark or Trino without going through Snowflake first. For teams that worry about being locked into a single data cloud platform, storing key tables in an open format is a practical safety net.
6. AI and apps can run next to the data
Moving data out of a warehouse to feed an AI tool creates more copies, more security reviews and more delay. Snowflake's Cortex AI features let you call large language models with ordinary SQL, for tasks such as summarizing support tickets or pulling the sentiment from product reviews, without the data leaving the account. In 2025 Snowflake also bought Crunchy Data to offer a managed Postgres database, so that the day-to-day app database and the analytics store can sit under one roof.
How Snowflake compares with the main alternatives
No platform wins on every point. The table below compares Snowflake with three common choices, and a short note on traditional on-site setups follows it.
Snowflake versus common alternatives
Compared with a traditional on-site warehouse, the trade is simple to state. On-site hardware gives you a fixed, predictable bill and full physical control, but you pay up front for peak capacity and need staff to run it. A cloud data warehouse like Snowflake removes the hardware work and scales on demand, in exchange for a bill that moves with usage.
What happens when the data gets messy
Feature lists make every platform look tidy. Real data isn't. This section covers the problems that show up after the demo, and how Snowflake behaves when they do.
Data gaps: when rows go missing
Data rarely arrives on time and complete. A store's point-of-sale system goes offline for an hour. A partner's file lands late. An API returns an error and the job quietly skips a batch. A dashboard that shows zero sales for Tuesday might mean zero sales, or it might mean a broken pipeline.
Snowflake helps in a few specific ways. When you bulk-load files with the COPY command, Snowflake remembers which files it has already loaded for 64 days and skips them, which stops accidental duplicates. That memory has limits. A corrected file uploaded under the same name and with the same content is skipped unless you force a reload. After 64 days, older files fall into an "uncertain" state, and COPY skips those by default too. Teams that backfill old data need to know this, or the backfill can finish "successfully" while loading nothing.
The practical fix is to make gaps visible. Add a load timestamp column to every table, keep a small table of expected daily row counts per source, and alert when today's count falls well below the usual range. Showing "data last updated 3 hours ago" on a dashboard prevents more bad decisions than any feature on a spec sheet.
Conflicting signals: when two numbers disagree
Back to the 12,400 versus 11,980 orders. A single platform does not fix this on its own. If marketing and finance each write their own query with their own definition of an order, Snowflake will happily return two different answers very quickly.
Three Snowflake-specific traps make conflicts worse:
• Snowflake does not enforce primary key or unique constraints on standard tables. You can declare them, but the database will still accept duplicate rows. If a pipeline retries and loads the same batch twice, totals quietly double. Deduplication has to be built into your loading logic, for example with a MERGE statement keyed on an order ID.
• Snowflake has three timestamp types: one with no time zone, one in the session's local time zone, and one that stores the offset. Mixing them can shift an order placed at 11:30 p.m. in Chennai into the next day in a report run from London. Pick one standard (storing UTC is common) and convert only for display.
• Late corrections, such as refunds or cancelled orders, can change last week's numbers after the report has gone out. Decide in advance whether reports show "as first reported" or "as corrected," and label them.
The lasting fix is a shared set of definitions that every report uses. Many teams build this layer with a tool like dbt or with Snowflake's semantic views, so that "an order" means one thing across the company.
Real-time decisions: how fast is fast enough?
"Real-time" means different things to different people. For a fraud check at the moment of payment, it means a few milliseconds. For a warehouse stock dashboard, a minute is usually fine. Snowflake serves the second case well and the first case poorly.
For streaming data in, Snowpipe Streaming's high-performance architecture is the fastest route. The figures here are themselves a small lesson in conflicting signals. Snowflake's release notes from September 2025 listed up to 10 GB per second per table, with data typically queryable in under 10 seconds. Snowflake's current product page lists up to 20 GB per second and about 5 seconds. Both come from Snowflake, and the newer page probably reflects later improvements, but test it with your own data before you promise anything to a business team.
For transforming that data, dynamic tables let you write a query and set a "target lag," which is how stale the result is allowed to get. The minimum is 60 seconds, and Snowflake's own documentation says the target is best effort and is not guaranteed. If refreshes take longer than the lag you set, the data simply falls further behind. For Snowflake analytics that feed live operations, monitor the actual lag as well as the setting.
For millisecond decisions, such as approving a card payment or choosing which ad to show, keep the decision in an operational database or a dedicated feature store. Use Snowflake to train the model, study past decisions and spot patterns over minutes and hours. Snowflake's hybrid tables, which handle fast single-row reads and writes, narrow this gap for some apps, but they are not a replacement for a purpose-built transaction system at high volume.
Exceptions and edge cases
A few cases that catch teams off guard:
• JSON data that changes shape. Snowflake stores semi-structured data in a VARIANT column and lets you query fields inside it. If a source system changes a field from a number to text, queries that cast it to a number will start failing or returning nulls. Use TRY_CAST and test for nulls so one bad record doesn't stop a whole job.
• Cloned pipelines that don't run. When you clone a database that contains dynamic tables, the cloned dynamic tables are suspended by default, along with anything that depends on them. A test environment can look complete while silently never refreshing.
• Storage that grows on its own. A long Time Travel setting on a table that changes constantly keeps every old version for the full period. A 90-day window on a busy table can cost far more in storage than the live data itself.
• Cached results that hide a problem. Snowflake reuses the result of an identical query for 24 hours if the underlying data hasn't changed. That saves money, but it can also make a "fixed" slow query look fast in testing when it was simply served from the cache.
Under pressure: what happens at scale
Snowflake handles very large data volumes, but it does not handle every pattern gracefully by default. Here is what actually happens when load spikes.
When more queries arrive than a warehouse can run, the extra ones wait in a queue. Users see this as a dashboard that "hangs." Scaling up (a bigger warehouse) helps a single heavy query finish faster. Scaling out (more clusters through multi-cluster mode) helps many people query at once. Picking the wrong one is a common and expensive mistake.
When a query needs more memory than the warehouse has, Snowflake writes the overflow to local disk, and then to remote storage if local disk fills. This is called "spilling," and it can make a query many times slower. The query profile shows the bytes spilled, which is usually a clear sign the warehouse is too small for that query or the query needs rewriting.
Snowflake stores tables in small chunks called micro-partitions and keeps notes on the range of values in each one. A query that filters on date can skip most chunks if the data is laid out by date. If the data is scattered, the same query reads everything. On a multi-terabyte table, setting a clustering key on the column you filter by most can cut scan time sharply, though Snowflake charges for the background work of keeping it clustered.
Finally, a runaway query can keep running for a long time. The default statement timeout is 172,800 seconds, which is two days. Set lower timeouts per warehouse, and attach a resource monitor that suspends a warehouse once it hits a credit limit. These two settings protect your budget better than any amount of after-the-fact review.
A security lesson from 2024
In mid-2024, a criminal group that Mandiant tracks as UNC5537 used stolen passwords to break into the Snowflake accounts of roughly 165 organizations, according to Mandiant (June 2024). Mandiant found no breach of Snowflake's own systems. The passwords had been stolen from infected computers, some as far back as 2020. The affected accounts had no multi-factor authentication, many passwords had not been changed in years, and access was not limited to trusted networks.
Snowflake responded by turning on multi-factor authentication by default for new accounts from October 2024, and it phased out password-only sign-ins in stages through November 2025. The lesson for any data cloud platform is that the provider can secure its own systems, but your account settings remain your job. Use single sign-on or key-pair authentication for apps, require multi-factor sign-in for people, and restrict access to known networks.
When Snowflake may not be the right choice
Snowflake is a strong product, but it's not for everyone. It may be a poor fit if:
• Your data is small and simple. A startup with a few gigabytes in Postgres may get everything it needs from that database plus a dashboard tool, at a fraction of the cost.
• Your workload runs flat out all day, every day. Per-second billing shines for bursty use. For constant heavy load, reserved capacity elsewhere or fixed hardware can be cheaper.
• Your main job is machine learning on raw files such as images or audio. A lakehouse platform built around notebooks and open formats may suit that team better.
• You need millisecond responses for a live app. Use an operational database for that path.
If none of these apply, the Snowflake data cloud is worth a serious trial.
A practical plan for switching
Teams that move smoothly tend to follow a similar order:
1. Pick one painful report, such as the Monday orders number, and move only the data it needs first.
2. Write down the business definitions for its key numbers before you write any SQL.
3. Set up separate warehouses for loading, dashboards and ad-hoc work, each with auto-suspend and a resource monitor.
4. Load data with deduplication and a load timestamp from day one.
5. Run the old and new reports side by side for two to four weeks and explain every difference.
6. Turn off the old report only when both teams agree on the new number.
7. Repeat for the next report, reusing the definitions you have already agreed.
This approach turns a big migration to a cloud data warehouse into a series of small wins that people can see.
Conclusion
What the retail team from the opening needed most was one agreed number. Snowflake made that easier for them because every team could read the same data without slowing anyone else down, and changes could be tested on clones before going live. The definitions still had to be agreed by people in a room.
That sums up why enterprises are switching. The Snowflake data cloud removes most of the hardware work, scales when the business is busy and costs little when it's quiet. It also brings sharing, recovery and AI tools into one place. The companies that get the most from it treat it as a place to fix how they define and check their data, and they set cost and security controls on the first day, well before any surprise bill can arrive.


