“你觉得你现在能 hold 得住吗?”
“搞不定,得招人。”
“那你为什么这么搞?”
“好像大厂也都这么干,我们也就这么干的。”
这段对话来自一家数据团队,只有一个人,却引入了包括 Fivetran、Spark、Flink 等各种工具来处理数据管道。繁琐的架构、复杂的组件和无休止的运维工作,让团队压力山大。最终,Databend 的吴炳锡提出了一种更加简化且高效的解决方案,帮助这家公司实现了从多工具复杂架构到简化湖仓架构的蜕变。

演讲人:吴炳锡,Databend Labs 联合创始人
在吴炳锡的方案中,TiDB 作为TP 数据源,Databend 作为湖仓平台,两者通过 TiCDC(TiDB 的生态工具)进行无缝对接,形成了一个完整的 TP+AP 数据解决方案,不仅提升了性能,也极大简化了数据架构。

Flink 的痛点:复杂、昂贵、低效
在原有的架构中,Flink 作为数据流处理的核心工具,暴露出了许多痛点:
- 任务上线需要排队 1-2 天:每次上线新的任务都需要漫长的等待时间。
- 告警常态化:几乎每天都有告警,且大多数告警都是重复的,严重影响团队的工作效率。
- 高昂的成本:Flink工程师的月薪起步为 3.5 万,让团队的支出压力倍增。
- 技术碎片化:Java/Scala 的 jar 包散落各处,缺乏统一的管理和维护,导致运维复杂性极高。
面对这些问题,吴炳锡提出了一套五板斧方案,全面替代 Flink,简化了数据流的管理和维护。

替代方案:五板斧简化架构
这套替代方案围绕 TiDB 和 Databend 平台的整合展开,具体包括以下五个核心组件:
- Copy Into:实现百万级/秒的数据加载,确保数据可以在秒级内可见。无需复杂的批量处理任务,大大提高了数据处理效率。
- Stream:表级增量捕获,支持无数量上限的实时数据流处理。解决了 Flink 中增量数据处理的瓶颈问题。
- Task:内置的秒级任务调度功能,支持 DAG 依赖,让任务调度和执行变得更加灵活、高效。
- UDF:支持Python数据分发,可以轻松部署到 Lambda,进一步提升了数据处理的灵活性与扩展性。
- Merge Into:保证数据的幂等性,确保重复数据只取最新的,避免了数据重复计算和存储的问题。

实际效果对比:大幅降低成本、简化运维
这一替代方案不仅大幅提升了数据处理的效率,还成功降低了公司运营成本,节省的资金被更好地投入到了其他创新项目中。

适用场景与未来展望
这一方案适用于多种场景,尤其是在对时效性要求较高的业务中。具体包括:
- 秒级:如玩家结算、防作弊等实时性要求极高的应用。
- 分钟级:如充值异常检测、用户画像等需要较快响应的业务。
- 定时:如定期聚合报表、周期性数据分析等任务。
- 低频:如T+1报表等较少更新的数据分析任务。
这一替代方案的灵活性和可扩展性,通过 SQL 替换 Flink 做特征数据的加工,使得它不仅适用于当前的需求,还能够随着业务的变化和发展进行动态调整,确保公司的数据架构始终保持高效与稳定。

结语:简化架构,提升效率
通过这次方案的成功实施,这家公司不仅解决了原有架构中的技术痛点,还大幅降低了成本,简化了运维工作,并在数据处理效率上取得了显著提升。TiDB 与 Databend 的结合,为公司提供了一个更加简洁、灵活且高效的数据架构。
未来,随着数据需求的不断变化,这种简化的湖仓架构将继续发挥其重要作用,帮助公司在竞争激烈的市场中立足。