---
title: "What is Snowflake? A beginner's guide to the data warehouse"
canonical: "https://www.owox.com/blog/articles/snowflake-data-warehouse-explained"
updated: "2026-10-05"
---

# What is Snowflake? A beginner's guide to the cloud data warehouse

Snowflake is a cloud data warehouse that stores data once and lets any number of independent compute clusters, called virtual warehouses, query it. You pay for storage by the terabyte and for compute by the second. This guide covers how it is built, the objects you work with, how data gets in, and what you still need on top of it to report.

[Snowflake](/blog/topics/snowflake) · Updated October 1, 2026 · [Vadym Kramarenko](/team/vadym-kramarenko) · 8 min read

![What is Snowflake? A beginner's guide to the cloud data warehouse](https://cdn.owox.ai/www/webflow/699dc26301ebea2a562dd7a9_What-Is-Snowflake.png/public)

Snowflake is a data warehouse that runs entirely in the cloud. You do not install it or size a server for it. You create an account on AWS, Azure or Google Cloud, load data, and query it with SQL.

What made it different, and what still explains most of how it behaves, is one design decision: **storage and compute are separate**. Data is stored once. Compute is rented by the second, in as many independent clusters as you need, and switched off when nobody is asking a question. This guide explains what that means in practice, with the SQL to try it.

## What Snowflake is, in plain terms

A data warehouse is a database built for analysis: large tables, many rows read at once, questions like “revenue by channel by month” instead of “fetch order 1042”. Snowflake is one of those, delivered as a service.

Three things describe it to someone who has never used it:

*   **It speaks SQL.** Tables, views, joins, window functions. If you can write a query, you can use it.
*   **It is fully managed.** There are no servers to patch, no indexes to rebuild, no storage to provision.
*   **It bills by use.** Storage per terabyte per month, compute per second while a cluster runs. [Snowflake pricing](https://www.owox.com/blog/articles/snowflake-pricing-cost-control) has the rates and a worked bill.

## How Snowflake is built: three layers

Snowflake’s architecture is usually drawn as three layers, and each one maps to something you will see on a bill or in the interface.

**Storage.** Your tables are stored in a compressed, columnar format in the cloud provider’s object storage, organised into small units Snowflake calls micro-partitions. You never manage files. You pay for the compressed volume.

**Compute.** Queries run on **virtual warehouses**: clusters you create, name and size from X-Small upward. A warehouse reads from storage, does the work and returns the result. Several warehouses can read the same table at the same moment without slowing each other down, which is how one team’s heavy job stops being another team’s slow dashboard.

**Cloud services.** The coordinating layer: logins, access control, query planning, metadata. It is what lets a suspended warehouse wake up on the next query without anyone starting it.

Because the layers are independent, they scale independently. Ten times the data does not need ten times the compute, and a second team does not need a second copy of the data.

## The Turning Point

OWOX Data Marts

See your first report built in real time. _15 minutes._

1.  Connect your data warehouse
2.  Pick your metrics
3.  Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

[Book a Demo](/book-a-call)

We'll use your actual use case

## The objects you will meet

Everything in Snowflake lives in a simple hierarchy, and most confusion in the first week comes from mixing up two of its words: a **database** holds data, a **warehouse** runs queries.

*   **Account**: your Snowflake environment in one cloud region.
*   **Database**: a container for schemas, for example `analytics`.
*   **Schema**: a container for tables and views inside a database, for example `analytics.marts`.
*   **Table and view**: where data is, and saved queries over it.
*   **Virtual warehouse**: compute. Not a place where data lives.
*   **Role**: what a user is allowed to see and do. Privileges are granted to roles, and roles to users.

Creating the basics takes a few statements:

```
CREATE WAREHOUSE reporting_wh
  WAREHOUSE_SIZE = 'XSMALL'
  AUTO_SUSPEND = 60
  AUTO_RESUME = TRUE;

CREATE DATABASE analytics;
CREATE SCHEMA analytics.marts;
```

`AUTO_SUSPEND = 60` stops the warehouse after a minute with no queries, and `AUTO_RESUME` restarts it on the next one. Those two settings are the difference between paying for the work and paying for the day.

## Getting data in

Snowflake does not collect data for you. Something has to put it there, and there are three common routes.

**Bulk loading from files.** Files are placed in a stage (a location in cloud storage that Snowflake can read) and loaded with `COPY INTO`:

```
COPY INTO analytics.raw.orders
FROM @my_stage/orders/
FILE_FORMAT = (TYPE = 'CSV' SKIP_HEADER = 1);
```

**Continuous loading.** Snowpipe loads files as they arrive, without a warehouse you manage, and is billed per gigabyte loaded.

**Connectors.** For data that lives in other platforms, a connector calls the platform’s API on a schedule and writes the result into Snowflake tables. These are the guides for the sources marketing and e-commerce teams ask about most: [Facebook Ads](https://www.owox.com/blog/articles/facebook-ads-to-snowflake-data-marts), [Google Ads](https://www.owox.com/blog/articles/google-ads-data-snowflake-owox), [Microsoft Ads](https://www.owox.com/blog/articles/microsoft-ads-snowflake-owox), [LinkedIn Ads](https://www.owox.com/blog/articles/linkedin-ads-to-snowflake), [TikTok Ads](https://www.owox.com/blog/articles/tiktok-ads-data-snowflake), [Reddit Ads](https://www.owox.com/blog/articles/reddit-ads-to-snowflake) and [Shopify](https://www.owox.com/blog/articles/shopify-data-to-snowflake).

Snowflake also stores semi-structured data. JSON can be loaded into a `VARIANT` column and queried with path notation, so an API response does not have to be flattened before it is useful.

## Querying: SQL you can start with

The examples below run on a small e-commerce dataset: `sessions`, `orders`, `customers` and `products` in `ecommerce.public`. Each was validated on Snowflake before publication.

### Revenue by month

```
SELECT
  DATE_TRUNC('month', o.order_date) AS month,
  COUNT(DISTINCT o.order_id) AS orders,
  SUM(p.price * o.quantity) AS revenue
FROM ecommerce.public.orders o
JOIN ecommerce.public.products p
  ON o.product_id = p.product_id
GROUP BY month
ORDER BY month;
```

Snowflake lets you group by a column alias, which keeps queries like this short.

### Sessions, orders and revenue by channel

```
SELECT
  s.source_medium,
  COUNT(DISTINCT s.session_id) AS sessions,
  COUNT(DISTINCT o.order_id) AS orders,
  SUM(p.price * o.quantity) AS revenue
FROM ecommerce.public.sessions s
LEFT JOIN ecommerce.public.orders o
  ON s.session_id = o.session_id
LEFT JOIN ecommerce.public.products p
  ON o.product_id = p.product_id
WHERE s.date >=
  DATEADD(day, -30, CURRENT_DATE())
GROUP BY s.source_medium
ORDER BY revenue DESC;
```

### Top three products per category with QUALIFY

```
SELECT
  p.category,
  p.product_name,
  SUM(p.price * o.quantity) AS revenue
FROM ecommerce.public.orders o
JOIN ecommerce.public.products p
  ON o.product_id = p.product_id
GROUP BY p.category, p.product_name
QUALIFY ROW_NUMBER() OVER (
  PARTITION BY p.category
  ORDER BY SUM(p.price * o.quantity) DESC
) <= 3;
```

`QUALIFY` filters on a window function directly. In most other SQL dialects this needs a subquery.

## Features that set Snowflake apart

A few capabilities come from the architecture and are worth knowing early, because they change how you work.

**Time Travel.** Snowflake keeps earlier versions of a table for a retention period, one day by default and up to 90 on Enterprise edition and above. You can query the past, or bring back something dropped by mistake:

```
SELECT COUNT(*) AS orders_an_hour_ago
FROM ecommerce.public.orders
  AT(OFFSET => -3600);

UNDROP TABLE orders;
```

**Zero-copy cloning.** `CREATE TABLE orders_dev CLONE orders;` makes a full, writable copy of a table, schema or database in seconds without duplicating the storage. Only later changes take space. It is the cheapest test environment you will ever build.

**Data sharing.** One account can give another read access to live tables with no files exported and nothing copied.

**Many warehouses, one copy of the data.** Loading, transformation, reporting and ad hoc analysis each get their own warehouse, sized and suspended for what it does.

## What Snowflake costs

The bill has three parts: compute in credits, storage per terabyte and data transfer. Compute is almost always the largest and the only one that surprises anyone, because a warehouse bills for every second it is running, whether or not a query is executing.

The full breakdown, with the price of a credit by edition, credits per hour for each warehouse size and the SQL to see your own spend, is in [Snowflake pricing explained](https://www.owox.com/blog/articles/snowflake-pricing-cost-control).

## Why teams choose Snowflake, and where it stops

Snowflake became a common first choice for analytics teams for reasons that follow from the design, not from marketing.

*   **Concurrency without contention.** Separate warehouses mean finance’s month-end and marketing’s dashboards do not compete.
*   **Little to operate.** No vacuuming, no index tuning, no capacity planning beyond a warehouse size.
*   **It starts small.** One X-Small warehouse and a few tables is a working setup. The same account scales to a whole company.
*   **It runs on three clouds.** The same product on AWS, Azure and Google Cloud.

It is equally useful to be clear about what Snowflake is not:

*   **Not a data collection tool.** It stores what you load. Getting data out of ad platforms, a CRM or a shop is a separate job.
*   **Not a reporting tool.** It returns rows. Dashboards, spreadsheets and scheduled reports live elsewhere.
*   **Not a definition of your metrics.** Two analysts can compute “revenue” two ways from the same tables, and Snowflake will run both.

If you are still deciding between platforms, [Snowflake vs BigQuery](https://www.owox.com/blog/articles/snowflake-vs-bigquery-comparison) compares the two in detail, and [what Databricks is](https://www.owox.com/blog/articles/what-is-databricks) covers the lakehouse alternative.

## From warehouse to reports people read

The gap between “the data is in Snowflake” and “the marketing lead has her numbers on Monday” is where most of the work is. [OWOX Data Marts](https://www.owox.com/app-signup) is built for that gap. It does not transform your data. It connects [Snowflake as a storage](https://www.owox.com/data-storages/snowflake), and everything it does happens on your tables, in your account.

It covers both ends. On the way in, connectors load data from ad platforms and Shopify into Snowflake tables on a schedule.

![Data Setup of a Facebook Ads Data Mart in OWOX Data Marts, showing the Facebook Marketing source writing to a table in a Snowflake database, with the output schema listing each field and its type – collected data lands in your own warehouse](https://cdn.owox.ai/www/content-marketing-article/snowflake-data-warehouse-explained/screens/1.png/public)

On the way out, an analyst publishes a table, a view or a SQL query as a [Data Mart](https://www.owox.com/features/data-mart-management): one named, documented definition that reports are built on.

![Data Marts list in OWOX Data Marts filtered to Snowflake storage, showing ten Data Marts built from SQL and from ad platform and Shopify connectors – a reporting layer that sits on the warehouse](https://cdn.owox.ai/www/content-marketing-article/snowflake-data-warehouse-explained/screens/2.png/public)

Each Data Mart can be delivered to Google Sheets, Data Studio, Slack or email, on a schedule, without the reader needing a Snowflake login.

![Destinations tab of a Snowflake Data Mart in OWOX Data Marts listing Data Studio, Email, Slack and a Google Sheets report with its last run status – one definition delivered where people already work](https://cdn.owox.ai/www/content-marketing-article/snowflake-data-warehouse-explained/screens/3.png/public)

Three guides go deeper on this layer: [Snowflake as a reusable reporting layer](https://www.owox.com/blog/articles/snowflake-reusable-reporting-layer) for analysts, [self-service marketing analytics on Snowflake](https://www.owox.com/blog/articles/snowflake-self-service-marketing-analytics) for marketing teams, and [Snowflake reports in Google Sheets](https://www.owox.com/blog/articles/automate-snowflake-google-sheets) for the spreadsheet side.

## Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

*   No AI hallucinations
*   Analyst-governed definitions
*   Every number traces to SQL

[Get started free](https://www.owox.com/app-signup)

## FAQ

## Frequently Asked Questions

How does OWOX Data Marts work with Snowflake?

OWOX Data Marts connects Snowflake as a storage and works on your own tables. Connectors load data from ad platforms and Shopify into Snowflake on a schedule. An analyst publishes a table, a view or a SQL query as a Data Mart, and reports built on it are delivered to Google Sheets, Data Studio, Slack or email. It does not transform data; the SQL stays the analyst's.

How does Snowflake handle concurrency and performance for multiple teams running queries simultaneously?

Snowflake runs queries on virtual warehouses, which are independent compute clusters. Each team or workload can have its own, so a heavy transformation job does not slow down dashboards, and all of them read the same single copy of the data. A warehouse can also add clusters of the same size when queries start to queue.

Can Snowflake replace ETL tools or BI dashboards on its own?

No, Snowflake is not an ETL or reporting tool. It provides a centralized platform to store and process data, but you still need separate ETL/ELT pipelines to ingest data and BI tools to create dashboards and visualizations. Snowflake works as the foundational data layer that integrates with these other tools.

What role do Data Marts and data modeling play in getting value from Snowflake?

A Data Mart is a table, a view or a query organised around a business question rather than a source system, with agreed definitions. On Snowflake it gives every report one place to read from, so the same metric is not calculated differently in each dashboard, and heavy logic runs once instead of in every tool.

Is Snowflake suitable for small companies or only large technical enterprises?

Snowflake is suitable for both large enterprises and smaller teams. It benefits any organization combining multiple data sources and needing a trusted, scalable analytics foundation. Smaller companies can start with focused use cases like marketing ROI or product funnels and scale their Snowflake environment without requiring large data engineering teams.

How does Snowflake's architecture separate storage and compute, and why is this important?

Snowflake separates where data is stored (storage) from how data is processed (compute). This allows storing vast amounts of data cheaply while independently scaling compute resources to run queries efficiently. It provides flexibility, cost control, concurrent usage by multiple teams, and better performance without data duplication.

Why do businesses and analytics teams use Snowflake for their data needs?

Businesses use Snowflake to centralize data into a single governed source of truth, reducing conflicting reports and speeding up decision-making. Snowflake scales with business growth, supports multiple teams running queries concurrently, and improves reliability and consistency in analytics without manual data merges or spreadsheet errors.

What is Snowflake, and how does it work as a cloud data warehouse?

Snowflake is a cloud-native data warehouse that securely stores, organizes, and analyzes large volumes of data in a single cloud environment. It separates storage and compute, allowing scalable, pay-as-you-go processing without managing hardware or infrastructure, enabling teams to query and analyze data reliably using SQL and BI tools.

## Who wrote this

![Vadym Kramarenko](https://cdn.owox.ai/www/webflow/6798e703afdf787334941cde_Vadym-Kramarenko.png/public)

[Vadym Kramarenko](/team/vadym-kramarenko) · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.

[LinkedIn](https://www.linkedin.com/in/vadim-kramarenko/) · [All articles](/team/vadym-kramarenko)

[Snowflake](/blog/topics/snowflake)

## Related articles

[Snowflake · Automate Snowflake reports in Google Sheets with OWOX Data Marts · October 1, 2026](/blog/articles/automate-snowflake-google-sheets)

[Snowflake · How to load Facebook Ads data into Snowflake with OWOX Data Marts · October 1, 2026](/blog/articles/facebook-ads-to-snowflake-data-marts)

[Snowflake · How to load Google Ads data into Snowflake with OWOX Data Marts · October 1, 2026](/blog/articles/google-ads-data-snowflake-owox)

[See all articles →](/blog/articles)

## Book a call

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Snowflake](https://www.owox.com/blog/topics/snowflake) — /blog/topics/snowflake.md
- [Vadym Kramarenko](https://www.owox.com/team/vadym-kramarenko) — /team/vadym-kramarenko.md
- [Snowflake pricing](https://www.owox.com/blog/articles/snowflake-pricing-cost-control) — /blog/articles/snowflake-pricing-cost-control.md
- [Book a Demo](https://www.owox.com/book-a-call) — /book-a-call.md
- [Facebook Ads](https://www.owox.com/blog/articles/facebook-ads-to-snowflake-data-marts) — /blog/articles/facebook-ads-to-snowflake-data-marts.md
- [Google Ads](https://www.owox.com/blog/articles/google-ads-data-snowflake-owox) — /blog/articles/google-ads-data-snowflake-owox.md
- [Microsoft Ads](https://www.owox.com/blog/articles/microsoft-ads-snowflake-owox) — /blog/articles/microsoft-ads-snowflake-owox.md
- [LinkedIn Ads](https://www.owox.com/blog/articles/linkedin-ads-to-snowflake) — /blog/articles/linkedin-ads-to-snowflake.md
- [TikTok Ads](https://www.owox.com/blog/articles/tiktok-ads-data-snowflake) — /blog/articles/tiktok-ads-data-snowflake.md
- [Reddit Ads](https://www.owox.com/blog/articles/reddit-ads-to-snowflake) — /blog/articles/reddit-ads-to-snowflake.md
- [Shopify](https://www.owox.com/blog/articles/shopify-data-to-snowflake) — /blog/articles/shopify-data-to-snowflake.md
- [Snowflake vs BigQuery](https://www.owox.com/blog/articles/snowflake-vs-bigquery-comparison) — /blog/articles/snowflake-vs-bigquery-comparison.md
- [what Databricks is](https://www.owox.com/blog/articles/what-is-databricks) — /blog/articles/what-is-databricks.md
- [OWOX Data Marts](https://www.owox.com/app-signup)
- [Snowflake as a storage](https://www.owox.com/data-storages/snowflake) — /data-storages/snowflake.md
- [Data Mart](https://www.owox.com/features/data-mart-management) — /features/data-mart-management.md
- [Snowflake as a reusable reporting layer](https://www.owox.com/blog/articles/snowflake-reusable-reporting-layer) — /blog/articles/snowflake-reusable-reporting-layer.md
- [self-service marketing analytics on Snowflake](https://www.owox.com/blog/articles/snowflake-self-service-marketing-analytics) — /blog/articles/snowflake-self-service-marketing-analytics.md
- [Snowflake reports in Google Sheets](https://www.owox.com/blog/articles/automate-snowflake-google-sheets) — /blog/articles/automate-snowflake-google-sheets.md
- [See all articles →](https://www.owox.com/blog/articles) — /blog/articles.md
