数据仓库——聚集

数据仓库基础笔记思维导图已经整理完毕,完整连接为:
数据仓库基础知识笔记思维导图

聚集

在对性能不断探索的过程中,聚集是最强大最、有效的数据处理工具。通过仔细规划和集成,聚集将队数据仓库性能产生巨大影响。无需针对特定的软件和硬件进行大量的投资,使用在数据仓库中已经存在的工具即可。与导出模式类似,聚集是一种补充性的数据结构,用来加快工作进度。聚集主要是通过汇总数据来获得改进性能的效果。

但是,聚集发挥作用,需要为每个查询选择正确的聚集,还需要为聚集填充数据并确保能够与基本数据模式保持同步。

理想的聚集对数仓用户是不可见的,每当需要时才默默地提供支持。理想的聚集也是免维护的,可以自动地建立和维护,不需要ETL开发人员介入。

聚集的基础知识

由于多维数据集首先是一种高性能的数据结构,因此构建汇总多维数据集的聚集几乎没有意义,然而如果原始多维数据集被调整为获得高容量而不是高性能,这样做是有用的。

汇总基本数据
  1. 在基本模式中存储粒度数据
  2. 在聚集中存储预先汇总的数据
  3. 描述聚集模式最方便的方法是描述事实表的粒度,与之相反的是描述什么被汇总
  4. 聚集模式的事实和维度要与基本模式中的事实和维度表示一直,这样才能确保获得一致的结果
  5. 为了性能上获得好处,聚集模式并不需要被优化的查询的粒度完全一致。
  6. 单个聚集并不能为所有查询带来性能方面的好处,可以采用多个聚集以不同的方法对同一个基本模式进行汇总。每个聚集预先跨不同维度计算数据,而不是采用连续级别的汇总,这样可以最大化聚集表能支持查询的数量
  7. 总会有一些查询不能通过聚集获得优化,任何需要访问粒度的查询,都必须被定向到原始星型模式
使用聚集

聚集星型模式中事实和维度属性与基本星型模型中相关的事实和维度属性一致,对利用聚集的查询的重写工作包含替换表名和关键字列。

对于某个给定的查询,在选择星型模式时,要获得最理想的性能,就需要考虑采用在事实表中具有行数最少并且能够回答查询的聚集星型模式。

仅仅允许有经验的开发人员拥有访问聚集的权利。终端用户和没有经验的开发人员仅允许访问基本星型模式。

加载聚集

围绕性能的原则开展设计工作,从原始星型模式构建聚集模式是有意义的,如果发生类型1变化,将导致增量式维度聚集更加困难。

通过采用一致性的概念指导聚集设计,能够保证汇总获得一致的结果,并使重写查询的过程变得尽可能简单。有助于保持ETL过程的简单。

将聚集表的来源定义在基本星型模式上可以确保结构和内容的一致性。

ETL过程中采用的表加载示例
  1. 加载基本维度
  2. 加载一致性上钻
  3. 加载基本事实表
  4. 加载聚集事实表
类型1变化

当基本数据和聚集被顺序加载时,若发生类型1变化,则需要重新加载聚集,而不是对其进行增量更新。

  • 基本模式被更新后,删除并重新建立聚集。这种方法通常要做的处理工作少,一些工具以此方式自定建立聚集表或者多维数据集
  • 在聚集时不使用类型1属性,类型2变化不会引起类似的问题,因为不会改变先前记录事实的环境。
作为聚集的多维数据集

当采用多维数据集存储维度设计时,为获得高性能,其数据集已经警醒过优化,因此没有必要汇总多维数据集。

多数体系结构都采用混合使用星型模式和多维数据集的方式。星型模式易于拓展,而多维数据集易于获得高性能。最佳的方法是利用星型模式存储粒度数据,细节数据,而多维数据集包含高性能的获取结果。这一安排十许多数据仓库实现获得成功的基础,由于都具有维度特性,多维数据集和星型模式存在天然的亲和性。多数维度产品都被建立成为支持从基本星型模式构建和设计多维数据集的方式。

使聚集不可见

聚集模式与数据库索引类似,与索引一样,为使查询更加快捷,聚集模式需要占用一些额外的空间。在利用聚集时需要重写查询,需要加载和维护聚集,同时保持聚集于原始模式的同步。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化资料的朋友,可以戳这里获取

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值