本文作者:王立飞
袋鼠云大数据解决方案专家。专注于云计算、大数据、企业级技术架构(EA)等领域,在互联网、零售、工业等行业有深入的理解和丰富的从业经验,曾带领项目团队完成中金易云、货币网、固德威等企业级大数据项目交付,擅长行业大数据解决方案的咨询与落地。
正文:正文
企业的发展,往往伴随着业务更多元化,也必然会促进更多的业务数据产生,也为企业实现业务数据化和数据业务化带来了更多的可能性,但现实是很多企业依然采用传统理念去建设大数据平台,导致不单单业务系统是一个个烟囱,大数据平台也是一个个垂直的数据中心,所以如何打通这些数据并将其按照一个统一的标准进行建设,以达到技术降本、应用提效、业务赋能的目标,是众多企业面临的问题。数据中台就是为解决这些问题而生。
数据中台的内核包括两方面:一个是应用数据的技术能力,另一个是数据资产的管理。
Part 1
一、数据中台设计
数据中台的概念由阿里巴巴首次提出,它是一个承接技术,引领业务,构建规范定义的、全域可连接萃取的、智慧的数据处理平台,建设目标是为了高效满足前台数据分析和应用的需求。数据中台是涵盖了数据资产、数据治理、数据模型、垂直数据中心、全域数据中心、萃取数据中心、数据服务等多个层次的体系化建设方法。
(一)数据中台建设方法论
(二)数据中台建设内容
-
全域数据采集与引入
以需求为驱动,以数据多样性的全域思想为指导,采集与引入全业务(电商、零售、生产等)、多终端(PC、H5、APP等)、多形态(自身业务系统、三方购买、互联网采集抓取)的数据。 -
标准规范数据架构与研发
统一基础层、公共中间层、百花齐放应用层的数据分层架构模式,通过数据指标结构化规范化的方式实现指标口径统一。 -
连接与深度萃取数据价值
形成以业务核心对象为中心的连接和标签体系,深度萃取数据价值。 -
统一数据资产管理
构建元数据中心,通过资产分析、应用、优化、运营四方面对看清数据资产、降低数据管理成本、追踪数据价值。 -
统一主题式服务
通过构建服务元数据中心和数据服务查询引擎,面向业务统一数据出口与数据查询逻辑,屏蔽多数据源与多物理表。
(三)数据中台设计方法
1. 数据模型层次设计
数据中台将数据分为操作数据层(ODS)、公共维度模型层(CDM)(其中公共维度模型层包括明细数据层(DWD)和汇总数据层(DWS))、应用数据层(ADS)。
ODS层:
把来源于其他系统的数据几乎无处理地存放在数据仓库中。主要功能:
-
数据同步:结构化数据增量或全量同步到数据计算平台;
-
结构化:非结构化(日志)结构化处理并存储到数据计算平台;
-
累积历史、清洗:根据数据业务需求及稽核和审计要求保存历史数据、数据清洗;
CDM层:
存放明细事实数据、维表数据及公共指标汇总数据。CDM层又细分为DWD层和DWS层,分别是明细宽表层和公共汇总数据层,采取维度模型方法基础,更多采用一些维度退化手法,减少事实表和维度表的关联,容易维度到事实表强化明细事实表的易用性;同时在汇总数据层,加强指标的维度退化,采取更多宽表化的手段构建公共指标数据层,提升公共指标的复用性,减少重复的加工。
-
组合相关和相似数据:采用明细宽表,复用关联计算,减少数据扫描。
-
公共指标统一加工:基于OneData体系构建命名规范、口径一致和算法统一的统计指标;建立逻辑汇总宽表。
-
建立一致性维度:建立一致的数据分析维表,降低数据计算口径不统一的风险。
ADS层:
存放数据产品个性化的统计指标数据,根据CDM层和ODS层加工生成。
-
个性化指标加工:不公用性、复杂性(指数型、比值型、排名型等)
-
基于应用的数据组装:大宽表集市、横表转纵表、趋势指标串。
设计原则
2.数据规范定义设计
规范定义是指以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量/原子指标、修饰类型、修饰词、时间周期、衍生指标等。一般指标组成体系可以划分为:原子指标、衍生指标、修饰类型、修饰词、时间周期。
如:支付订单金额+最近7天+淘宝=最近7天淘宝的成交
表命名规范:
ODS:ods_[业务库名]_{业务库原始表名}[_delta]
DWD:dwd_{主题缩写}_{业务过程缩写}[_自定义标签缩写]_{单分区增量全量标识}
DWS:dws_{数据域缩写}[_自定义标签缩写]_{刷新周期标识}
ADS:ads_ [_业务应用缩写][_维度][_自定义标签缩写]_{刷新周期标识}
DIM:dim_{维度定义}
3. 数据模型设计
维度建模是专门用于分析型数据库、数据仓库、数据集市建模的方法,维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。
维度表
表示对分析主题所属类型的描述。比如”昨天早上张三在淘宝花费200元购买了一个皮包”。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天早上),地点维度(淘宝), 商品维度(皮包)。通常来说维度表信息比较固定,且数据量小。
事实表
表示对分析主题的度量。比如上面那个例子中,200元就是事实信息。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。
维度建模常见的由星型模型、雪花模型和星座模型三种,数据中台设计一般采用星型模型。
Part 2
二、数据资产管理
大家已经意识到数据是企业最宝贵的资产了,前面讲的都是企业数据建设的方法,那企业如何把自己的数据资产建好、管好和用好?这不仅仅需要方法论和管理制度,更需要的一个可视化的数据管理工具,实现复杂的数据资产运维简单化,前面的数据中台系列文章开篇就曾介绍袋鼠云数栈大数据产品,它是一款高效的大数据实时/离线任务开发、任务调度和数据管理工具,它从以下三个方面实现数据资产的管理。
1. 数据地图管理
数据地图是对整个数据中台内的数据进行统一查询、管理的“地图”,数据地图主要面向数据开发者,汇聚用户所有数据信息,通过元数据信息收集、数据血缘探查、数据权限申请授权等手段,帮助数据中心专有云完成数据信息的收集和管理,解决”有哪些数据可用”、”到哪里可以找到数据”的难题,并且提升数据资源的利用率。
2. 数据模型管理
数据模型管理,主要是为解决架构设计和数据开发的不一致性,是为了约束平台使用者的表名、字段名的规范性,架构师从工具层合理的进行模型分层和统一开发规范,包括2部分,一个是规则配置,另一个是对表名、字段名的定期校验。
规则配置:可以配置表名必须由哪几个元素组成,比如表名=数据仓库所属层级+表所属主题+数据更新周期+增量/全量,按照这个规则,表名就会是
dws_sale_channel_day_full,这样的话,这张表是做什么的就一目了然了。
定期校验:可以对表名、字段名做定期校验,告诉你哪些表、哪些字段是不符合要求的,这样的话,平台长期运营下去,依然会处于比较健康的状态。
3. 数据质量管理
在实际生产中,数据计算任务没有告警,但不代表数据就是正确的,比如源数据异常、代码逻辑修改等原因都会造成结果数据错误。数据质量就是保障数据正确性的工具,主要包括这么几部分:一是支持准确性校验规则,二是支持双表校验,三是输出校验报告。
数据准确性规则配置:可以配置针对表的、字段的校验规则,比如这个表的数据量是不是波动很大,某个字段是不是有异常的值,这个字段的值会不会有很多空值。
双表校验配置:数据迁移、重要逻辑变更时需要保证数据的一致性,传统方式采用人工编写SQL的校验方式,数栈·Valid提供自动化校验功能,仅需页面配置即可完成海量数据的一致性校验。
输出质量报告:支持字段级、表级校验报告,具备历史数据统计功能,辅助定位数据质量的问题根源会定期的自动执行校验规则,输出校验报告。
总结
数据时代带来的挑战不仅仅是数据量的爆发式增长,更重要是如何管理好、治理好、利用好这些数据,显然传统的大数据建设方法论无法满足需求。
如果把大数据建设工作比如盖高楼的话,那么大数据平台开发和管理工具(数栈)就是打桩机、挖土机、推土机、塔吊…,过程中严苛、繁琐、体系的开发、治理、分析建设方法论(数据中台)就是楼层规划、户型设计、房屋建造….,数据服务就是业主个性化的装修。
袋鼠云数据中台建设方案就是集大数据平台产品+建设方法论+数据服务+数据运营经验的整体输出。