智汇 IT
城启新篇

湖仓一体架构选型与落地一线实操手记

上个月在南京线下的技术沙龙,碰到个做连锁零售的架构师,刚坐下点了杯冰美式就开始倒苦水。

去年跟风上湖仓。

砸了两百多万。

现在数仓团队和数据湖团队两边踢皮球,原来要跑三小时的销售报表,现在还是要跑两小时四十分钟,老板在季度会上直接拍桌子,说这钱花的连个水响都没听见。

我当时听完真的差点把手里的咖啡喷出来。

太熟悉了。

别被厂商的PPT把脑子吹懵了



太多团队选型第一步就走歪了。

上来就拉个对比表,Delta、Iceberg、Hudi挨个比参数,什么ACID支持、小文件处理能力、流批一体性能,把所有公开的评测文档翻了个遍,最后选了个参数最漂亮的开源方案,根本不管自己团队的实际情况。

我见过最离谱的案例,整个数据团队连个能独立调优Parquet压缩参数的人都没有,非要硬上开源三剑客,最后光治理小文件就折腾了半年,每天的定时任务跑小文件合并,把集群资源占掉三分之一,业务查询反而更慢了。

说白了,很多人把湖仓一体当成了一个可以直接买回来的成品,根本没意识到这是一套需要持续运维、持续迭代的架构体系。你团队连个能搞定元数据治理的人都没有,就算把最先进的表格式搬回来,最后也只是把原来数仓和数据湖的两套垃圾,换成了一套新的垃圾而已。

零售行业湖仓一体数据流架构图
零售行业湖仓一体数据流架构图


选型根本没有最优解,只有匹配度



说实话,我现在碰到上来就问“哪个湖仓技术最好”的客户,从来不会直接甩技术选型表,先反问三个问题:你们团队现在有多少人能搞定开源组件的深度调优?每个月能拿出多少预算做平台运维?现在最痛的业务痛点到底是什么?

没有放之四海而皆准的最优解。

你要是团队原来就是用了五六年的Hive数仓,每天的需求都是固定的经营报表,实时需求占比不到10%,那你死磕开源组件干嘛?直接用云厂商的托管湖仓服务,把原来的Hive表直接同步上去,省下来的精力去搞数据质量监控,不比啥都强。

反过来,你要是有大量的实时写入需求,比如IoT设备的时序上报数据,或者电商的实时点击流,每天的写入量超过TB级,那你针对写入优化的Hudi或者Iceberg才是合适的选择,别听厂商说什么“全场景通吃”——全场景通吃的东西,往往在你最在意的那个场景上,做的还不如专门的方案好。

去年帮一个做生鲜电商的团队做选型,他们的痛点是库存数据和用户行为数据打通要跑T+1,每次大促前的库存预测偏差率超过30%,光临期商品损耗和缺货损失,每个月就够养一个10人的数据团队。当时他们本来想上全套开源组件,算下来要招两个有三年以上Hudi调优经验的资深开发,每个月光人力成本就小十万,还不算后续的运维投入。最后给他们选了托管的湖仓服务,把原来的Hive表和OSS上的用户行为日志直接同步进去,两周就跑通了实时库存看板,现在大促的时候库存预测准确率从62%涨到了89%,ROI算下来比他们之前所有的技术投入都高。

生鲜电商湖仓实时库存数据流示意图
生鲜电商湖仓实时库存数据流示意图


落地的时候别上来就全量迁移

落地的时候别上来就全量迁移
落地的时候别上来就全量迁移


很多团队落地湖仓的操作,现在想起来都觉得离谱。

开个项目启动会,定个三个月全量迁移的目标,然后拉着团队加班加点,把所有的数仓表、数据湖的历史文件全量迁到新架构里,光数据一致性校验就能折腾三个月。最后业务部门等不及,还是回去用原来的老系统,花的钱全打了水漂。

真的没必要。

先找一个痛点最明确的小场景试手就行。比如就先迁实时用户行为数据那一块,把原来要等一天才能出的用户转化报表,改成分钟级更新,让业务部门实实在在看到好处,后面的迁移根本不用你催,大家自己就会主动把原来的业务切过来。

这里有个最容易被忽略的核心点:湖仓落地的本质从来不是换一套更高级的表格式,而是要把原来数仓和数据湖割裂的权限体系、成本核算、计算资源彻底打通。

原来数仓的权限是数仓团队管,数据湖的权限是运维团队管,两边的存储成本分开核算,最后算下来,存数据花的钱比用数据产生的价值还多,那这个湖仓建的就完全没有意义。之前碰到个做装备制造的企业,他们的湖仓建了快一年,数据团队算下来,整体存储成本比原来数仓和数据湖分开存的时候涨了40%,但是全公司的数据使用率只涨了12%,老板直接把项目砍了,后来谁再提湖仓就直接骂。

前几天和最开始碰到的那个零售架构师聊天,他说现在他们不搞那些花里胡哨的全量迁移了,先把原来数仓和数据湖的元数据目录打通,先把困扰了大家两年的小文件问题解决,现在原来要跑三小时的报表,一个小时就能出结果,老板已经不追着骂了。

其实哪有那么多玄乎的架构神话。

能解决实际问题的,就是好架构。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:湖仓一体架构选型与落地一线实操手记
文章链接:https://www.itcdj.com/it/301.html