数据产品-数据链路&数仓建设

在数据中台中,从数据产品经理的视角出发,个人对数据链路的理解是指数据从数据源产生,到经过中间层(数仓的一系类建设动作)的处理,最终应用于服务之上,再由服务产生数据回流数据源的闭环过程。
在这里插入图片描述

数据来源:一切数据资产动作都是建立在有丰富的数据源之上

一、源数据层

1、常见的数据包括:业务DB、日志文件(包含埋点数据)、外部爬虫数据
2、应用说明:源数据层的DB(主要是业务DB)是为了完成业务功能而设计
①一方面其数据结构设计是专门拟合业务功能,较为复杂,常用于事务处理
②另一方面大多是读写优化的,即又要读,也要写,单次作用于相对的少量数据
③因此对于大量数据的读取分析是支持不足的
3、不会用于应用分析:业务DB一般不能直接用于分析查询
①一方面是其结构的不便利性,不利于分析查询
②业务应用的计算力,应用于分析直接调用业务DB,会造成对业务DB的大量计算,影响业务应用的正常运转

技术升级:为解决业务DB不便于数据分析支撑,又想要满足特定业务部门的数据分析支撑需求,出现了传统的数据集市

二、(数据链路需思考的点)简单数据集市DM

1、概念:满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体
2、动作:基于业务需求去对应源数据层里面进行数据采集,然后定义规划出业务需要的数据看板等
3、特点:一次性需求较强,按需采集。但随着业务的丰富,数据复用性极低,数据孤岛明显

随着业务的丰富,聚合多业务线的数据支撑需求上升,需解决数据孤岛问题,同时需要实现数据的复用和效率问题,数仓的建设就应运而生,而通过数仓分层,能够清晰数据结构、方便数据血缘追踪、减少重复开发和统一数据口径

三、贴源数据层ODS

1、说明:数据结构与业务系统保持一致,主要用来全量/增量同步业务数据。
2、源数据层到贴源数据层ODS一般会做的处理:ETL中的E
ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。
①数据的抽取是从各个不同的数据源抽取到ODS(这个过程也可以做一些数据的清洗和转换)
②ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3,对应数仓建设中ODS到DW的动作
③数据的加载(Load)一般在数据清洗完了之后直接写入DW中
说明:在现在存储成本下降之后,有些会采用ELT的方式,也就是直接将数据抽取后进行加载,在进行数仓建模的时候才进行“T”操作
3、对于大量的数据源,数仓一般会进行分区处理
数仓分区说明:能够在庞大的数据集条件下,提高数据的查询速度,方便数据管理,通过分区实现数据备份和恢复操作
①分区的实质:一个表对应一个目录,再根据分区列在这个表目录下创建子目录,每个子目录名就是分区列的名字。
②分区和字段的区别:分区列定义与表中字段相似,但是与表中的字段无关,是独立的列。用户感知会是表中的一个字段,实际的物理存储是分开的。
③一般采用分区之后,表就不会建主键,防止数据不能入库
④举例,一般对于数据量巨大的数据表都会进行时间分区。对于同主题下的可完全业务分离的主体,也可进行分区,比如作品主题下的漫画、漫剧、对话剧和漫影,就可以通过载体进行分区
在这里插入图片描述

基于ODS层多业务的数据源,需要面向主题开始上一层的数据建设,实现数据的高可用性。在开始上层建设之前,需明确数仓业务主题的划分

四、(数据链路需思考的点)数据仓库主题设计

A、数据仓库的主题是一个逻辑概念,区分于传统数据库的面向应用。它可以完整、统一地刻画出分析对象所涉及的各项数据以及相互联系。主题划分原则:基于公司业务体系和业务访谈结果拆分主题,按业务需求进行归类,抽离出业务数据中有分析意义的环节和属性
B、主题和主题域:主题域通常是联系较为紧密的数据主题的集合
C、主题的划分是基于业务需求划分,也是不断的丰富和变化的,对于不同阶段可能拆分的层度不同,比如营收主题,可能会进一步拆分为交易主题、流水主题等
1、梳理业务体系:
在这里插入图片描述
2、基于业务体系划分主题
主题的划分决定了数仓的逻辑模型形态,主题的建设也是一个迭代的过程,可以基于不同时期的业务需要,不断丰富主题内容,主题之间是相关关联的,通过对主题的拆解,能够明确统一数仓层DW的建设逻辑
在这里插入图片描述
主题之下的详细关系链介绍:
①用户主题:包含用户信息、会员、主播、用户身份、实名认证等数据
在这里插入图片描述
②内容主题:包含用户通过我们平台创作的作品(漫画、漫剧、对话剧、漫影),发布的信息(帖子,动态)以及通过爬虫爬取的第三方作品
在这里插入图片描述
③素材主题:包含平台提供给用户创作作品的素材(服装店中礼包、服装、表情),以及用户创作的素材(素材市集)
在这里插入图片描述
④事件主题:用户在平台上产生的行为,用户在APP上消费作品、进行社交、观看直播,包含APP埋点以及业务端保留的行为数据
在这里插入图片描述
⑤营收主题:消耗用户资产的交易类行为(用户充值、打赏作品、送主播礼物、购买素材)
在这里插入图片描述
⑥活跃留存主题:用户在APP上活跃及连续活跃信息
在这里插入图片描述

基于主题划分之下,能够明确构建哪些维度的信息。对于实际模型构建,会有三种常见的建模方式,而最具有上层应用灵活性的建模方式则为维度建模

五、(数据链路需思考的点)数据模型

A、数据模型:通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射
B、为什么需要数据模型:全面的业务梳理,改进业务流程,加快上层应用的建设;建立全方位的数据视角,能够全面的洞察各个主题下的数据情况
1、三种建模方式之范式建模(Third Normal Form,3NF)
①说明:范式建模,主要用于解决关系型数据库的数据存储,有着维护数据的一致性,稳定性,可扩展性,减少冗余,同时也有着规范化但是不利于分析理解数据等的特点
②范式建模不能完全应用于数仓的建设,因为其会影响数仓整理的灵活性。所以在现在的数仓建设中比较少会使用范式建模
2、三种建模方式之维度建模
①说明:基于主题之下的“维度表+事实表”,维表:表示对分析主题所属类型的描述,事实表:表示对分析主题的度量
②基于维度建模之下的三种模式
A、星型模型:事实表(事实动作+一系类维表主键)+维度表
在这里插入图片描述
B、雪花模型:事实表(事实动作+一系类维表主键)+维度表(维表有子维表)
在这里插入图片描述
C、星座模型:多事实表+多维表(多事实表会公用同一维表)
在这里插入图片描述
③维度建模的优缺点:
优点:维度建模非常直观,紧紧围绕着业务模型,可以直观的反映出业务模型中的业务问题,现在的数仓建设更多的是采用雪花模型的构建方式
缺点:需要进行大量的数据预处理,会导致大量的数据处理工作
④维度建模和宽表的对比
A、宽表:把很多的维度、事实上卷或者下钻之后关联到某一个事实表中,形成一张既包含了大量维度又包含了相关事实的表
B、优劣:宽表具有一定程度的便利性,但随业务的增长,无法预见性地设计和定义宽表究竟该冗余多少维度,也无法清晰地定义出宽表冗余维度的底线。同时为了满足使用上的需求,需要不断地将维表中已经存在的列增加到宽表中。这直接导致了宽表的表结构频繁发生变动
C、推荐使用维度建模代替宽表的原因:维表和事实表的变更几乎相互不影响,数据的回滚只影响个体;维度模型可以作为宽表的基础,一旦业务数据流程确定,可以基于维度模型去生成对应的宽表快速支撑业务
3、三种建模方式之实体建模
说明:实体建模更多的是一种思想,通过明确实体与实体、实体与事件之间的关系,能够很好的拆分业务主题

有了数仓的主题划分确定方向,有了数据模型明确建设方法,数仓的中间层建设如下

六、统一数仓层DW

(阿里中叫公共数据层CDM)数仓模型层进一步划分:明细层(DWD)、轻度汇总层(DWF)、汇总层(DWS),其中还会抽离出通用维表(DIM)
1、数据明细层DWD
①说明:按照业务主题域对数据划分主题,采用事实维度建模方式对贴源层数据进行清洗转换且保留原始业务粒度
②动作:一般会进行维度的退化、口径统一
在这里插入图片描述
2、轻度汇总层DWF
①说明:通过明细层数据按照一定的数据粒度,对数据进行聚合操作。此层数据本身具有特定场景下的分析意义又可以按照更粗粒度进行二次聚合(如按照用户粒度统计消费,在下一层汇总层又可以对这个数据进行进一步汇总)
3、汇总层DWS
①说明:通过对业务应用指标提炼由明细层与轻度汇总层数据加工,形成可用户各种业务场景以及数据分析使用的公共指标
②动作:基于业务需求进行数据汇总
在这里插入图片描述
4、通用维表DIM
多业务公用码表配置表,数据量少更新频率低,建立整个企业的一致性维度
在这里插入图片描述

基于统一数仓层的建设,为实现数据的高可用性,会构建通用的标签资产,这也是数据应用层的最强依赖

七、标签数据层TDM

标签数据层TDM(Tag Data Model):面向对象建模,把跨业务板块、跨数据域的特定对象数据进行整合,通过ID-Mapping把各个业务板块各个业务过程同一对象的数据打通,形成对象的全域标签体系,方便深度的分析、挖掘、应用
1、标签的类型
事实型标签:年龄、城市、分类等
统计型标签:月均收益率、7日点击量、末次点击距当前天数、30日完播率等
规则型标签:RFM分层、流量池等级分层等
挖掘型标签:用户生命周期、用户活跃度、推荐等级、用户价值度等
2、标签的构建
①基于业务需求,构建具有实际业务应用落地的标签,定义号业务口径,比如点击热度,热度的划分层级需基于业务的实际场景和行业的情况进行合理划分
②业务抽象构建,标签的构建需要具有抽象性和可扩展性,比如针对短视频的浏览进度可以定义完播率标签,针对漫画的浏览进度又可以定义浏览进度标签,但同是作品类别,应该有通用的标签,可以定一个“阅览度”标签,只是计算逻辑不同

基于主题的数仓中间层、以及标签数据层的建设完成之后,就要基于业务需求,从数仓中间层和标签层进行数据提取,实现数据资产的实际落地应用

八、应用数据层ADS

(狭义ADS层可称为数据集市DM)在数据应用层侧,基于业务主题需要划分,构建对应的数据模块,即数据集市DM
1、说明:基于业务主题,可以是一些宽表,是根据DW层数据按照各种维度或多种维度组合把需要查询的一些事实字段进行汇总统计并作为单独的列进行存储
2、建模方式及原则:尽量减少数据访问时计算,优化检索;维度建模,星型模型;事实拉宽,度量预先计算。
举例:针对漫影主题,按天统计的DM宽表
在这里插入图片描述

基于数仓的总体建设,可通过对数据资产的抽象化和应用化,形成通用的衍生资产服务,实现数据资产价值的扩散

九、衍生资产构建

衍生资产,即数据资产的通用服务。通过构建数据衍生资产,验证数据资产构建的价值性,反哺数据资产在构建中的问题,不断优化迭代整个数据链路
1、衍生资产的构建
①用户分群&内容包圈选:基于标签资产实现标签特征之下的用户圈选,辅助实现功能的ABT、用户的定向分流、内容投放、消息推送等
在这里插入图片描述
②用户画像:梳理业务关注的新维度,形成用户画像,实现用户洞察
在这里插入图片描述
③推荐系统:内容推荐服务,基于标签的推荐,为推荐系统提供输入因子,提升推荐的准确率
④BI:基于标签、数仓统计数据,构建数据看板,实现整体的运营把控

在这里插入图片描述
2、衍生资产的评估
①上层应用评估:基于衍生资产的使用情况,评估整体的数仓建设情况
②底层数据调用评估:梳理数仓表血缘,汇总各层的数据表调用情况,使用热度,反应数据表的建设利用情况

十、不同行业的数据体系建设

1、地产行业
在这里插入图片描述
2、零售行业
在这里插入图片描述
3、证券行业
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41046286/article/details/108082721