专栏首页数据社浅谈数仓一致性维度

浅谈数仓一致性维度

1、一致性维度的概念

维度建模的数据仓库中,有一个概念叫Conformed Dimension,中文一般翻译为“一致性维度”。一致性维度是Kimball的多维体系结构中的三个关键性概念之一,另两个是总线架构(Bus Architecture)和一致性事实(Conformed Fact)。

在多维体系结构中,没有物理上的数据仓库,数据仓库是由物理上的数据集市组合成,是一个逻辑概念。数据集市的建立是可以逐步完成的,多个数据集市组合在一起,成为一个数据仓库。那么如果分步建立数据集市的过程出现了问题,数据集市就会变成孤立的集市,不能组合到整个数据仓库中,而一致性维度的提出正式为了解决这个问题。

一致性维度的范围是总线架构中的维度,即可能会在多个数据集市中都存在的维度,这个范围的选取需要数据架构师来决定。一致性维度的内容和普通维度并没有本质上区别,都是经过数据清洗和整合后的结果。

一致性维度建立是在多维体系结构的后台,即数据准备区。在多维体系结构的数据仓库项目组内需要有专门的维度设计师,他的职责就是建立维度和维护维度的一致性。在后台建立好的维度同步复制到各个数据集市。这样所有数据集市的这部分维度都是完全相同的。建立新的数据集市时,需要在后台进行一致性维度处理,根据情况来决定是否新增和修改一致性维度,然后同步复制到各个数据集市。这样不同数据集市的维度就可以保持一致。

在同一个集市内,一致性维度的意思是两个维度是有关系的,要么就是完全一样的,要么就是一个维度在数学意义上是另一个维度的子集。例如,如果建立月维度,月维度的各种描述必须与日期维度中的完全一致,最常用的做法就是在日期维度上建立视图生成月维度。这样月维度就可以是日期维度的子集,在后续钻取等操作时可以保持一致。如果维度表中的数据量较大,出于效率的考虑,应该建立物化视图或者实际的物理表。

这样,维度保持一致后,事实表就可以保存在各个数据集市中。虽然在物理上是独立的,但在逻辑上由一致性维度使所有的数据集市是联系在一起,随时可以进行交叉数据探索等操作,同时也就组成了数据仓库。

一致性维度的交付步骤

数据整合的关键就是生成一致性维度,再通过一致性维度将来自不同数据源的事实数据合并到一起,供分析使用。通常来说,生成一致性维度有如下三个步骤:

1.标准化(Standardizing)

标准化的目的是使不同数据源的数据编码方式,数据格式等相同,为下一步数据匹配打下基础(数据标准化中的代码标准化过程)。

2.匹配(Matching and Deduplication)

数据匹配的工作有两方面,一是将不同数据源的标识同一事物的不同属性匹配到一起(例如:客户的不同产品),使数据更完善;另一是将不同数据源的相同数据标识成重复,为下一步的筛选打下基础(例如:来源于不同数据源中重复的客户姓名)。

3.筛选(Surviving)

数据筛选的主要目的是选定一致性维度作为主数据(Master Data),也就是最终交付的一致性维度数据。

3、维度建模要点

选取业务处理,定义事实表的粒度,选定维度,确定事实;这四部是维度建模要点,这种方法,容易造成大量的数据烟囱,在模型管理和控制不好的情况下会造成数据与计算资源复用率低下,数据仓库数据量大量膨胀,同时存在数据模型缺乏体系性,使用数据复杂。

针对以上问题,应在于要在选取业务阶段,数据模型设计者需要具有全局和发展的视角,应该理解整体业务流程的基础上,从全局角度选取业务处理。首先数据仓库的模型设计者应该分析源系统的实体关系模型以及业务流程,选取在整体业务流程中的关键实体作为建模的基础,建立这些实体对象的数据粒度关系,因为不同粒度的数据是不能融合的一个事实表中的。通常可以从以下三个角度来建立事实表:

1.针对某个特定的行为动作,建立一个以行为活动最小单元为粒度的事实表。最小活动单元的定义,依赖于分析业务需求。比如用户的一次网页点击行为、一次网站登录行为,一次电话通话记录。这种事实表,主要用于从多个维度计,行为的发生情况,主要用于业务分布情况,绩效考核比较等方面的数据分析。

2.针对某个实体对象在当前时间上的状况。我们通过对这个实体对象在不同阶段存储它的快照,比如账户的余额、用户拥有的产品数等,通过这种可以统计实体对象在不同的生命周期中的关键数量指标。

3.针对业务活动中的重要分析和跟踪对象,统计在整个企业不同业务活动中的发生情况。比如会员,可以执行或参与多个特定的行为活动。这种事实表是以上两种事实表的一个总结和归纳。它主要用于针对我们业务中的活动对象进行跟踪和考察。

本文分享自微信公众号 - 数据社(DataClub)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-11-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 日志收集组件—Flume、Logstash、Filebeat对比

    数据的价值在于把数据变成行动。这里一个非常重要的过程是数据分析。提到数据分析,大部分人首先想到的都是Hadoop、流计算、机器学习等数据加工的方式。从整个过程来...

    数据社
  • 如何利用数据仓库进行数据分析

    首先,我们来了解一下数据仓库吧!数据仓库是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合。

    数据社
  • 数据挖掘从入门到放弃(一):线性回归和逻辑回归

    “ 数据挖掘算法基于线性代数、概率论、信息论推导,深入进去还是很有意思的,能够理解数学家、统计学家、计算机学家的智慧,这个专栏从比较简单的常用算法入手,后续研究...

    数据社
  • 量化、傅里叶变换、风险模型及其他

    世界有很多角度,而我们却只能看到一个,并深陷其中,自信不已。每一个角度有不同的维度组合来观察世界。

    钱塘小甲子
  • 大数据分析基础——维度模型

    维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。

    高广超
  • 元数据流程管理思考

    在运维开发中,经常会有类似的需求,这里的数据变化了,另外一个地方也应该发生变化,应该实现级联,看起来是很简单的需求,但是什么时候触发,触发时需要做哪些检查,这些...

    jeanron100
  • 最新维度建模学习笔记

    导读:小丘哥哥最近学习维度建模,整理了一些学习心得,跟大家一起分享一下,相互学习,共同进步,感觉好文章底部点个赞,鼓励一下小丘哥哥哈哈。

    Lenis
  • 干货笔记,数据仓库工具箱

    《数据仓库工具箱—维度建模的完全指南》是数据仓库建模方面的经典著作, 1996年第一版出版被认为是数据仓库方面具有里程碑意义的事件。作者kimballl是数据仓...

    肉眼品世界
  • HSDB-超维时空数据库

    HSDB是具备万维数据描述和存储能力的超维时空数据库,能够覆盖IoT数字孪生六大维度集,包括具有时间序列特征的行为/状态和具有空间坐标特征的位置/关系。

    要不要吃火锅
  • 初创公司数据仓库的建设实践

    早期的数据服务中存在不少问题,虽然在做运营Dashboard系统时,对后台数据服务进行了梳理,构建了数据处理的底层公共库等,但是仍然存在一些问题:

    大数据学习与分享

扫码关注云+社区

领取腾讯云代金券