Arch Day 178
Arch Day 178: 现代数据栈 — dbt、Snowflake与数据建模
现代数据栈(Modern Data Stack)的核心范式是ELT(先加载原始数据,再用仓库算力转换)——dbt作为转换层已成行业标准,90,000+项目在生产运行。
2026-09-24
第七阶段 - Web3专题深度dbtSnowflakeDatabricksBigQuery数据建模ELT现代数据栈
日期: 2026-09-24 (Day 178) 阶段: 第七阶段 - Web3专题深度 标签: #dbt #Snowflake #Databricks #BigQuery #数据建模 #ELT #现代数据栈
核心概念
一句话定义
现代数据栈(Modern Data Stack)的核心范式是ELT(先加载原始数据,再用仓库算力转换)——dbt作为转换层已成行业标准,90,000+项目在生产运行。
知识点详解
1. 三大云数据仓库
| 维度 | Snowflake | Databricks | BigQuery |
|---|---|---|---|
| 定位 | SQL-first | Lakehouse(工程+ML) | Serverless分析 |
| dbt兼容 | 最佳 | 日益增强 | 优秀 |
| AI/ML | Snowpark(较新) | 原生强项 | Vertex AI |
| 200个dbt models月费 | ~$480 | ~$85 | 按查询量 |
2. dbt Core vs dbt Cloud
| 维度 | Core | Cloud |
|---|---|---|
| 成本 | 免费 | $100/月起 |
| 调度 | 需外部工具 | 内置 |
| Semantic Layer | 不支持 | 支持(GA) |
重大事件: Fivetran和dbt Labs 2025.10宣布合并,年收入近$6亿。
3. 数据建模最佳实践
Hybrid方案(2026推荐):
- Kimball Star Schema构建中间层(staging+marts)
- OBT(One Big Table)构建报表层
- 兼顾可维护性和查询性能
4. dbt新特性
- Semantic Layer: 定义metrics和dimensions的开放标准
- dbt Mesh: 多团队多项目,通过contracts互相引用
- dbt Fusion Engine: 全新引擎,流批一体(Apache Flink集成)
5. Web3/金融数据建模
| 层级 | 内容 | 建模 |
|---|---|---|
| Raw | Blocks/Transactions/Logs | 1:1映射链上 |
| Decoded | Transfer/Swap事件 | ABI解码 |
| Protocol | Uniswap trades等 | 协议逻辑聚合 |
| Metrics | TVL/Volume/Users | 时间序列 |
面试题
问题:dbt解决了什么问题?
回答:dbt解决了数据转换(Transformation)的工程化问题——1) 版本控制: SQL模型用Git管理;2) 测试: 内置数据质量测试(not_null/unique/关系验证);3) 文档: 自动生成数据字典和血缘图;4) 模块化: ref()函数管理模型间依赖;5) 可重复: 每次运行结果一致。本质是把软件工程的最佳实践带入数据分析。