从源头到消费端,精心设计
我们分层设计数据平台,层与层之间有明确的接口。青铜层(Bronze layer)忠实地捕获源数据;白银层(Silver layer)进行清洗、规范和连接;黄金层(Gold layer)暴露供分析师、数据科学家和应用程序使用的实体和指标。每个层都有自己的所有者、自己的质量期望和自己的演进规则。这种严格规范的工作虽然看似平淡,但回报丰厚:一个异常数据集合可以被快速定位、解释和修复。
在每个层中,我们使用最适合工作负载的存储格式和查询引擎。湖仓一体格式——Apache Iceberg, Delta Lake, Apache Hudi——越来越多地让我们能够在湖经济学存储上运行仓库式分析,同时保留了生产工作所需的工程特性(ACID写入、时间旅行、模式演进)。当黄金层需要真正的仓库性能时,我们乐于将整理好的数据导入Snowflake、BigQuery、Redshift或Synapse。
流处理被视为一种一流的交付模式,而非事后补救。我们使用Kafka、Kinesis或Pub/Sub进行传输,使用Flink、Spark Structured Streaming或Beam进行处理,并使用Iceberg或Delta进行着陆——同时享有批处理管道相同的质量和治理控制。Lambda风格的架构(并行批处理和流处理路径)是我们现在积极避免的;其操作成本很少能得到 оправдания。
- 青铜/白银/黄金分层设计
- 开放表格格式 (Iceberg, Delta, Hudi)
- 在有价值的地方优先采用流式摄取
- 带有生命周期策略的云原生存储
- dbt 或 Spark 中可重用的转换
- 反向ETL到运营系统

