数据中台解决了什么问题?

avatar
开发者 @网易

数据中台是企业级大数据通过系统化的方式实现统一、标准、安全、共享的数据组织,以服务化的方式赋能前台数据应用,提高数据的使用效率。那么数据中台到底解决了什么问题。归结起来,主要是三个:效率、质量和成本。

一、效率

效率问题可以分为数据研发的效率、数据发现的效率和数据分析的效率。

首先是数据研发的效率,在很多项目中,在项目初期由于业务模式还不固定,变化比较快,往往缺少良好的主题域和分层的设计,烟囱式的开发模式占据了主导,随着业务复杂度和规模的上升,大量重复性的数据开发,制约了数据需求交付效率。一个需求往往需要一个星期甚至更长的时间才能上线,需求响应速度经常被业务部门诟病。

其次是数据发现的效率,由于开发数据的和使用数据的往往是不同的人,面对动辄数万张表,每张表有数十个甚至上百个字段,准确理解每张表的含义是一件非常困难的事。如果没有一个好用的系统,往往需要大量的沟通成本,对于数据开发,经常抱怨工作被打断,每天都在回答重复性的问题;对于分析师而言,想要知道有哪些数据可以用,找到自己想要的数据,需要花费大量的时间。在网易,建设数据中台之前,很多业务都在用很原始的方法,每个分析师都自己维护了一个
Excel,相当于自己的知识库,记录着一些常用的表。一个新的分析师想要了解数据,需要花费大量的时间。

最后是数据分析的效率,我们希望越来越多的人能够基于数据进行分析决策,但是数据分析本身确实存在门槛,取数对于大多数非技术专业的运营和分析师就是一个大问题,经常看到一个分析师的
SQL 把整个集群资源跑满还跑不出来,经常看到分析师遇到一个 SQL 异常不知所措。另外,传统的数据分析依赖的是分析师的经验,一个指标异常波动,需要从哪些维度去分析,完全靠分析师的个人技能,如何将经验变成一种知识,甚至是一种规范,沉淀到产品中,通过系统自动地进行全维度的钻取分析,降低数据分析的门槛,这其实也是业务面临的难题。

二、质量

质量是数据中台需要解决的第二个问题,质量包括数仓设计的质量、指标的一致性、
1.数据研发的质量。

数仓设计得好不好,主要体现在三个方面,完善度、复用性和规范性。数仓设计一般采用的是面向主题域的分层设计,对于
ODS 层保存的是业务原始数据,DWD 保存的是经过清洗的明细数据,DWS 是经过轻度聚合的汇总数据,ADS 或者 DM 是应用层、集市层数据,这是一个常见的 4 层模型划分。完善度的意思就是对于使用者而言,“要啥有啥”,对于不同分层,完善度的衡量方式也是有区别的,对于明细层,如果数仓中存在汇总层(DWS)数据直接引用 ODS 原始数据的情况,我们称之为跨层引用,这就说明细层数据建设是有缺失的,如果其他汇总层也要使用相同的数据,都从 ODS 层去引用,就存在重复清洗的问题。对于汇总层数据而言,如果 Query 覆盖率比较低,说明大量的查询都是直接查询明细数据,甚至是原始数据,这就说明汇总层数据建设完善度不够,对于使用数据的人而言,查询明细数据,不仅慢,而且查询成本高,经常出现一个查询 hang 住整个集群的情况。复用性主要强调的是一个表被多个表使用的情况,复用性越高,说明数仓的设计越合理,更多的数据在数仓被复用。规范性主要是指数仓中的表、字段的命名规范统一,相同指标、维度、度量的标识是一致的。

2.指标是数据加工的结果(也可能是中间结果),指标管理的核心在于确保指标的业务口径、计算逻辑和数据来源的一致,消除指标的二义性。数据开发经常遇到的一个情况是,两个数据产品,看到相同的一个指标,结果不一致,这可能是口径不一致导致的,当然也有可能是数据来源不一致导致的。

3.质量还包括数据的质量,这里面包括数据的一致性、准确性、及时性以及完整性。数据的一致性,具体表现在集市层相同的指标数据是否一致,维度是否一致,相关指标的趋势是否一致,不同数据源对同一个实体的值是否一致。准确性体现在数值计算的逻辑是否符合预期,数据格式是否正确。曾经我们有过一个深刻的教训,在电商业务中,由于业务侧更新上线后部分

IP 格式有问题,导致流量域、交易域部分指标出现异常波动。由于没有对数据进行质量稽查,问题的排查和定位花费了大量的时间。及时性主要体现在数据产出时延,我们一般通过数仓数据在指定时间(比如 5 点之前)产出完成率来衡量。另外对于实时数据,对时效性要求比较高,我们会拿数据计算延迟来衡量。完整性主要是表记录是否完整,包括记录数是否完整,字段是否完成。

三、成本

成本是数据中台需要解决的第三个问题,成本包括计算资源成本、存储资源的成本以及人力研发成本。

数据就像手机里面的文件,如果不定时清理,手机存储空间永远不够用。我们经常发现,大数据成本比业务增长还要快,这一方面是由于烟囱式的开发导致的数据重复加工,浪费计算和存储资源,另一方面也是由于没有定时清理,及时将无用的数据和任务下线,导致已经没人看的报表,每天还从几十亿行的原始数据进行计算加工,浪费大量的资源。人力的成本其实跟效率有关系,如果效率得到提升,研发成本也会得到控制。

效率、质量、成本,这三个方面相互联系,我认为这是数据中台要解决的最重要的三个问题。