Skip to content

仓库治理最佳实践

本页面沉淀实验数量在单个仓库连接上增长后被验证有用的运维实践。

分区

  • 把事实表与分流表按 ABetterChoice 读取的时间粒度(通常是每天)分区,让每次定时刷新都裁剪到需要的分区。
  • 注册表时设置其 Partition Field(例如 ds)与对应的 Partition Field TypeDate / Timestamp / Datetime),以便引擎裁剪分区。字段说明见定义数据表
  • Demo 项目在三种表类型上都遵循这个模式 —— 分流表、事实表、用户属性表各自按日期分区:

三张 demo 表 —— 分流、事实、用户属性 —— 均从 BigQuery 注册且按日期分区

预聚合

  • 对超大事实表,先在上游建一张按天的 roll-up 表,再把这张 roll-up 表注册为指标来源,而不是直接用原始事件表。
  • roll-up 的粒度保持在"用户 × 天 × 关注事件"即可 —— 更细的粒度对统计功效收益有限。

增量刷新

  • 充分利用仓库自身的增量更新能力(表级 MERGE、物化视图),避免每次结果刷新都做全表扫描。
  • 当底层事实表是仅追加且按日期分区时,定时刷新天然只触及最近的分区。

治理

  • 连接以单个 Business Account 运行,由平台代理账号 impersonate。把 impersonation 授权限定在"用于分流表与分析数据"的数据集上,不要更宽。
  • 把分析数据集当作生产对象:限制 DDL 权限、开启备份、设定可解释的保留期。
  • 仅当团队使用 HTE 分析时才授予 Dataproc 权限,否则该计算面保持不配置。