在讲数据中台之前,先讲一下数据产品的发展历程。
数据产品主要经历4个阶段:数据库 → 数据仓库→数据平台→数据中台。
数据库:可以进行存储持久化,简单的关联查询,简单的OLTP联机事务处理系统,基本、日常的事务处理;不适用数据多维分析。
数据仓库:位于多个数据库上的存储库,实现数据生命周期管理、主题域开发;提供直观易懂的查询结果,支持复杂的多维数据分析;但事务处理能力较弱,在数据和业务预测方面应用有限。
数据平台:基于分布式的实时或离线计算框架,建立计算集群以运行各种计算任务,提供完善的大数据基础运行环境,支持多源异构数据集成和处理、支持数据资产管理。
数据中台:在数据迈向EB时代,具有全域级、可复用的数据资产,搭建全栈式的数据功能集成平台,形成统一的数据资产、统一的数据服务,简化开发,敏捷集成,实现业务系统协同和需求敏捷响应,真正实现“让数据资产“发挥价值。
数据中台产品一般包含:数据建模、数据集成、数据处理、数据治理、数据地图、数据服务等模块。数据治理包含:数据质量、数据安全、治理360。
本文将重点介绍数据建模模块。
现在比较流行开发即治理的理念,先规划设计,后开发,先标准,再建模;数据标准成为开发即治理的核心。将数据治理的流程融入数据建模、数据开发的全生命周期过程,在开发过程即完成数据治理。
数据建模就是属于规划阶段重点使用的模块。一般包含:数仓规划、数据标准、数据指标、维度建模。数仓规划:根据数仓分层、业务分类、数据域、业务过程、数据集市、主题域等要素划分建模的逻辑数仓架构。数据标准:支持在建模前规划制定数据标准,或在建模过程中根据业务情况沉淀企业业务的数据标准。数据指标:支持指标体系,包括原子指标、业务限定、统计周期、维度和派生指标等。维度建模:可根据业务情况设计并创建维度表、明细表、汇总表、应用表。
为什么需要数仓规划?企业数据增长快,数据量庞大、复杂,往往会出现数据难以管理和查找到对的数据的现象。需将无序、杂乱、繁琐、庞大且难以管理的数据,进行结构化有序的管理。使企业中的数据产生更多的价值,将数据价值最大化。以电商数据为例:有订单商品明细表、支付记录表、商品信息表、曝光埋点表、品牌粒度销售表...如果没有分门别类,即便是10个表也觉得无从下手。
数仓规划:包含业务分类、数据域、业务过程、数据集市、分析主题。
业务分类:一般是所在的集团或公司业务复杂且较为庞大时,可创建业务分类,对数据进行业务区分,便于对业务数据进行更加方便的管理。
数据域是联系较为紧密的数据主题的集合,通常是根据业务类别、数据来源、数据用途等多个维度,对企业的业务数据进行的区域划分,将同类型数据存放在一起。
业务过程是企业在指定的数据域中所执行的业务活动,是数据建模所需要分析的逻辑主体。例如,交易域中可以有加入购物车、下单、支付等业务过程。
数据集市是基于业务分类,面向特定应用场景或者产品的数据组织。通常位于数据应用层,依赖于整合数据。分析主题用于将数据集市按照分析视角进行划分,通常是联系较为紧密的数据主题的集合。如盘货分析、关键指标分析等。
数据标准:包含命名词典、标准值域、表名规范。
命名词典:提供管理各个数据要素,常见的命名词典有:词根词缀、业务分类缩写、数仓要素(如数据域、业务过程等)缩写、数仓分层缩写、表名前缀、表名后缀等等。在各个数据要素命名时,可以参考命名词典进行命名。
标准值域是字段标准的取值范围,在标准值域中可设置字段标准可选择的数据内容及范围。
表名规范按不同分层定义对应表名规则,同时定义规则强弱类型;在维度建模时,系统提供表名推荐;如果不按规范的表名,提供待治理列表。
为什么要进行维度指标的梳理?在企业中维度指标的建设会存在哪些问题?存在同名不同义、同义不同名、类似描述或类似口径的指标众多、人工对齐口径费时费力等问题。指标体系期望:统一梳理,统一命名,统一定义和建设。
指标体系包含:原子指标、业务限定、维度、派生指标。
原子指标用于明确业务的统计口径和计算逻辑,是基于用户的业务活动(即业务过程)创建的,用于统计业务活动中某一业务状况的数值。例如,用户的业务活动为购买,则原子指标就可以指定为支付金额。
业务限定用于限定统计数据的业务范围。
统计周期即统计数据的时间范围,例如近7天、近30天等。用于在统计派生指标时,限定业务统计的时间范围。
维度是人们观察事物的角度,进行统计的对象。例如客户、货品、场景等具体的业务对象;地域、组织关系和产品类目等抽象的业务对象。维度属性:是用于具象化维度,比如货品的ID、货品的名称。
派生指标是由原子指标、业务限定、统计周期、统计粒度(维度属性)组成,用于反映某个粒度某一业务活动在指定时间周期及目标范围中的业务状况。例如,品牌ID粒度一周华南地域的销售金额。
维度建模是数仓建设常用的建模方法,主要是遵循Kimball维度建模理论,设计并创建维度表、明细表、汇总表、应用表,并可将模型快速发布到相应的研发引擎。同时,还可以使用逆向建模,将已有物理表逆向生成模型。
维度表:结合业务的数据域的规划,提取出各业务数据域中进行数据分析时可能存在的维度,并将维度及其属性通过维度表的方式存储下来。例如,在进行电商业务数据分析时,可用的维度及其属性有:订单维度(属性包括订单ID、订单创建时间、买家ID、卖家ID等)、用户维度(性别、出生日期等)、商品维度(包括商品ID、商品名称、商品上架时间)等,此时您就可以将这些维度和属性创建为订单维度表、用户维度表、商品维度表等,将维度属性记录作为维度表的字段。
明细表结合业务过程的规划,梳理分析各业务过程中可能产生的实际数据,将这些实际数据字段通过明细表的方式存储下来。例如下订单这一业务过程中,您可以创建下订单这一明细表,用于记录下单过程可能产生实际数据字段,例如订单ID、订单创建时间、商品ID、数量、金额等。
汇总表结合业务数据分析和数仓分层,将一些明细的事实数据和维度数据先进行汇总分析,创建汇总表,后续数据分析时直接取用汇总表中的数据即可,无需再取用明细表和维度表中的数据。
应用表是面向具体业务场景,用于组织相同时间周期、相同维度的多个原子指标、派生指标或统计粒度的统计数据,
怎么在维度建模中进行过程治理?1.设置非空联动质检 2.关联标准值阈,联动质检 3.设置主键联动质检4.关联字段标准 5.语义化维度指标 6.关联维度指标内容。
逆向建模:当用户的数仓中存在大量的物理表,没有进行统一的分层划域管理,希望通过逆向建模进行统一管理这些模型,将已有物理表反向建模至维度建模中。可帮助用户无需再次执行建模操作即可快速创建模型,节省了大量的时间成本。