CORE CONCEPTS · Serverless 数据仓库
BigQuery 核心知识
BigQuery 是无服务器分析服务。工程重点是列式扫描、slot、分区/聚簇、数据位置和按扫描量或容量计费。
学完应该能做到
- 能估算查询成本
- 能设计分区与聚簇
- 能处理持续服务变更
三个必须建立的心智模型
执行与 Slot
查询被拆为 stage 并由 slot 执行;shuffle、倾斜和高基数聚合常是瓶颈。
- 查看 execution graph
- 减少重复扫描
- 处理 skew 与大 shuffle
分区、聚簇与成本
分区消除整段数据,聚簇改善块裁剪;SELECT * 会直接放大扫描成本。
- 启用 require_partition_filter
- 先 dry run
- 合理使用物化视图
数据位置与治理
dataset location 影响 join、复制和合规;IAM、行列策略与审计共同构成治理。
- 先定区域再建表
- 最小权限
- 区分 time travel 与备份
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。