如果你在一家数据驱动型公司待过足够长的时间,大概率经历过这样的循环:先是数据团队扑在Hadoop、Spark上搭建了一个中心化数据湖,接着发现数据质量越来越差,业务部门抱怨拿不到想要的数据,于是又吭哧吭哧搞数据仓库、指标平台,再后来会发现无论怎么折腾,整个数据平台就像一台越来越笨重的机器,所有人都喊累,但产出却越来越低。

我不是在否定中心化数据平台,而是想说,很多团队面临的真正问题,并不是“工具不够先进”,而是数据所有权和架构本身已经跟不上业务演进的速度。这也是为什么数据网格(Data Mesh)这个由Zhamak Dehghani提出的概念,会在近两年引起这么多讨论。它并不是另一种“数据湖2.0”,而是一种彻底的组织和架构思维转变。
这篇文章不是要鼓吹数据网格是银弹,而是想从工程实践的角度,拆解它到底在挑战什么、为什么很多团队开始认真考虑它,以及它在落地时那些真正烫手的地方。
中心化数据平台的两难:规模越大,越容易失控
传统中心化数据平台的核心逻辑是:把全公司的数据都收拢到一个团队手里,由他们负责摄取、清洗、建模、提供查询接口。这个模式的初衷是好的——统一口径、集中治理、降低重复建设。但问题在于,一旦数据源的数量和消费者的数量跨越某个阈值,中心化团队就会变成瓶颈,而且是结构性瓶颈,不是单纯加人能解决的。
一个典型的场景是:业务线A需要接入一个新的实时数据源,并且希望第二天就能在BI上看到聚合指标。但中心化数据团队手上排着几十个需求,每个需求都要经过需求评审、数据建模、ETL开发、测试上线,一套流程走下来,两周算快的。业务线只能干等,或者更糟——自己偷偷导出数据用Excel搞一套“影子数据系统”,然后数据口径越来越乱。
这不是团队不努力,而是中心化模式天然要求数据团队同时理解所有业务领域的上下文,这在公司只有一个业务线时还行,一旦业务多元化了,就变成了不可能完成的任务。数据工程师不可能比业务线自己更懂他们的订单状态流转、供应链补偿逻辑或者风控模型需要的特征工程。
于是,数据平台开始陷入一种恶性循环:数据生产者和消费者彻底脱节,数据质量越来越依赖事后清洗,而清洗又反过来加重中心化团队的负担,响应速度进一步下降。
数据网格的核心思路:把数据所有权还给业务领域
数据网格的出发点很简单:数据应该由最懂它的人负责。它把数据所有权从中心化团队转移给各个业务领域(domain),每个领域把自己的数据当作产品来对待,而不是扔给一个“数据工厂”去做后处理。
这背后有四个关键原则:
- 领域所有权:每个业务领域负责自己数据的全生命周期,包括采集、清洗、建模、发布和服务。
- 数据即产品:数据必须是可发现、可理解、可信任、可互操作的,就像API一样有明确的契约和SLA。
- 自助式数据平台:中心化团队不再负责生产数据,而是提供一套通用的基础设施,让领域团队能自助地构建、发布和管理数据产品。
- 联邦治理:全局性的治理规则(如数据分类、隐私、合规)由中央定义,但具体执行和领域内的治理由领域团队自治。
乍一看,这很像微服务架构在数据领域的映射,但实际落地远比微服务复杂,因为数据本身有状态、有历史、有合规要求,而且数据产品之间的依赖关系比服务调用更隐蔽,也更难解耦。
一个容易误解的地方是,数据网格并不是“不要中心化团队”,而是重新定义了中心化团队的职责。他们不再做数据的中央工厂,而是变成了平台建设者和治理规则的制定者,有点类似SRE团队的角色。
传统中心化平台 vs 数据网格:不只是技术选型问题
很多团队在讨论数据网格时,会下意识地把它当成一种技术架构升级,比如把数据湖换成数据网格。这其实是一个很大的误区。下面这张表对比了两种模式在几个关键维度上的差异,你会发现,变化最大的是组织和流程,而不是工具。
| 维度 | 传统中心化数据平台 | 数据网格 |
|---|---|---|
| 数据所有权 | 中心化数据团队 | 领域业务团队 |
| 数据生产流程 | 需求驱动,串行化 | 领域自主发布,并行化 |
| 数据模型 | 全局统一模型,变更成本高 | 领域内自治,跨领域通过共享接口对齐 |
| 数据质量责任 | 中心化团队兜底 | 领域团队作为产品SLA一部分 |
| 技术栈 | 通常统一,但不易满足所有场景 | 领域可选择适合的工具,但需符合平台治理规范 |
| 扩展瓶颈 | 中心化团队成为瓶颈 | 平台治理和跨领域标准化可能成为新瓶颈 |
| 适用规模 | 中小规模、业务线较少 | 多业务线、大规模、数据源高度异构 |
可以看到,数据网格并没有消除瓶颈,而是把瓶颈从“人”转移到了“治理和平台能力”。如果一个组织连基本的CI/CD和基础设施自动化都没做好,就急着推数据网格,基本会摔得很惨,因为领域团队根本接不住数据产品的运维责任。
哪些场景下,中心化平台的痛点会变得无法忍受
做出改变的动力,往往来自真实的痛苦。这里有几个典型的场景,很多团队会开始认真考虑数据网格:
- 数据源和数据消费者数量急剧膨胀:比如公司从单一电商业务扩展到了直播、本地生活和金融业务,每个业务的数据模型完全不同,中心化团队已经无法跟上业务理解的速度。
- 实时和准实时需求占比越来越高:中心化ETL管道适用于T+1报表,但遇到实时推荐、风控、实时运营分析时,集中式管道很难满足毫秒级延迟,而领域团队自己更清楚实时数据的处理逻辑。
- 数据治理与业务创新之间的矛盾:中心化治理为了安全,倾向于收紧权限、限制数据访问,但业务侧需要快速组合新的数据集做探索性分析,僵化的治理流程会扼杀创新。
- 重复建设严重:不同业务线各自搞了一套数据系统,但又不愿意交给中心化团队,因为历史证明交上去之后响应更慢,这种“离散化”实际上已经具备了数据网格的雏形,只是缺乏统一治理,乱成一个一个数据孤岛。
如果一个团队既没有遇到上述问题,也无意扩张业务线,那中心化平台可能仍然是最优解,没必要为了“架构先进性”去折腾。
落地的关键:从一个“数据产品”开始,而不是画一张大蓝图
在真正考虑数据网格之前,有三个前提需要诚实评估:
- 领域团队是否有足够的数据工程能力,或者平台能否把复杂度降到他们能承受的程度?
- 组织是否愿意接受数据所有权的转移,以及随之而来的责任变化?
- 是否有足够的决心去建立一套标准化的数据产品规范和联邦治理机制?
如果这些前提不满足,数据网格可能只会变成一场混乱的“去中心化”运动,数据质量反而比原来更差。
一个相对务实的切入方式是,挑选一个数据需求强烈、业务团队能力较强、数据边界相对清晰的领域,尝试定义并发布一个数据产品。数据产品不是简单的数据库表,它需要有一组明确的接口,比如:
# 数据产品描述示例(YAML)
name: order_events_daily
domain: order-management
owner: order-team@example.com
description: 每日订单聚合事件,用于风控和推荐系统
input: raw_order_events (Kafka topic)
output: order_events_daily (Parquet on S3, partitioned by date)
latency: 1 hour
quality_sla: completeness >= 0.99, freshness <= 1h
schema_version: 1.2.0
contract: |
schema: {
"order_id": "string",
"user_id": "string",
"event_type": "string",
"amount": "decimal",
"event_time": "timestamp"
}
这个描述不仅定义了数据的位置和格式,还明确了延迟、质量SLA和负责人,让数据消费者可以像调用一个服务一样去使用数据,而不用关心背后的加工过程。平台需要提供工具让这种描述能被自动执行、监控和发现,比如一个数据产品目录和支持基于合约的自动质量检查。
很多团队会掉进一个坑:试图一次性设计出完美的数据产品规范,然后推广到全公司。更好的做法是,先让一两个领域跑通,验证数据产品的可发现性、可信任性和自助化程度是否真的提升了效率,再逐步完善治理规则,比如跨领域的数据定义对齐、敏感数据分类等。
常见误区:数据网格不是技术问题,是组织问题
再强调一下,数据网格最容易被人误解成“去中心化的数据仓库”或者“用Kafka拆掉数据湖”。如果只是把数据物理上分散到各个领域,却没有建立起数据产品的契约和信任机制,那就只是把一个大泥球拆成了好几个小泥球而已。
另一个误区是认为数据网格可以完全消灭中心化团队。实际上,中心化平台团队的角色变得更加关键,他们需要构建一个足够稳定、易用的自助平台,让领域团队能轻松地发布、监控、发现数据产品。如果平台体验很差,领域团队只会抗拒,最终又回到各自为政的状态。
还有一个现实问题:不是所有数据都适合领域自治。比如公司级的财务数据、合规审计数据,通常需要严格的全局口径一致性,这些数据可能仍然需要中心化管理,或者至少要有非常强的联邦治理干预。数据网格并不排斥中心化,而是允许在同一个框架下根据不同数据的特性选择不同的所有权模式。
写在最后
数据网格的出现,本质上是对“数据平台规模诅咒”的一种回应。它尝试用组织架构上的去中心化,来解决中心化数据团队面对复杂业务时的认知过载问题。但它同时也带来了新的复杂度:数据产品规范、跨领域治理、平台能力建设,都不是简单的事。
如果你的团队正在被中心化数据平台的响应速度折磨,同时又具备一定的工程能力和组织意愿,可以尝试从一个小的数据产品开始,验证数据网格的思路是否适合你的上下文。如果只是觉得这个概念很酷,就急着推翻现有的数据平台,可能最后会发现,新问题比老问题更难解决。
架构的价值,最终要看它能不能让那些真正理解数据的人,更顺畅地把数据变成可用的产品,而不是看它符不符合某种哲学上的“正确”。
原创文章,作者:fudengji,如若转载,请注明出处:https://fudengji.cn/article/449/