
数据中台:把企业数据资产盘活的技术底座
记得有一次和做电商的朋友聊天,他跟我抱怨说他们公司有十几套系统,订单系统、用户系统、库存系统、营销系统,每个系统都有自己的数据库,但每次想看看整体的销售情况,就得让IT部门导好几种数据然后手动整合,稍微大一点的分析就要搞个好几天。他问我有没有什么办法能让这些数据"活"起来,不用每次都这么折腾。
其实他说的这个问题,正是很多企业正在面临或者即将面临的困境。业务系统越建越多,数据分散在各处,成了一个个孤岛。而数据中台就是为解决这一问题而生的架构理念。今天我想用比较通俗的方式,聊聊数据中台的技术架构到底是怎么回事。
为什么需要数据中台?先讲个故事
想象一下,你家里有很多抽屉,每个抽屉里都放着不同类别的东西——一个抽屉放证件、一个放药品、一个放工具、一个放零散物品。每次要找什么东西,你得逐个抽屉翻。时间久了,有些东西放在哪里可能自己都忘了,更别说想要全面整理一下家里都有什么了。
企业的数据状况其实很像这种情况。CRM系统里有客户信息,ERP系统里有交易记录,物流系统里有配送数据,网站后台有用户行为日志。这些数据本来是相互关联的——一个客户下了多少订单、买了什么东西、什么时候送的货、按什么渠道来的——但由于分散在不同的系统里,想要把它们关联起来看个明白,成本非常高。
数据中台做的事情,差不多就是给你家里装一个统一的数据收纳系统。它把各个抽屉里的东西拿出来,分类整理好,贴上标签,下次你想找什么的时候,直接去这个统一系统里拿就行。而且它不只是简单地搬运数据,还会做一些清洗、转换、关联的工作,让数据真正变成可用的资产。
数据中台的核心架构长什么样?
如果把数据中台的技术架构拆开来看,它其实分成了几个层次,每个层次各司其职。就像盖房子一样,先打地基,再建框架,然后装修,最后住人。数据中台的建设也是类似的道理。

第一层:数据采集与接入——先把数据拿进来
这一步要解决的是"数据从哪来"的问题。企业里的数据来源其实非常多样,有结构化的数据库数据,比如MySQL、Oracle里的业务表;有半结构化的日志数据,比如用户访问日志、系统运行日志;还有一些非结构化的数据,比如图片、文档、语音记录。
数据中台需要通过各种方式把这些数据接入进来。常见的做法是通过ETL工具(Extract抽取、Transform转换、Load加载)或者实时流处理框架(比如Kafka、Flink这一类)来采集数据。简单理解就是,数据中台伸出很多"触角",去各个业务系统把数据拉过来,或者让业务系统主动把数据推过来。
这个过程看似简单,其实有不少坑要踩。比如不同系统的数据格式不一样,有些字段命名不统一,有些数据质量参差不齐。所以采集环节通常会做一些初步的清洗工作,把明显有问题的数据过滤掉。
第二层:数据存储与管理——把数据存好
数据接入进来之后,总得找个地方存吧?但不是简单地存到同一个数据库里就行了。因为不同类型的数据有不同的存储需求,有些需要频繁读写,有些需要长期保存,有些体量很大但查询频率不高。
成熟的数据中台通常会采用数据湖加数据仓库的混合架构。数据湖就像一个大仓库,所有原始数据先存到这里,包括结构化的、半结构化的、非结构化的,保持数据的原貌。数据仓库则更像是整理好的货架,按照一定的主题(比如客户、产品、订单)把数据组织好,方便分析和查询。
技术实现上,数据湖常用Hadoop HDFS、对象存储(比如MinIO)这类分布式存储系统;数据仓库则可能用Hive、ClickHouse、Doris等OLAP数据库。为了方便管理,还会用到元数据管理系统,记录每张表是谁创建的、什么时候更新的、有哪些字段、数据的血缘关系是什么。这些元数据信息非常重要,相当于数据的"户口本"。
第三层:数据处理与计算——让数据可用

原始数据通常是"粗糙"的,直接用起来体验很差。比如用户手机号可能存的是11位数字没有脱敏,订单时间存的是时间戳格式不方便看,不同来源的同一个客户可能用不同的ID。这些都需要处理。
数据处理分为离线处理和实时处理两种场景。离线处理一般是定时批量执行的,比如每天凌晨把昨天的交易数据跑一遍,算好各种统计指标,更新到数据报表里。实时处理则是来一条处理一条,比如用户刚下单,库存系统就要马上响应,扣减库存。
离线计算常用Spark、Hive这些框架,实时计算则用Flink、Storm、Kafka Streams等技术。除了计算框架,还需要调度系统来管理各种任务的执行顺序和依赖关系,比如A任务跑完才能跑B任务,下午三点要准时触发某个报表计算等等。
第四层:数据服务——把数据用起来
数据处理好了,总得让人用起来才行。数据服务层做的就是这件事——给下游应用提供标准化的数据接口。不管是业务系统想查个用户画像,还是BI系统想拉个报表,或者是某个应用想获取实时推荐结果,都可以通过数据服务层来获取。
这里的关键是接口标准化和权限管控。接口标准化意味着下游不用关心底层数据怎么存的、怎么算的,只需要按照约定好的格式调接口就行。权限管控则是保证数据安全,不同的人能看到的数据范围不一样,敏感数据不能随便暴露。
常见的实现方式有API网关、统一查询服务、数据推送服务等。有些企业还会做一个数据门户,让业务人员可以通过搜索的方式找到自己想要的数据,申请权限后直接使用。
第五层:数据治理——保证数据质量
这层虽然放在最后说,但其实应该贯穿整个架构。数据治理解决的问题是:数据对不对?数据能不能信?数据有没有人管?
首先是数据质量监控。数据中台会配置各种规则来检测数据是否异常——比如某张表的某个字段不应该有空值,某条业务规则应该在某个时间点触发,如果发现异常就报警。然后是数据标准管理,统一字段命名、数据格式、编码规范,避免同一个概念在不同地方有不同的叫法。还有数据安全与隐私,哪些数据能对外展示、哪些需要脱敏、谁能访问谁不能访问,都要有明确的规范。
一个实际的例子:看看数据中台怎么跑通
让我用一个更具体的场景来串联一下。假设电商公司要做一个用户画像系统,想知道每个用户的消费能力、偏好品类、活跃程度等等,用来做精准营销。
数据采集环节,从订单系统拉取用户的交易记录,从商品系统拉取商品信息,从用户系统拉取注册信息,从行为日志系统拉取用户的浏览、加购、搜索等行为数据。这些数据来源不同,格式也不完全一样。
数据存储环节,把原始数据统一存入数据湖,然后按照用户ID这个维度,把各种数据关联整理好,写入数据仓库的用户主题表里。
数据处理环节,写代码计算各种指标:累计消费金额、平均客单价、购买频次、最近一次购买时间、偏好类目、价格敏感度等等。这些指标可以按天更新,也可以实时计算。处理好的结果存到画像宽表里,每个用户一行,每个指标一列。
数据服务环节,给营销系统提供一个查询接口,营销系统传入用户ID,就能返回这个用户的画像标签。接口可以控制访问权限,记录调用日志,还能做限流防止把数据库打挂。
数据治理环节,定义好指标的计算口径(什么叫活跃用户?最近30天有下单才算还是有点击就算?),定期检查画像数据的覆盖率(有多少用户有完整的画像,有多少用户数据缺失),确保数据安全(手机号、地址等敏感字段不能返回明文)。
技术选型的一些常见考量
聊到技术选型,很多企业会关心用什么技术栈。这里我可以分享几个常见的选择思路。
| 技术领域 | 常见选择 | 特点 |
| 数据采集 | DataX、Kettle、Flume、Logstash | DataX适合批量同步,Logstash适合日志收集 |
| 数据存储 | HDFS、Hive、ClickHouse、Doris、TiDB | Hive适合离线分析,ClickHouse适合实时查询 |
| 数据计算 | Spark、Flink、Hive、Presto | Spark生态成熟,Flink在实时场景优势明显 |
| 任务调度 | Airflow、DolphinScheduler、Azkaban | Airflow功能全面,DolphinScheduler国产开源 |
| 元数据管理 | DataHub、Amundsen、Atlas | 帮助理清数据资产的来龙去脉 |
技术选型没有绝对的好坏,关键是要匹配企业的实际情况。数据量多大?实时性要求高不高?团队对哪种技术更熟悉?预算有多少?这些因素都要综合考虑。很多企业会先用开源方案搭个最小可行版本,跑通了再根据实际需求迭代优化。
建设数据中台的一些现实挑战
说了这么多数据中台的好处,也得聊聊建设过程中可能遇到的坑。
首先是组织协调的问题。数据中台需要各个业务系统配合把数据交出来,但有些业务部门可能会担心数据交出去之后自己失去了对数据的掌控,或者觉得给自己增加了工作量。这种跨部门的事情,往往需要高层来推动,而且要建立好数据确权、数据共享的机制。
其次是需求梳理的难度。数据中台最后是要被用的,但如果不搞清楚业务部门到底需要什么数据、做什么分析,就很容易做成"技术自嗨"——技术架构很漂亮,但没人用。所以数据中台建设通常需要和业务紧密沟通,甚至采用敏捷的方式快速迭代。
还有数据质量的治理。很多企业的业务系统在早期建设中并没有充分考虑数据质量,导致历史数据有很多问题。比如订单表的用户ID可能是空的,商品表的价格可能是错的,日期格式可能不统一。这些问题不会因为建了数据中台就自动消失,反而可能会在数据汇聚之后暴露得更明显。所以数据治理是一项长期工作,不是搭完平台就万事大吉的。
写在最后
数据中台不是一个新概念,但确实是这七八年企业数字化转型中讨论最多的话题之一。它本质上是希望解决数据孤岛、数据利用率低、数据资产沉淀不下来这些问题。
技术架构固然重要,但更关键的是想清楚数据中台要解决什么业务问题、给谁用、怎么用。技术是手段,不是目的。如果只是为了赶时髦而建数据中台,最后很可能变成一个昂贵的摆设。
对于正在考虑这件事的企业,我的建议是先从一个具体的小场景切入,比如先打通某两条业务线的核心数据,做出一些实际的价值,然后再逐步扩展。Rome wasn't built in a day,数据中台也一样。
希望这篇内容能帮你对数据中台的技术架构有个大概的了解。如果还有具体想聊的话题,随时可以继续探讨。




















