网上有很多讲“如何建设数据中台”的文章,大家的观点各不相同。
有的说,数据中台是一种数据建设的方法论,按照数据中台设计方法和规范实施就可以建成数据中台了;也有人认为,数据中台的背后是数据部门组织架构的变更,把原先分散的组织架构形成一个统一的中台部门,就建成了数据中台;此外,你可能还听到过一些大数据公司说,他们可以卖支撑数据中台建设的产品技术。
(相关资料图)
那么,数据中台到底如何建设呢?
六大核心问题的解决都在于两大理念的推进
其实早在2016年,阿里巴巴就提出了数据中台建设的两大核心理念:One Data, One Service,这也是世界公认的解决数字化转型现阶段问题的方法,用一句话定义就是:所有数据只加工一次,数据即服务。
01
One Data
One Data就是指所有数据只加工一次。
例如,电商场景,数据中台就是要在整个电商业务形成一个公共数据层,协同跨部门的小数仓,实现数据的复用,不会因为不同的应用场景,不同的部门数据重复加工。
阿里数据中台全景图
那么,如何去做才能实现数据只加工一次呢?有以下五点:
分主题域管理命名规范定义指标一致数据模型复用数据完善
试想一下,现在你着手搭建数据中台,第一步,面对企业存在几万张表,同时又有几十个数据开发维护这些表,你如何来确保这些表的管理效率?
首先,你需要划分主题域。我们可以将这几万张表划到不同的主题域中,比如在电商业务中,商品、交易、流量、用户、售后、配送、供应链都可以作为主题域。标准且准确的主题域划分,是相对稳定的,尽可能地覆盖绝大多数的表。(我们可以理解为数据目录)
数据目录:方便进行表的管理以及基于目录的数据检索
除此之外,还要对表的命名进行规范化统一,表的名称中最好能够携带表的主题域、业务过程、分层以及分区信息。接下来,为了实现模型的复用,数据中台的数据存储适合采用分层设计方式,常见的分层包括:ODS原始数据层、DWD明细数据层、DWS轻度汇总数据层、ADS/DM应用数据层/数据集市层。最后,数据中台的数据必须尽可能的覆盖所有的业务过程,数据中台中每一层的数据也要尽可能完善,让数据使用者尽可能的使用汇总后的数据。
统一数据规范
综上,One Data 体系的目标是构建统一的数据规范标准,让数据成为一种资产,而不是成本。
02
One Service
One Service即数据即服务,强调数据中台中的数据应该是通过API 接口的方式被访问。
那么,为什么数据一定要通过 API 接口的方式被访问,不通过 API 接口,直接提供数据表给用户又存在哪些问题呢?
如果你是数据应用开发,当你要开发一个数据产品时,首先要把数据导出到不同的查询引擎上:数据量小的使用MySQL;大的可能用到HBase;需要多维分析的可能需要Greenplum;实时性要求高的需要用到Redis。
因此,不同的查询引擎,应用开发需要定制不同的访问接口。
使用数据API大大降低数据开发人员工作量
如果你是一个数据开发,当某个任务无法按时产出,发生异常时,想要了解这个表可能会影响到下游的哪些应用或者报表,但是却发现单纯依赖表与表的血缘无法触及应用,根本无法知道最后的这些表被哪些应用访问。
与此同时,当你想下线一张表时,因为不知道谁访问了这张表,无法实施,最终造成了“上线容易,下线难“的窘境。
而 API 接口一方面对应用开发屏蔽了底层数据存储,使用统一标准的 API 接口查询数据,提高了数据接入的速度。
另一方面,对于数据开发,提高了数据应用的管理效率,建立了表到应用的链路关系,一旦出现问题需要追查数据,便清晰地通过链路最终到指定的表和字段。
使用数据API将数据血缘延续到应用层,问题修复更加方便
那么,如何实现数据服务化呢?有以下四点:
屏蔽异构数据源把控数据网关提供面向用户的逻辑模型保证性能和稳定性
屏蔽异构数据源:数据服务必须要能够支撑类型丰富的查询引擎,满足不同场景下数据的查询需求,常见的有 MySQL、HBase、Greenplum、Redis、Elasticsearch 等。
数据网关:要实现包括权限、监控、流控、日志在内的一系列管控能力,哪个应用的哪个页面访问了哪个模型,要做到实时跟踪,如果有一些模型长时间没有被访问,应该予以下线。
使用数据的每个应用都应该通过accesskey和secretkey实现身份认证和接口权限的管理。另外,访问日志可以方便在访问出现问题时,加快排查速度。
逻辑模型:从用户的视角出发,屏蔽底层的模型设计的实现,面向用户提供逻辑模型。它可以帮助应用开发者屏蔽底层的数据物理实现,实现相同粒度的数据构造一个逻辑模型,简化了数据接入的复杂度。
性能和稳定性:由于数据服务侵入到用户的访问链路,所以对服务的可用性和性能都有很高的要求,数据服务必须是无状态的,可以做到横向扩展。
One Service 体系的目标是将散落的珍珠(数据)串成项链(链条),同时提高数据的共享能力,让数据可以被用得好,用得爽!