SNOWFLAKE Snowflake Basics: What It Is and Your First Query
Snowflake is one of the most widely used cloud data warehouses in the industry. In this tutorial, you'll learn what Snowflake actually is, why its separation of storage and compute changed the data warehouse world, and how to set up a free account. By the end, you'll run your first query in the Snowflake UI.
What a Data Warehouse Is
A data warehouse is a database built for analytics. It stores large amounts of historical data and is optimized for running complex queries across it.
Data warehouses are different from transactional databases like Postgres or MySQL:
- Transactional databases (OLTP) – built for many small, fast operations. Handle single-row reads and writes at high volume. Used by applications.
- Data warehouses (OLAP) – built for fewer, larger queries that scan or aggregate huge amounts of data. Used by analysts, BI tools, and reporting pipelines.
Running analytical queries on a transactional database slows down the app. Running app queries on a warehouse is expensive and slow.
What Snowflake Is
Snowflake is a cloud-native data warehouse. It runs entirely on cloud providers (AWS, Azure, GCP) and is managed as a service — you never install, patch, or scale servers yourself.
Key characteristics:
- Fully managed – no infrastructure, no tuning, no version upgrades to run.
- SQL-based – query with standard SQL. No new query language to learn.
- Pay-per-use – you pay for storage and for the compute time you actually use, not for idle servers.
- Multi-cloud – runs on AWS, Azure, or GCP. The Snowflake experience is the same across all three.
Snowflake was founded in 2012 and became one of the most widely used data warehouses in the industry, largely because of one architectural decision — separating storage from compute.
Why Separated Storage and Compute Matters
Traditional data warehouses tied storage and compute together on the same machines. If you needed more query power, you had to scale up storage too. If you needed more storage, you paid for compute you did not need.
Snowflake separates the two:
- Storage scales independently. Add as much data as you want. Pay only for what you store.
- Compute runs in isolated units called warehouses. You can spin up multiple warehouses of different sizes for different workloads, and they never compete for resources.
- Concurrency improves because each team or workload can use its own warehouse. The analytics team's queries do not slow down the finance team's dashboards.
You can pause a warehouse when nobody is querying and pay nothing for compute during that time, while the data stays available.
Snowflake's Architecture
Snowflake is built in three layers:
- Storage layer – all data is stored in the cloud provider's object storage (S3 on AWS, Blob on Azure, GCS on GCP), in a compressed columnar format. Snowflake manages the file layout, compression, and metadata.
- Compute layer – one or more virtual warehouses. Each warehouse is an independent cluster of compute nodes that executes queries against the storage layer.
- Cloud services layer – handles authentication, query parsing, optimization, metadata, and access control. This layer is shared across the account and managed entirely by Snowflake.
Set Up a Free Snowflake Trial
Go to signup.snowflake.com and create an account.
Steps:
- Enter your name, email, and company (any value works for the trial).
- Choose an edition. Select Standard for the tutorial — it is the cheapest and includes everything you need.
- Choose a cloud provider (AWS, Azure, or GCP) and a region close to you. The choice does not affect the tutorial content.
- Confirm your email through the verification link Snowflake sends.
- Set your username and password on first login.
Your trial includes $400 in free credits for 30 days.
Snowflake UI
After signing in, you land on Snowsight, Snowflake's web interface. Key sections in the left sidebar:
- Databases – lists all databases in your account. Snowflake pre-loads sample datasets under
SNOWFLAKE_SAMPLE_DATA. - Worksheets – SQL editor for writing and running queries.
- Warehouses – lists compute warehouses. Every new account starts with a default one, usually called
COMPUTE_WH. - Query History – shows every query you have run, with duration, status, and results.
Run Your First Query
Click Worksheets in the sidebar, then click + Worksheet to create a new one.
At the top of the worksheet, select:
- Warehouse –
COMPUTE_WH(the default warehouse). - Database –
SNOWFLAKE_SAMPLE_DATA. - Schema –
TPCH_SF1.
Then paste and run this query:
SELECT
o_orderstatus,
COUNT(*) AS order_count,
SUM(o_totalprice) AS total_value
FROM orders
GROUP BY o_orderstatus
ORDER BY order_count DESC;
Key points:
orders– a table from the TPC-H sample dataset with 1.5 million rows.- The query groups orders by status and counts them, then sums the total value per status.
- Click Run to execute.
Expected output – a small result set showing three order statuses (O, F, P) with counts and totals.
Open Query History in the sidebar to see the query listed with its duration, warehouse used, and rows returned. Every query you run is tracked here.
What's next
Start Snowflake