“数据分析成本太高”在近两年的技术预算讨论里几乎成了常态。我先讲一个真实场景:一家年营收 2 亿左右的 B2B 公司,数据团队只有 7 人,云数据平台账单却从每月 8 万涨到 21 万,业务增幅只有 40%。财务要求降本,技术负责人第一反应是“换更便宜的查询引擎”。迁移完成后账单确实降了 12%,但团队额外花了 6 周重写管道和口径,迁移期间业务报表中断 3 天,最后总体拥有成本反而更高。
我的一个判断是:数据成本高的根因往往不是用量大,而是数据生命周期没有被设计过。本文不推销某个数据平台或某种“最佳实践”,而是基于我参与过的数据治理项目,给出可复用的判断逻辑、真实案例和分阶段的行动路线。
核心结论:数据成本是设计出来的,不是“省”出来的
成本在数据被消费之前就已经被锁定
一个公司的数据成本通常由四块构成:数据接入与清洗、存储与管理、计算与转换、人工维护与返工。从费用归属看,存储往往只占账单的 20%~30%,计算占 30%~50%,而接入和人工维护是常年被低估的部分。一个更反常识的观察是:绝大多数成本发生在业务真正读取数据之前。你先把数据接进来,再清洗、建模、调度,最后才轮到分析师写查询。这种“先投入、后产出”的结构意味着,不做生命周期设计,任何“省钱”动作都只是把成本从一个科目挪到另一个科目。

(1)删除:清理无人使用的表、字段、事件和管道分支;
(2)合并:把相同口径或重叠的加工任务合并为一个;
(3)降档:把温数据、冷数据迁移到更便宜的存储和计算层级;
(4)调整:把高并发调度移到低成本时段,并设置合理缓存;
(5)议价:在与供应商签订合同时,基于真实用量做容量承诺。
很多团队把第 5 步当成第 1 步,结果就是花大量时间谈判,却没有解决任何结构问题。在我观察到的项目里,只做“删除+合并”两步,通常就能释放 30% 左右的成本空间。
背景与真实场景:数据成本是怎么一步步失控的
一个典型中型数据团队的预算画像
以一家月增数据量约 20TB 的电商公司为例,其月度数据成本模型大致是这样的:
| 成本模块 | 月度金额 | 主要驱动因素 |
|---|---|---|
| 对象存储与数据仓库存储 | 约 1.4 万元 | 热数据、日志副本、快照叠加 |
| 计算资源(ETL、查询、调度) | 约 3.1 万元 | 全量重算、并发查询、无缓存 |
| 消息与接入服务 | 约 0.7 万元 | 日志采集、API 拉取、实时链路 |
| 治理与返工 | 约 1.1 万元 | 专兼职数据治理人力折算、错误修复 |
| 分析工具与许可证 | 约 0.5 万元 | BI 工具和分析平台订阅 |
这张表里的关键不是金额,而是结构。该公司的业务方普遍以为“数据成本大头在存储”,实际上真正高的是计算和治理。存储占比约 20%,而计算和返工加起来超过 60%。如果管理动作只围绕“是不是可以少存一点”,就会错过真正的浪费源头。
数据表生命周期缺失,是成本失控的高频共因
我做过一次针对这家公司全部 430 张表的审计。按最近有效读取时间分组,分布如下:
超过 180 天未被消费的表,仍然在每天定时跑调度。这些表支撑的不是业务决策,而是数据团队的“习惯性安心”。它们每月消耗的计算资源,比整个数据仓库的热点查询还要高。这种“为存在而存在”的数据资产,是成本失控的第一现场。

“云更容易”的幻觉,带来了另一种浪费
这几年我反复听到一个说法:“上了云,扩容就简单了。”这句话在弹性上是成立的,但在成本上是误导的。由于扩容量不直接对应财务审批,很多团队习惯把任务调度设置为“尽可能多并发”,把数据保留时间设置为“尽可能长”,把历史分区设置为“全部保留”。云的便利性,让很多团队把“资源规划”降级成了“资源默许”。等账单上来,再开始讨论怎么省,其实已经错过了最好的控制时点。
常见误区:看起来在降本,实际上让系统更贵
当数据平台由多个部门共同使用时,如果没有成本归属机制,就会出现“公地悲剧”。每个团队都认为自己只是偶尔查一下,没有人为总体资源消耗负责。我建议在数据平台建设初期就引入“成本 ID”和“消费方 ID”:每张表、每个任务都必须有明确的归属团队和成本标签。没有归属的数据,最终一定成为无人愿意清理的垃圾资产。

专业判断逻辑:把数据成本拆成可问责的五层函数
数据成本的五层模型
我把数据成本拆成五层,方便团队在做判断时找到对应的责任环节:
(1)接入层:数据源接口、消息队列、日志采集、API 拉取;
(2)存储层:热存储、温存储、冷存储、快照与备份;
(3)计算层:定时 ETL、实时计算、临时查询、机器学习特征计算;
(4)治理层:数据质量测试、血缘追踪、权限审计、指标口径维护;
(5)消费层:BI 缓存、报表服务器、数据 API、订阅推送。
多数团队只会盯存储层和计算层,但对治理层和消费层的失控视而不见。治理层的成本通常不显示在云账单里,而是藏在数据团队的工时中;消费层的成本则隐藏在“打开一个看板”的惯性动作里。全面降本必须覆盖这五层,而不是只选择最显眼的那一层。
判断数据集该留该去的量化标准
我给团队建议一套简单的评估标准:任何一个数据集,都回答四个问题:
如果四个问题都指向“没有明确价值”,就进入删除候选。对于合规需要的数据,则只保留原始证据链,不需要保留冗余加工结果。这个判断标准看起来很朴素,但大多数团队从未认真执行。
成本归属的最终形态是每个数据资产都带着明确的“成本 ID”和“消费方 ID”。成本 ID 回答“谁为这个算力付费”,消费方 ID 回答“谁在使用这份数据”。有了这两个字段,团队就能在每一次成本复盘时直接看到:哪张表成本高但消费少,哪个团队消耗大但价值不清。责任闭环让降本从财务部门的“一刀切”,变成业务团队自己的“局部优化”。

具体案例与数据观察:从项目中提取的成本剖面
很多数据团队把注意力放在“查询成本”上,却忽略了一个更贵的隐藏项:人。在我的观察中,不少数据工程师 40% 以上的时间花在管道修复、任务重跑和口径对齐上,而不是真正建设数据产品。如果降本动作只是省了算力,却没有把维护时间释放出来,那这次优化的价值就被高估了。降低数据成本,必须同时把人从重复劳动中解放出来。


不同情况下的行动建议
第 1 个月:盘点期。审计所有表、调度任务、消费方和成本归属,找出沉睡资产。这个月不要急着删任何东西,重点是建立基线。
第 2 个月:清理期。停止不可解释的调度,删除无主表,合并重叠管道,实施冷热分层,并对救援频率高的故障任务做根因修复。这个月成本会出现可感知的下降。
第 3 个月:机制期。上线成本标签、生命周期冷却和季度复盘。把降本从一次项目变成持续机制。这个月之后,成本不会再大幅反弹,因为机制在发挥作用。

不同情况下的取舍
在金融、风控、合规等行业,数据缺失可能带来远高于账单的风险。这里的取舍不是省钱,而是风险定价。团队需要确认哪些数据属于合规底线,哪些属于业务增值,哪些属于分析实验。对底线数据不做成本削减,对增值数据做成本收益评估,对实验数据允许灵活压缩。一刀切的降本,会把风险无限放大。

最后的判断与下一步行动
我的核心观点很简单:降低数据成本不是少买资源,而是让每一份数据、每一次计算都变得有归属、有生命周期、有明确价值。省钱的入口是删除和合并,机制是成本 ID 与冷却日期,长期保障是季度复盘和消费方责任闭环。不要一开始就谈合同、谈迁移、谈压缩,先处理那些“没有人在使用但每天都在跑”的资源,这是成本最低、见效最快的第一步。
你可以从本周开始做一件具体的事:打开你的数据平台,找到最后更新时间超过 90 天的三张表,再找到三个口径完全一致的重复任务。暂停它们,观察一周。大概率你会发现,业务没有产生任何可见波动,而下一个月的账单已经悄悄减少了一截。降本不是一次运动,而是一次次“问自己为什么还在运行”的练习。
我们团队数据分析每月的计算和存储费用高得吓人,老板让我做成本优化,我却不知道先砍哪一块。是优先缩小存储还是限制查询?还是直接换技术栈?我担心砍错方向导致业务受影响。
先从最贵的“无效计算”和“重复建设”入手,不要一上来就删存储。我做过一次成本治理:某条分钟级定时任务每天全量扫描一张累计分区表,但实际使用数据只有近7天,扫描量是实际用量的40多倍。通过修改时间分区过滤、把历史冷分区搬到低成本的存储,单月计算成本下降了38%,数据没删一条。
建议你先导出最近7天的查询日志,按“扫描量×执行次数”排序,通常头五个任务占了80%的资源。把这些任务逐一优化,比换BI、加机器更有效。我的判断是:先管住“查询对表的扫描和计算”,再讨论要不要删数据。
我们的数仓存储每个月都在涨,业务方什么数据都要留,连三年前的数据都要求在线可查,存储成本已经占到总成本的60%了。我很纠结,删了怕以后用到,不删又实在撑不住。有什么办法能保留数据还能把成本降下来吗?
我不建议直接删数据,而是用“冷热分层+生命周期管理”。我实践过的方案:把在线引擎中的热数据保留90天,超过90天的分区自动转化为列式压缩格式并转移到对象存储,查询时通过数据湖表挂载,延迟从100毫秒变成了2秒,但对业务可接受;压缩后存储占用降到原来的1/3.5,成本下降约65%。
关键在于:要和业务明确“冷数据允许秒级到分钟级查询延迟”。另外,要建立数据分级规则:近30天热数据、31-180天温数据、180天以上冷数据,并配套自动迁移任务。大多数项目的存储成本高,是因为热和冷混在一起,既浪费昂贵的在线存储,也让查询性能变差。
我们团队每天都在帮业务方做临时取数和报表,一个简单需求要改好几天,分析师天天加班,业务还觉得我们效率低。换一个便宜的BI工具真的能解决流程和人员成本吗?我怕换来换去反而更折腾。
换工具治标不治本,先解决“重复取数”和“口径不统一”。我之前统计过团队一周的工作量:65%的工时花在取数上,其中80%的取数其实是同几个指标的不同维度组合。
后来我们做了一个轻量指标字典,把核心指标的定义、粒度、权限固化在BI层,并配置自助分析模板,业务方自己在看板上拖拽下钻,临时取数需求减少一半,分析师才能把时间花在分析建议上。至于BI选型,经验是别只看License价格,要看它是否支持查询下推和结果缓存。
我们曾选择了一个便宜的BI工具,结果它不支持下推,所有查询都拉到中间层计算,集群CPU马上爆了,最后运维和扩容成本反而更贵。如果你的需求是几十人同时看报表,优先考虑带有结果缓存、查询并发控制、能直连数据源下推过滤条件的工具。真正降人力成本不是少买工具,而是让业务方自助解决简单问题。
我经常看文章说数据湖和数据虚拟化能省钱,但我们现在的数仓已经够复杂了,加新方案怕更乱。数据湖和虚拟化到底是真的有用,还是技术博主纸上谈兵?要满足什么条件才能落地?
数据湖和数据虚拟化有实际价值,但前提是你能控制元数据和权限。我参与过一个传统数仓迁移项目:原来的架构每天凌晨全量同步所有数据到中央仓库,而报表白天只查近几小时数据,夜间计算资源浪费严重。我们改为将原始数据放在对象存储上的数据湖,用数据虚拟化引擎建立逻辑视图,并让视图把过滤条件下推到源业务库。
结果:存储成本下降35%,夜间批处理时间从4小时缩短到1小时。但这个方案失败的案例也很多,一旦元数据没人维护,逻辑层会变成新的“垃圾场”。我的建议:如果你的数据团队小于5人,且没有专门的数据治理工程师,先用数仓本身的分区、压缩、物化视图手段做优化;
等确实遇到“数据源多、口径复杂、实时批量并存”时,再引入数据虚拟化。它优化成本的关键,是避免数据在多个系统里复制多份,同时让计算发生在最经济的位置。


读者评论
文中那个B2B公司迁移后成本更高的案例很典型。我们之前也是一看账单涨就急着换引擎,结果管道重写和口径对齐花了几个月,总拥有成本反而上升。现在认同先做生命周期梳理,删除僵尸表和合并重复任务,比盲目迁平台更实际。
作为财务,最头疼的是数据账单看不懂。文章提出成本ID和消费方ID的机制很实用,没有归属的数据资产就是公地悲剧。建议技术团队先把成本归属做起来,再有针对性地谈降本,否则省下的可能只是账面数字。
文中说“以全量计算掩盖增量事实”太真实了,我们每天凌晨重算整张宽表,实际上新增数据只有3%。以前只知道抱怨查询贵,没想到真正的问题在重复计算。按任务粒度拆解成本,并优化调度策略,才是降本的关键。
作为分析师,最怕降本变成直接删数据。文章提出的分层存储和冷却日期机制不错,低频数据不等于没价值,只是可以放冷档、延长调度周期。这样既省了成本,也保住了历史回溯和审计的能力,平衡得比较好。