维度建模基本流程总结

article/2025/9/28 10:07:23

一、维度建模基本流程图

数据RD进行业务调研和数据现状调研,产出符合相关模版规范的业务知识文档和数据现状文档。数据PM也会调研相关业务产出需求设计文档,三方参与需求评审,评审通过后基建数据RD进行需求拆解,产出技术方案,三方进行技术方案评审,如果技术方案评审通过进入基建需求池、排期、开发、上线并做相关数据运营动作。

二、维度建模流程详情

详细流程主要介绍每个步骤的参与方、行动详情、产出结果并明确相关的check机制。

2.1 业务调研

关键动作:业务调研主要是业务方、数据PM、数据RD参与,数据RD具体动作如下:

1)理解业务环境,通过和业务方代表交流发现需求,用于理解他们基于关键性能指标、竞争性商业问题、决策制定过程、支持分析需求的目标。

2)梳理业务过程,通过和源系统专家交流信息、业务方的描述信息梳理业务过程,业务过程是一个不可拆分的行为事件。

3)分析关键业务和核心问题,分析关键业务及其动作是什么,明确业务现阶段所关注的核心问题,对核心问题的理解有助于我们覆盖业务场景。

核心成果

业务调研完成后,需要编写业务知识文档,此文档可以按照如下思路整理

1)业务简介,源系统业务简单概述,明确决策过程和分析目标等。

2)统一业务概念,将源数据(即业务系统)中隐含的、有歧义的概念进行清晰化。

3)业务流程介绍,重点关注源系统的ER模型,整理业务流程图,梳理业务基本动作等。

4)总结业务对数据的需求,重点梳理业务指标。

业务调研步骤可重可轻,重:基建层面从质量、效率、成本和扩展性长远考虑需要深入调研并理解。①质量: 通过数据集成和一致性建设,提升数据指标的一致性及及时性;②效率:提升计算、存储、查询效率,提升用户体验;③成本:减少不必要的数据冗余、提升模型复用度,降低存储、计算以及维护开发、降低成本。④扩展:屏蔽业务及上游系统的变更影响,能灵活快速兼容业务变更以及支撑新业务。

轻:根据需求紧急程度,结合原有调研的相关知识,快速支持业务需求。

2.2 数据现状调研

关键动作:数据现状调研主要是数据PM、数据RD参与,关键动作如下:

1)数据PM需要梳理历史定义的数据指标口径,这部分口径解决什么问题(随着时间推移历史指标口径不明确,解释不清等)。

2)从数据RD角度需要梳理之前产出的模型、看板、数据产品,不同的交付方式所对应的模型是否相同,有没有口径不统一的风险。同时将这部分涉及的底表列出来,还没有接入的提前接入。

核心成果

1)数据RD明确指标如何使用:主要是通过表格描述清楚之前的看板和产品使用的模型、模型对应的指标。

2)历史指标及其口径,从数据PM角度需要了解之前定义的数据指标口径,这部分口径解决什么问题。

3)初步给出一些优化改进建议,比如重复逻辑下沉、重复开发优化等。

2.3 主题抽象&总线矩阵

关键动作:主要由数据RD完成,关键动作如下:

1.明确数仓建设的相关分层和命名规范。

2.明确数据域的抽象划分。

3.明确主题、业务过程及其对应关系。

4.明确业务过程和一致性维度关系。

核心成果

产出相关文档,主要包含①主题、词根和主题对应业务过程关系表;②主题和一致性维度矩阵,方便从宏观认识整个数仓;③每个主题下业务过程和一致性维度关系矩阵。

2.4 数据需求设计

关键动作:主要由数据PM完成,关键动作如下:

1)明确背景和业务价值。

2)如果是涉及到产品化的项目需要明确产品或报表工具,设计相关原型图。如果只提供数据集,需要明确指标如何使用,作用的结果。

3)定义清楚维度和指标(偏应用层指标)

4)明确期望交付时间、交付结果,数据回刷范围等。

关键产出就是需求文档(PRD)

需求PRD产出后需要组织业务方、数据RD和PM进行需求评审,主要check 需求评审文档,是否符合既定规范,价值描述清晰、维度和指标口径,数据范围、交付时间等。

2.5 数据需求拆解

关键动作:主要由数据RD完成,关键动作如下:

事实表设计:

1)选择业务过程:选择主题域明确主题下的业务过程,选择具体的业务过程(在主题域内根据情况会抽象新增/合并业务过程)开始拆解。

2)确定事实表,根据需求设计合适的事实表类型,事务事实表、周期快照事实表、累积快照事实表。

3)声明粒度,在从给定的业务过程中获取数据时,原子粒度是最低级别的粒度,建议优先关注原子粒度数据开始设计,原子粒度数据能承受无法预期的用户查询,然后根据针对业务公共问题和性能出发设计上卷汇总粒度数据表。

4)确认维度:维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以成为实体对象。在实际工作中好的维度设计可以层次递进的反应业务情况

5)确认事实:事实就是度量,一般是对某个业务事件的衡量,通常为数字,如定单量,订单金额等。尽可能包含业务过程下所有原子指标,只选择和业务过程相关的原子指标,统一同类指标的单位。根据规范对指标拆解:①确定原子指标:基于某一业务时间行为下的度量,是业务定义中不可再拆分的指标(比率等指标除外),具有明确业务含义和业务完整定义的名词。原子指标=业务过程(动作)+度量,比如推单量,下单金额,支付金额;②确定派生指标:派生指标=一个原子指标+多个修饰词(可选)+时间周期。可以理解为对原子指标业务统计范围的圈定。比如昨日新用户下单量

6)梳理具体业务过程下的指标维度矩阵。

维表表设计

1)选择实体

维度表设计首先要选择实体,也就是维度表所要描述的抽象对象。如,互联网电商在交易过程中涉及到的实体有:买家、卖家、订单、广告等等,当然还有一些在不同业务场景下衍生出来的一些业务抽象实体,如优惠券、活动、商圈等都可以作为维度实体。 实体的选择主要是结合业务流程,在需要建模的业务流程环节涉及到了哪些参与者,这些不同的参与者便是维度表描述的实体对象,维度表中的属性,就是用来区分不同实体的特性。

2)确定主维表

确定主维表,主要是识别出维度表的主要数据来源。通常,业务系统中也会将相同类型业务实体进行统一存储(即一张表),亦或是在大型企业有建设业务中台会提前做同类业务实体的数据融合(如,商品中心、用户中心等)。但在没有类似业务中台可以直接获取全量维度实体数据的情况下,就需要自行确定业务实体数据的来源,并做融合。一般情况会将常规主要业务流程中产生的业务系统数据做为主维度表,因为其一般是维度表的主要数据来源,并且数据准确、丰富。

3)确定辅维表

辅维表存在的目的有两方面。一方面是补全主维表在维度实体的数据;另一方面是为了寻找维度表所表示的业务实体的一些其他属性描述辅助表,这些辅维表用来丰富维度表的属性描述,增强维度表的表现性,同样也能扩展维度表的分析能力。

4)识别维度属性

维度表的维度属性一般可以分为相对稳定的“固化属性”和变动频繁“动态属性“。由于“固化属性”和“动态属性”的变更周期差异巨大,一般会在维度表的构建过程中结合具体的场景进行拆分,一方面是保证维度表能够高效的产出,另一方面也是为追溯历史数据提供合理的技术实现。

注意点:增加文字描述(枚举和中文对应关系);统一单位;统一标志值(0/1,Y/N)等。

关键结果

产出业务过程下的指标维度矩阵。

2.6 技术方案设计和评审

主要由数据RD完成技术方案设计,然后组织PM和RD进行技术方案评审,关键动作如下:

1.原则上遵循公司数仓建模规范或数据仓库工具箱相关规范。

2.编写技术方案,背景部分主要阐述业务痛点和目标;需求梳理主要是明确我们开发的指标维度矩阵;核心模型设计即数仓整体架构设计(服务规范)和表详情设计,表详情设计部分主要明确三个部分①表的中英文名称②指标名和口径③指标加工逻辑和相关数据调研;最后技术方案中明确上线事项和分工排期。

关键结果

产出技术方案,技术方案可以分如下几个模块①项目背景,附上相关PRD和说明文档链接,介绍清楚背景收益等;②问题和风险,对于存在的问题和风险(业务风险、技术风险)应当有对应的方案,如存在风险或问题情况下,仍按需求进行,需要明确相关责任人。③项目计划,明确相关责任人和具体开发排期。④需求调研,调研需求的指标、维度和相关接口。⑤详细设计,第一部分给出整体的设计架构图;第二部分接口设计详情;第三部分数仓模型设计;⑥技术选型,重点关注查询引擎,查询量级,QPS等;⑦上线事项:测试case、上线顺序、上线Check List、承诺产出时间,稳定性保障、降级策略(数据延迟、集群异常等兜底方案是否可以使用T+2的数据,前端进行banner文案提示“数据暂不可用”,对外提供接口方式,应当与数据使用方商定出现无数据情况的后端兜底或者前端兜底。数据内容本身的错误和BUG无法进行兜底,责任由数仓RD来进行负责并处理。)

2.7 数据交付&运营

对相关指标进行绑定录入,编写使用文档等。


http://chatgpt.dhexx.cn/article/amaq90rI.shtml

相关文章

维度建模的基本理论

维度建模 围绕三个问题来展开 1、怎么组织数据仓库中的数据? 2、怎么组织才能使得数据的使用最为方便和便捷? 3、怎么组织才能使得数据仓库具有良好的可扩展性和可维护性? 维度建模两大派系 Bill Inmon(数据仓库之父) 的企业…

Kimball 维度建模理论

一、维度建模分为两种表 事实表 存在这样一些数据,如行为记录,操作记录,订单,日志等,都可以作为事实表 特点:每条数据都有一个唯一键,数据通常来说不会更新,随着时间的增加而增加维…

维度建模示例

以库存模块和零售模块这两个模块来谈一谈维度建模的相关事项梳理库存业务中的表的构造与设计思想梳理一下缓慢变化维的处理方法与优缺这篇博客计划用周末来完成,只能简单的讨论一下建模概况,从维度建模这本书中摘录出一些重要的知识点,对于维度建模这本书的报告计划在5.1之前完…

浅谈维度建模

前言:本人作为BI方向相关的数据系统后端开发,虽然不是从事具体的数仓方面的工作,但是对维度建模过程有个大致了解,可加深对于系统现有的架构设计的理解(比如数据模型构建,指标库的作用)&#xf…

关系建模与维度建模

一、OLTP与OLAP 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是…

数仓维度建模实例

简介 本文将介绍维度建模理论和基于自己经验的实施步骤 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据....只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能、低成本、高效率、高质量的使用。一般业务…

数据仓库-基础知识(维度建模)

一、数据仓库概述 1.1 数据仓库定义 数据仓库:Data Warehouse,是为企业所决策制定过程,提供所有支持类型的数据集合。用于分析性报告和决策支持。数仓是一个面向主题、集成的、相对稳定、反应历史变化的数据集合,随着大数据技术的…

数仓:维度建模

1.背景 数据仓库的核心是展现层和提供优质的服务。ETL 及其规范、分层等所做的一切都是为了一个更清晰易用的展现层。 2.数仓架构的原则: 1、底层业务的数据驱动为导向同时结合业务需求驱动 2、便于数据分析屏蔽底层复杂业务简单、完整、集成的将数据暴露给分析层…

数仓建模(维度建模)

目录 一、什么是建模?(为什么建模) 二、模型的好处 三、建模的方法 四、维度建模 4.1 基本概念 4.2 为啥选择维度建模(优缺点) 4.2.1 优点 4.2.2 缺点 4.3 维度建模-星型模型 4.4 维度建模-维度 4.4.1 维度之…

维度建模的三种模式

1.星型模式 星型模式是维度模型中最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。 星型模式由事实表和维度表组成,一个星型模式中可以有一个或多个事实表,每个事实表引用任意数量的维度表。 星型模式的物理模型像一颗星星的形…

维度建模概述

1、维度建模 维度建模以分析决策的需求出发构建模型,构建的数据模型为数据分析服务。它重点解决如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。 因此,说白了,所谓的维度建模就是一种组织数据仓库的形式、模型…

ETL自学之路-02(维度建模)

一、维度建模的基本概念 1.1维度建模的定义 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法,数据集市可以理解为是一种小型的数据仓库。 1.2 维度表(dimension) 维度表示你…

维度建模

维度建模 维度模型简介 维度建模被广泛接受为数据分析的首选技术,因为它同时满足了两个需求: 1.向用户交付可以理解的数据 2.提供快速查询的性能 维度建模实体建模第三范式(3NF)建模适合表连接以及聚合计算的查询请求&#xff1…

数据模型建设-维度建模详解

5.2 维度建模 维度建模是一种将大量数据结构化的逻辑设计手段,包含维度和指标,它不像ER模型目的是消除冗余数据,维度建模是面向分析,最终目的是提高查询性能,所以会增加数据冗余,并且违反三范式。 维度建…

绘制彩色图的颜色直方图

计数直方图 在Opencv中已经集成了关于彩色图像直方图计算的函数,形式如下: import cv2cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])参数 images:array-like类型,要计算的图像(单张或多张)&a…

matplotlib 图像颜色直方图

参考学习 定义 cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) ->hist imaes:输入的图像channels:选择图像的通道mask:掩膜,是一个大小和image一样的np数组,其中把需要处理的部分指定为1,不需要处理的…

OpenCV—python 颜色直方图与直方图均衡化

文章目录 一、颜色直方图1.1 使用opencv展示直方图1.2 使用matplotlib绘制 二、直方图均衡化2.1 全局直方图均衡化与自适应均衡化2.2 使用查找表来拉伸直方图2.3 直方图均衡化—RGB2YCrCb2.4 直方图均衡化—RGB2YUV 一、颜色直方图 1.1 使用opencv展示直方图 函数 cv2.calcHis…

颜色直方图和颜色矩

来源:http://www.xuebuyuan.com/2019161.html 1、颜色直方图 颜色直方图所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。 …

颜色直方图 灰度图彩色图

1.读取照片 cv2.imread(图片路径,cv2.IMREAD_COLOR) 2.定义color变量(b,g,r) 代表三个通道 3.彩色图像为例 for i,col in enumerate(color):遍历…

基于MATLAB颜色直方图的图像检索

基于颜色直方图的图像检索 概述 在过去的十几年间,有许多知名机构都对图像检索系统进行了深入的研究,病开发出了相应的检索系统,例如IBM Almaden研究中心研制的QBIC系统,Virage公司研发的VIRAGE系统,麻省理工大学多媒体…