Snowflake 详细介绍(AI时代最主流的数据云平台)
Snowflake 是目前全球最成功的云原生数据平台(Cloud Native Data Platform) ,它最初定位于云数据仓库(Cloud Data Warehouse) ,目前已经发展成为一个完整的 AI Data Cloud,支持:
-
数据仓库(Data Warehouse)
-
数据湖(Data Lake)
-
数据湖仓(Lakehouse)
-
数据工程(Data Engineering)
-
数据共享(Data Sharing)
-
数据应用(Data Apps)
-
AI/ML
-
LLM、RAG、Agent开发
目前Snowflake已经拥有上万家企业客户,并持续围绕AI能力扩展其平台。(Snowflake)
一、Snowflake的发展历史
Snowflake成立于2012年,由Oracle的数据仓库专家创立。
发展路线:
2012
│
├── Cloud Data Warehouse
│
2018
│
├── Multi Cloud
│
2020
│
├── Data Sharing
│
2021
│
├── Data Marketplace
│
2022
│
├── Data Cloud
│
2023
│
├── Snowpark
│
2024
│
├── Cortex AI
│
2025+
│
└── AI Data Cloud
官方定位已经从:
Cloud Data Warehouse
升级为
AI Data Cloud。(Snowflake)
二、Snowflake解决什么问题?
传统企业的数据平台通常如下:
ERP
CRM
MES
IoT
日志
数据库
文件
│
ETL
│
Hadoop
Hive
Spark
Kafka
│
Data Warehouse
│
BI
存在的问题:
-
Hadoop运维复杂
-
Spark资源管理困难
-
Hive查询慢
-
扩容麻烦
-
云迁移困难
-
数据孤岛
-
数据共享困难
Snowflake的目标就是:
不需要维护Hadoop集群,不需要维护数据库,不需要维护存储,只需要上传数据即可分析。
三、Snowflake总体架构
Snowflake最大的创新就是:
Storage 与 Compute 完全分离。
+--------------------+
| Cloud Services |
| Metadata |
| Authentication |
| Optimizer |
| Transaction |
+--------------------+
│
-------------------------------
Compute Layer (Virtual Warehouse)
Warehouse A
Warehouse B
Warehouse C
-------------------------------
Storage Layer
Amazon S3
Azure Blob
Google Cloud Storage
官方架构由三层组成:云服务层、计算层(Virtual Warehouse)和存储层,三者解耦,实现弹性扩缩容。(Snowflake 文档)
这是Snowflake最经典的架构。
四、三层架构详解
第一层:Storage Layer
所有数据存放:
AWS
Amazon S3
Azure
Blob Storage
Cloud Storage
Snowflake负责:
-
自动压缩
-
自动分区
-
自动加密
-
自动复制
用户完全不用管理。
第二层:Compute Layer
这一层就是:
Virtual Warehouse
例如:
Small
Medium
Large
XLarge
2XLarge
4XLarge
每个Warehouse都是:
独立计算集群。
例如:
BI
Warehouse
ETL
Warehouse
ML
Warehouse
三个互不影响。
这是Snowflake最大的优势。
例如:
BI跑SQL
不会影响
ETL导数据。
第三层:Cloud Service Layer
这是Snowflake真正的大脑。
负责:
Metadata
SQL Parser
Optimizer
Security
RBAC
Transaction
Caching
Result Cache
Query History
Resource Monitor
所有元数据都在这里。
五、为什么Snowflake这么快?
原因很多。
① Storage Compute Separation
计算扩容:
2节点
↓
8节点
↓
32节点
不用迁移数据。
② Automatic Micro Partition
Snowflake不会像Hive一样:
Partition
Day
Hour
Province
...
而是:
自动切分:
Micro Partition
16MB
左右
例如:
10TB
↓
几十万个Micro Partition
查询时:
只扫描相关Partition。
③ Columnar Storage
采用:
Column Store
例如:
ID
Name
Salary
Age
查询:
SELECT Salary
只读取:
Salary列。
大幅减少IO。
④ Result Cache
第一次:
SELECT *
FROM order
耗时:
20秒
第二次:
直接返回:
0.02秒
因为:
Result Cache。
⑤ Metadata Cache
大量Metadata缓存。
例如:
Table
Schema
Statistics
Partition
不用重新扫描。
六、Virtual Warehouse
Snowflake最经典概念。
例如:
企业有:
Data Scientist
BI
ETL
Marketing
Finance
以前:
全部共用:
Spark Cluster。
互相抢资源。
Snowflake:
Warehouse A
↓
BI
Warehouse B
↓
ETL
Warehouse C
↓
ML
完全隔离。
互不影响。
还能:
Auto Suspend
不用
↓
自动停止
Auto Resume
有SQL
↓
自动启动
所以:
非常省钱。
七、Snowflake的数据共享(Data Sharing)
这是Snowflake最强大的功能之一。
例如:
A公司:
Order
想给:
B公司。
传统方式:
CSV
FTP
API
同步
Snowflake:
Share
↓
直接访问
不用复制。
没有ETL。
实时。
八、Data Marketplace
Snowflake Marketplace:
可以买:
-
股票数据
-
天气数据
-
GIS
-
医疗
-
金融
-
电商
直接:
SELECT
即可查询。
无需下载。
九、Snowpark
这是近几年Snowflake最重要产品。
以前:
只能:
SQL。
现在:
支持:
Python
Scala
Java
例如:
df.filter(df["age"]>18)
直接运行。
不用:
Spark。
Snowpark 将数据工程和 AI/ML 代码直接带到数据所在的位置,支持 Python、Java、Scala 等语言。(Snowflake 文档)
十、AI能力(Cortex)
Snowflake现在重点投入:
AI。
主要包括:
Cortex LLM
直接:
SELECT AI_COMPLETE(...)
调用LLM。
Vector Search
支持:
Embedding
Vector
Similarity Search
做:
RAG。
Document AI
OCR
文档理解。
AI Agent
现在Snowflake已经开始布局:
Agent。
例如:
Sales Agent
Finance Agent
HR Agent
企业直接调用内部数据。
近年来 Snowflake 持续推出 Cortex、AI Data Cloud 等能力,并围绕企业 AI 与 Agent 场景进行扩展。(Snowflake)
十一、Snowflake 与 Databricks 对比
| 维度 | Snowflake | Databricks |
|---|---|---|
| 起家 | 云数据仓库 | Spark计算平台 |
| 核心优势 | SQL分析、数据共享 | AI、机器学习、Lakehouse |
| 底层 | 自研引擎 | Apache Spark |
| 存储 | 云对象存储 | Delta Lake |
| 数据共享 | 非常强 | 较弱 |
| AI | Cortex、Snowpark | MLflow、Mosaic AI |
| 开发语言 | SQL、Python、Java、Scala | Python、Scala、SQL |
| 运维 | 全托管 Serverless | 托管但偏工程化 |
| 适合 | BI、数仓、企业分析 | AI、数据工程、模型训练 |
十二、Snowflake 与 Hadoop、Hive、Spark 对比
| 对比项 | Hadoop | Hive | Spark | Snowflake |
|---|---|---|---|---|
| 运维 | 很复杂 | 复杂 | 较复杂 | 无需运维 |
| 扩容 | 手工 | 手工 | 手工 | 自动 |
| 存储 | HDFS | HDFS | HDFS/S3 | 云对象存储 |
| SQL性能 | 一般 | 较慢 | 较快 | 很高 |
| 并发能力 | 一般 | 一般 | 较好 | 很强 |
| 数据共享 | 无 | 无 | 无 | 原生支持 |
| AI支持 | 弱 | 弱 | 较强 | 原生AI平台 |
十三、Snowflake适合哪些企业?
典型场景包括:
-
企业级数据仓库:替代传统 Oracle、Teradata、Hive 等数仓。
-
Lakehouse:统一管理结构化、半结构化和部分非结构化数据。
-
BI 与实时分析:连接 Tableau、Power BI、Looker 等分析工具。
-
跨组织数据共享:供应链、金融机构、合作伙伴之间共享实时数据。
-
AI 数据平台:为 RAG、向量检索、企业知识库、Agent 提供统一数据底座。
-
多云架构 :同时运行于 AWS、Azure、Google Cloud,实现统一的数据访问体验。(Snowflake)