大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
云平台与对象存储
现代数据栈大量跑在云上:对象存储存原始文件,托管数仓跑 SQL,IAM 管权限。本课建立 S3/GCS 与 Snowflake/BigQuery 的概念地图。
学习目标
- 理解对象存储在数据湖中的角色
- 对比 Snowflake、BigQuery、Redshift 等托管数仓
- 知道本地练习如何用 MinIO / DuckDB 模拟
对象存储
S3(AWS)、GCS(Google)、Azure Blob 语义相近:
s3://coderoadmap-data-lake/
raw/mysql/cf_track/dt=2026-09-20/part-000.parquet
processed/mart/mart_track_stats/
| 优势 | 注意 |
|---|---|
| 便宜、无限扩展 | 不是数据库,列目录要有规范 |
| 多引擎共读 | 小文件过多影响性能 |
| 版本与生命周期 | 冷数据归档降成本 |
ETL 常见路径:MySQL → Parquet on S3 → Snowflake COPY / BigQuery Load。
托管数仓概览
| 产品 | 特点 |
|---|---|
| Snowflake | 存算分离,跨云,SQL 友好 |
| BigQuery | GCP 原生,serverless 查询 |
| Redshift | AWS 生态,与 S3 集成深 |
| Databricks | Spark + 湖仓一体 |
共同趋势:按查询付费、自动扩缩、标准 SQL。dbt 可对接上述多数平台。
本地 / 低成本练习
| 工具 | 模拟什么 |
|---|---|
| MinIO | S3 API 兼容对象存储 |
| DuckDB | 本地 SQL 分析 Parquet |
| MySQL 分析实例 | 小规模 mart |
不必为学习立刻开云账单;理解 「文件在桶里,元数据在 catalog,算力在数仓」 即可。
与 CodeRoadMap 架构
生产主站仍可 自建 MySQL + Docker(见 docker-essentials);分析层可:
nightly mysqldump / JDBC → MinIO/S3 raw
Airflow + dbt → mart 表(云或本地 DuckDB)
Grafana / Metabase 读 mart
IAM 与成本
- 桶策略:ETL 角色
PutObject,分析师GetObject+ 数仓只读 - 成本:存储便宜,扫描 TB 级表查询贵——分区、列裁剪、物化 mart
与路线图的关系
- /roadmaps/data-engineer — Cloud / Storage 节点
- de-storage — 分层架构
- de-bigdata — Spark 读对象存储
练习
- 设计
cf_track的 S3 路径规范(含日期分区) - 对比「全放 MySQL mart」与「S3 + 数仓」各一条优缺点
- 说明 IAM 中 ETL 账号与分析师账号应差哪些权限
小结
对象存储是湖的底座,托管数仓是 SQL 算力;云上是规模化的默认选项。 下一课讲流处理与 Reverse ETL。