
数据建模
泽米
个人微信公众号:小刘三两事。欢迎订阅,一起分享生活。
展开
-
数据建模-大宽表和事实+维度的区别
什么是大宽表?基于事实表,冗余业务常用的维度以及标签,通过一张表对外提供赋能。优点:1.用户使用方便,通过一张表以及对应标签、维度的筛选就可以得到对应的数据。缺点:1.如果遇到废弃字段、新增字段、修改逻辑等需求,数据开发人员维护成本较高。2.标签口径因为沉淀在大宽表中,不太方便做到口径一致性管理,如果其他事实表用到对应标签,则可能也需要在自身逻辑中做同样的处理,万一逻辑变更且没有通知到位,则容易出现不一致的情况。3.产出时间,平时工作场景中增加字段是比较常见的情况,增加字段对应的可能就是原创 2021-03-31 11:36:17 · 5401 阅读 · 2 评论 -
数据仓库分层的优点
数仓分层优点:1.解耦,降低出问题的风险。2.各层干各层该干的事,使用者根据层名以及对应的需求便可找到所需的数据。3.数据流向规范,避免循环依赖的发生。4.统计计算口径,减少重复开发。5.将问题拆分,放到各层去解决,将复杂问题简单化,每一层都产出不同的数据,有助于问题归因和数据分析。...原创 2021-03-08 10:08:16 · 2652 阅读 · 0 评论 -
数据建模之总线矩阵
定义:总线矩阵提供一种分解企业DW/BI规划任务的合理方式,行是业务过程,列是公共维度(一致性维度),图表中的X表示的是哪些列与哪些行有关系,也表示这一个业务过程需要有哪些公共维度。先看一个总线矩阵的示例图(出自kimball的书):必要性企业数据仓库总线矩阵是DW/BI系统的一个总体数据架构,如果我们在建立数据仓库的时候,只考虑单独的某个业务系统的数据建设,则无法满足一致性的目标,例如:相互有联系的系统数据的维度不同导致关联复杂或者关联不上,数据之间互相成为了孤岛,对于后期的扩展或者整原创 2020-07-27 20:40:20 · 13774 阅读 · 1 评论 -
什么是全量表,增量表,快照表,拉链表?
这一篇文章我们的目的是搞懂这四种表的概念,闲话不多说,直接看文字。全量表全量表没有分区,表中的数据是前一天的所有数据,比如说今天是24号,那么全量表里面拥有的数据是23号的所有数据,每次往全量表里面写数据都会覆盖之前的数据,所以全量表不能记录历史的数据情况,只有截止到当前最新的、全量的数据。快照表那么要能查到历史数据情况又该怎么办呢?这个时候快照表就派上用途了,快照表是有时间...原创 2019-08-24 11:52:56 · 28196 阅读 · 7 评论 -
数据倾斜的解决方案
目录方案一方案二这篇文章给大家介绍两种数据倾斜的代码层解决方案。方案1:硬编码,将倾斜的值打散。方案2:map join背景:多张表在进行关联时,可能有一个key的值非常多,导致某个reduce处理时间过久,此时产生了数据倾斜。方案一 硬编码方案1是用拆分空值和总量较多的key值进行优化。举例:table 2和table 1关联,key为ucid,table 2 的ucid非常随机,且有一两条ucid为-911的数据,总体没有倾斜。table1的数据中有许..原创 2020-07-23 15:54:16 · 616 阅读 · 1 评论 -
什么是杂项维度?
杂项维度是对低粒度标志和指标的分组。形象的解释就是将一些具有有限枚举值的字段值拼接在一起作为一行或者是多个字段的可能值不进行拼接而是作为多列组合,最后在杂项维度行中呈现。事务型商业过程通常产生一系列混杂的、低基数的标志位或状态信息。与其为每个标志或属性定义不同的维度,不如建立单独的将不同维度合并到一起的杂项维度。这些维度,通常在一个模式中标记为事务型概要维度,一般不需要所有属性可能值得笛卡尔积,但应该至少包含实际发生在源数据中得组合值(不需要所有可能值的笛卡尔组合,至少要包括经常发生的几种状态的原创 2020-07-20 20:48:50 · 2398 阅读 · 1 评论 -
数仓建模知识讨论和分享
这里主要是想和大家讨论讨论数据建模的知识,大家把想了解的一些问题以及对一些问题的见解可以在评论区域发出来,然后我刊登在正文里面,做一个知识集中库。例如:1.数仓建模中的全量表和增量表的区分是什么?答:https://blog.youkuaiyun.com/a6822342/article/details/106480314大家热烈讨论呀~...原创 2020-06-15 10:40:18 · 386 阅读 · 1 评论 -
星型模型和olap多维数据库
首先明确一个概念,星型模型只是种模型,不是一种实际存在的数据实体,它是将事实表和维度表通过外键组合起来的一种模型,一种建模方式。而olap多维数据库是真实存在的一种数据形式,源自星型模型,通过星型模型的构建理念得到的事实表和维度表关联之后的数据集合,它具备许多不同的分析角度的维度,方便分析人员进行不同维度、不同需求的数据分析。例如OLAP Cube的概念,它是将星型模型做多维预计算处理,形...原创 2020-02-06 10:14:35 · 2559 阅读 · 2 评论 -
OLTP和OLAP的区别(个人理解)
在刚接触数据建模的时候,我对这两个概念也不是熟悉,只知道数据仓库中有olap类型的表,适合数据分析人员进行数据的上卷下钻(根据一定的维度属性进行数据统计)而一般的事务数据库的表类型是oltp,主要用于事务处理,后面慢慢了解之后才知道olap和oltp的区别。oltp是On-Line Transaction Processing:联机事务处理,olap是On-LineAnalytical Pr...原创 2019-12-22 19:07:58 · 6426 阅读 · 1 评论 -
数据建模理论小结:Inmon和Kimball
看了这么多数仓模型的对比文章,我想把我总结的一些东西记录下来。说到数仓建模,那么肯定离不开两种方式:范式建模(Inmon)和维度建模(kim ball)。这两种方式各有适用的地方,需要根据具体应用场景进行选择。当然还有一种独立数据集市的方法,不过这种方法容易造成很多数据烟囱以及数据孤岛(没有一致性维度和一致性事实的支持,是无法支持支持多主题区域,并且使得各个数据集市成为信息孤岛,缺乏兼容...原创 2019-12-21 13:06:07 · 4715 阅读 · 5 评论 -
什么是可加,半可加,不可加事实?
众所周知,数据仓库的事实表中是有数字度量的,一般会根据这些数据度量以及提前规定好的一致性维度来进行统计等工作。那么事实表中的数组度量分三种:1.可加事实,2.半可加事实,3.不可加事实下面让我们来看看它们的定义与区别1.可加事实可加事实指的是该度量可以按照和事实表关联的任一维度进行汇总。比如商品的单价,可以按照品类维度进行汇总,按照店铺维度进行汇总等等。2.半可加事实...原创 2019-10-06 13:11:20 · 5554 阅读 · 0 评论 -
缓慢变化维学习
一开始看到这个词的时候给我的第一印象就是拉链表,缓慢变化表拥有从表创建开始到现在的所有数据,包括状态变化的数据。那么什么是缓慢变化表呢?首先要来了解一下什么是缓慢变化维,就是在业务进行过程中,会发生变化,但又不会频繁变化的维度。假如现在有一张员工表,里面有A,B,C三位员工,里面纪录了员工的一些基本信息,例如工作地点,职级,员工id等信息。 员工id ...原创 2019-09-06 11:19:52 · 499 阅读 · 0 评论 -
如何设计一张事务事实表?
根据书籍:大数据之路,设计一张事务事实表的步骤分以下几步:1.选择业务过程在设计事实表的时候,首先得知道这张事实表要记录什么事实,也就是说,对应的业务过程是什么,是关于下单这个业务过程,还是支付还是交互之类的。2.确定粒度业务过程选定以后,就要针对每个业务过程确定一个粒度,即确定事务事实表每一行所表达的细节层次。(以“组织结构”为例,比如一个层级结构式:总公司,分公司,...原创 2019-09-05 11:44:09 · 2473 阅读 · 0 评论 -
什么是退化维度?
退化维度的维度表可以被剔除,从而简化维度数据仓库的模式。因为简单的模式比复杂的更容易理解,也有更好的查询性能。当一个维度没有数据仓库需要的任何数据时就可以退化此维度。需要把退化维度的相关数据迁移到事实表中,然后删除退化的维度。维度属性也可以存储到事实表中,这种存储到事实表中的维度列被称为“退化维度”。与其他存储在维表中的维度一样 ,退化维度也可以用来进行事实表的过滤查询、实现聚合操作等。那...原创 2019-08-30 16:59:41 · 23980 阅读 · 5 评论 -
事实表的分类:事务事实表,周期快照事实表,累计快照事实表
维度建模数仓领域中的事实表大致分以下三种:事务事实表,周期快照事实表,累计事实表。事务事实表与周期快照事实表、累积快照事实表虽然使用相同的一致性维度,但是它们在内容构成以及业务描述上还是有很大的区别。1.事务事实表事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务记录一条记录。一旦事务被提交,...原创 2019-08-11 14:41:01 · 23064 阅读 · 6 评论 -
原子指标和衍生/派生指标
按照个人的理解,不加任何修饰词的指标就是原子指标,也叫度量,一般存在于olap表中,例如订单量,用户量的等等。而在原子指标上进行加减乘除或者修饰词的限定等等都是派生指标,衍生/派生指标=原子指标+时间周期+修饰词例如:近7天订单量,近7天北京市的订单量,近1个月北京市的新增用户数,近7天的订单成交率等等。当然,通过原子指标加减乘除得到的指标也是衍生指标。...原创 2019-08-03 00:52:17 · 16782 阅读 · 2 评论