花了快两百万搭的集群,现在数仓团队一半的人力都在给旧架构擦屁股,业务侧要个大促的用户复购率数据,还是得等三天。
真的别。
很多人一提湖仓一体,第一反应就是要追上技术潮流,要把流批全打通,要对标大厂的架构标准,完全跳过了自己的实际情况算账。
别一上来就抄大厂的选型清单
之前碰过太多团队,选型的时候上来就拉个清单,要么全上商业方案,要么全堆开源组件,Iceberg、Flink、Doris 挨个往集群里塞,连自己团队有没有人能调通这些组件的底层参数都没想过。
那个家居电商的客户就是典型。日活才三十万,之前的数仓是Hive加ClickHouse搭的,跑了三年稳得很,他看了几篇大厂的技术博客,觉得自己也能搞流批一体的湖仓,选了开源Iceberg加Flink的全开源方案,结果团队里没人会处理Iceberg的小文件合并策略,跑了三个月,堆了三千万个小文件,一个全量批任务要等四十分钟才能跑完。

选型从来不是选最先进的,是选最匹配的。
你得算三本账。
第一是团队技能账。如果团队连Hive的调优都摸得磕磕绊绊,就别硬上需要专人维护的开源表格式方案,选个带托管服务的商业方案,反而比全开源省成本。
第二是业务诉求账。如果你们公司90%的报表还是T+1更新,根本没有实时数仓的强需求,就别硬上全实时的链路,把离线的数仓资产迁到开放表格式上,能实现数据共享就够了,没必要花几倍的钱搞实时能力。
第三是迁移成本账。之前在旧数仓上存了三年的历史数据,迁移的时候要做多少校验,元数据要怎么同步,现有BI工具能不能直接对接,这些账没算清楚就拍板上线,最后肯定要踩坑。
落地第一步先把数据链路的权责划清楚
说句实在话,80%的湖仓落地失败,根本不是技术问题,是协作问题。
之前接触过一家做装备制造的客户,数据团队拍胸脯说湖仓搭完了,结果业务侧用的时候发现,要的车间生产实时数据根本没进湖仓的ODS层,两边互相甩锅,数据团队说业务侧没提需求,业务侧说数据团队当初承诺全链路打通。

别想着一口气把全公司的数据都迁到湖里。
先拿一个最小的业务场景跑通全链路。比如就选用户实时行为分析这个场景,把之前散在Kafka、Hive、ES里的用户浏览、加购、下单数据统一进湖仓,让业务侧的分析师能直接在上面取数,跑顺了再慢慢扩到其他场景。
这里有个细节很多团队会忽略:一定要把湖仓上层的开放取数权限直接给业务分析团队,别搞什么取数申请要走三层审批,不然业务侧宁愿继续用之前的老数仓,你搭的湖仓最后就是个没人用的摆设。
还有存储成本的账要算明白。别把所有数据都堆在高性能SSD上,把存放超过一年的冷数据直接转成对象存储的低频访问层,那个家居电商的客户之前就是这么干的,全量数据放SSD,每月存储费用比之前翻了三倍,后来把冷数据迁出去,成本直接降了70%。
两个踩过最多人的落地坑
第一个坑,别信任何厂商吹的“零迁移成本”。
不管对方销售说的多好听,你自己先拿10%的历史数据做全链路测试。测小文件合并的速度,测元数据查询的延迟,测跟现有BI、调度工具的兼容性。去年帮一个客户测某商业湖仓方案,销售拍胸脯说100%兼容现有Hive表,结果实际测的时候发现,带分区的表查询延迟比原来高了三倍,原因是元数据同步的时候漏了一半分区信息,这种坑,不自己测根本发现不了。
第二个坑,别把湖仓直接当成数据垃圾场。
很多团队搭完湖仓,什么日志数据、爬虫数据、临时实验数据全往里塞,没有分层,没有权限管控,最后找个数据要翻半天,好好的湖仓直接变成了数据沼泽。真的,我见过太多这样的团队了。
上周再跟那个家居电商的技术负责人通电话,他说已经把之前买的一半商业节点退了,现在就聚焦把用户行为分析的场景跑顺,之前要等三天的复购率数据,现在业务侧自己在湖仓上查,十分钟就能出结果,团队的压力小了一大半。
湖仓从来不是什么用来炫技的技术玩具。
就是帮业务更快拿到数据的工具而已。
对吧?