关于大数据建模的主要技术:维度建模
维度建模理论和技术也是目前在数据仓库领域中使用最为广泛的、也最得到认可和接纳的一项技术。今天我们就来深入探讨 Ralph Kimball 维度建模的各项技术,涵盖其基本理论、一般过程、维度表设计和事实表设计等各个方面,也为我们后面讲Hadoop 数据仓库实战打下基础。 维度建模关键概念度量和环境维度建模是支持对业务过程的分析,所以它是通过对业务过程度量进行建模来实现的。星形架构是一种非规范化的结构,其数据存储存在冗余,比如考虑商品的维度表,其品牌信息在商品的每一行中都存在,包括其品牌 ID 、名称、品牌拥有者等。 通常很多商品的品牌都是一样的,所以在商品维度表中品牌的信息被重复存储了很多次,也就是存在冗余。 当有一个或者多个维度表没有直接连接到事实表,而是通过其他维度表连接到事实表上时,整个组合的形状就像雪花一样,这种架构被称为雪花架构。 2. 定义粒度定义粒度意味着对事实表行实际代表的内容和含义给出明确的说明,粒度传递了事实表度量值相联系的细节所达到的程度的信息。其实质就是如何描述事实表的单个行。 典型的粒度定义包括:
对于维度设计来说,在事实表粒度上达成一致非常重要,如果没有明确的粒度定义,则不能进入后面的环节。 在定义粒度过程中,应该最大限度地选择业务过程中最为原子性的粒度,这样可以带来后续的最大灵活度,也可以满足业务用户的任何粒度的分析需求。 3. 确定维度定义了粒度之后,相关业务过程的细节也就确定了,对应的维度就很容易确定。正如前文所述。 4. 确定事实确定事实通过业务过程分析可能要分析什么来确定。定义粒度之后,事实和度量一般也很容易确定,比如超市的订单活动,相关的度量显然是销售数量和销售金额。
在实际维度事实设计中,可能还会碰到度量拆分的问题,比如超市开展单个小票满 100减 10 元的活动,如果小票金额超过 10 元,这 10 元的优惠额如何分配到每一个小票子项实际设计中,可以和业务方具体讨论并制订具体的拆分分配算法。
(编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |