大白话数据建模
作者:苏靖鑫,DataWorks 产研团队
一、 前言
合理的数据架构关乎企业的命脉,能够协助企业数据资产长久健康发展。数据开发、数据资产、数据治理,而这一切都是围绕数据建模展开的。
数据研发同学JobModel 里也指出了这一点:不再局限于ETL 开发,会更侧重数据建模能力或者数据架构的能力。
关于建模的资料很多,或许涉及过多专业术语的缘故,可能不够清晰直白。因此我结合自己的理解,通过一个虚拟的案例,通过大白话给大家解释数据建模的专业术语,帮助大家快速理解。
二、 通过案例讲数据建模
Kimball 维度建模理论是目前在数据仓库领域中使用最为广泛的、也最得到认可和接纳的一项技术。目前集团数据团队工作规范就是基于它来开展,接下来我们来讲述维度建模理论的基础知识。
1. 度量与维度
当我们看到一个数字的时候,我们会想到什么?
很显然,单独一个2 无法让我们联想到任何事。我们加一些描述进去,再来看看?
加了描述以后,我们理解清楚了,原来2 代表的是小明同学在全家便利店购买的1瓶农夫山泉矿泉水,价格为2 元。
讲到这里,我们明白:单独一个数字无法描述任何现实,必须加上必要的上下文才
能让人理解。
在维度建模理论里,将数值记录(2 元)称之为度量,将上下文称之为维度,这个案例中,商品、商家和客户均是维度,维度建模便是通过这两个名词作为起点展开的。
2. 事实表
小明同学当天还购买了其他商品,数据如下所示:
这份记录购买记录的表格,由多行维度和度量构成的表格,称为事实表。它的每一行对应现实中的一个事实,这个事实被称为业务过程。
我们看到上述数据中,每一行的区分依据,是订单ID 和商品ID,称为事实表的粒度,粒度决定了事实表里每一行的细分程度。
事实表里除了记录商品ID,还记录了商品名称,称为维度属性。在实际数据处理中,事实表为了让其更可读、使用更便捷,往往会冗余一些维度属性。
《全链路数据治理-智能数据建模 》——大白话数据建模(2) https://developer.aliyun.com/article/1231149?groupCode=tech_library