数据仓库——聚集

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

聚集

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

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

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

聚集的基础知识

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

汇总基本数据

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

使用聚集

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

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

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

加载聚集

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

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

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

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

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

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

作为聚集的多维数据集

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

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

使聚集不可见

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

聚集导航

聚集导航能力消除了再编写查询时,需要开发人员选择基本星型模式或是一个或多个聚集的需要。工具以不同的方式、以结构的不同部分提供此种能力。聚集导航还能够提供其他额外的好处。

用户很难选择使用哪个星型模式组合,所以一般不对终端用户开放聚集,但是,也因此用户构建报表时不能获得聚集所带来的的性能方面的好处。

聚集导航是通用的来描述选择基本星型模式还是一个或多个聚集的术语,完成这种服务的软件产品或功能通常被称为聚集导航。

其他潜在的好处
  • 随意改变聚集,如果没有聚集导航器,在查询中就需要清楚地写明如何利用聚集。在数据库中增加新的聚集时,若要利用它,则需要重写已经存在的查询与报表。并且使随时添加和删除聚集成为可能,当从数据库增加或者删除聚集时,不需要重新考虑存在的报表,聚集导航器可以意识到发生的变化。
  • 离线或在线放置聚集,它可以提供按需使聚集离线的能力,在重建或刷新聚集时,聚集离线时,聚集不可用使性能降低,但是不会停止工作
  • 异构数据库,聚集导航器不只是简单重写SQL,还需要将其定向到不同的物理数据库上,这些数据库可能来自不同的提供商,或者需要将sql转换成另外一种语言,极大地扩展了解决方案的灵活性。
  • 异构前端,理想的聚集导航工具将会重写所有查询,无论查询是由商业智能工具,还是报表工具或命令行SQL实用程序提供的。

建立聚集和维护聚集

不可见聚集的另一部分是处理聚集的自动构建和维护工作。

建立聚集星型模式或聚集多维数据集工具通常会提供用户界面,开发人员可以利用该节点定义所需聚集的特征。聚集或多维数据集的建立工具通常是按照对星型模式和维度数据来建立的,这些产品能理解诸如事实、维度、代理键、自然键、缓慢变化等概念。

允许数据库管理系统维护聚集结构有时需要放弃对聚集维护和更新的完全控制,为了精确控制,如果不愿使用这种自动化方法,通常将建立和维护聚集工作放在ETL过程中。

层次和聚集

属性层次表示了一种存在于维度表数据中的主从关系,与属性间的父子关系不需要钻取数据一样,他们也不需要定义汇总层次。然而多数公户建立的聚集表火多维数据集都能够支持层次,在此情况下,围绕这些关系定义并文档化聚集可能会具有价值。

可选的汇总设计方案

遵循基本模式的维度聚集只是组织汇总存储的一种方式,并且单一表设计可能会带来麻烦。

对基本星型模式进行转换和汇总是一种导出模式而不是聚集,他也能够提供有用的性能好处,利用导出模式的查询与利用基本模式的查询在结构上存在区别。

单一事实表设计的目的是通过将汇总数据和细节数据存储在一起,而不是分别放在不同表中来简化聚集的存储。不要在同一表中存储不同层次的聚集,如果这样做,将会导致双重静思园或者更糟糕的事。需要避免双重计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/791193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11安装wsl报错:无法解析服务器的名称或地址

一 说明 项目开发中,需要用到wsl,因此根据wsl官方(WSL安装教程)命令 wsl --install 进行wsl的安装。而本文主要是记录自己在安装wsl中遇到的问题 “无法解析服务器的名称或地址” 的解决办法。 二 方法一:更改DNS&…

在Go语言中如何避免接口污染

在设计和构造代码时,接口是Go语言的基石之一。然而,就像许多工具或概念一样,滥用它们通常不是一个好主意。接口污染就是用不必要的抽象使我们的代码变得难以理解。这是来自另一种编程语言具有不同习惯的开发人员经常犯的错误。在深入讨论这个话题之前,让我们重新思考一下Go…

Java文件内容查找:简单实现与应用

一、Java文件内容查找的基本原理 在Java中,文件内容查找可以通过读取文件并逐行检查每一行内容来实现。基本的流程包括以下几个步骤: 打开文件:使用Java的文件操作类(如FileInputStream)打开要查找的文件。 逐行读取…

算法练习----力扣每日一题------6

原题链接: 1379. 找出克隆二叉树中的相同节点 - 力扣(LeetCode) 题目解析: 给两个二叉树,original和它的克隆树cloned,二者存的数据和数据的相对位置完全一样,给一个o树里的节点target,求对应的…

Kotlin作用域函数:let、also、run、apply、with

​​​​​​​ let函数 使用场景:可空变量的操作,无需判空 p?.let {it.name "lily"it.age "21"} also函数 使用场景:多个扩展函数链式调用(返回值是本身) p?.also {it.name "den…

HCIA-RS基础-VLAN技术原理和配置

目录 VLAN 技术原理和配置1. VLAN 技术的背景2. VLAN 标签的产生方法3. VLAN 标签的应用规则4. VLAN 的配置总结 VLAN 技术原理和配置 1. VLAN 技术的背景 VLAN(Virtual Local Area Network)是一种逻辑上划分网络的技术,可以将一个物理局域…

Postman 请求参数传递指南:Query、Path 和 Body 详解

Postman 是一个非常流行的 API 开发环境,它允许开发者测试、开发和文档化他们的 API。在 Postman 中,当你发送一个请求时,你可能需要将参数传递给服务器。这些参数可以通过不同的方式传递,例如 Query Parameters(查询参…

使用 select 标签,1 分钟完成一个简单的下拉菜单

在网上冲浪时,我们经常遇到需要做出选择的情况,比如选择你喜爱的电影类型、预订酒店的房间类型或者在网购时挑选衣服的尺码。 这些选择往往通过一个简洁明了的下拉菜单来实现,让我们的决策过程变得轻松愉快。这个神奇的下拉菜单,…

算法打卡day25

今日任务: 1)491.递增子序列 2)46.全排列 3)47.全排列 II 491.递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列&#xff0c…

composure合成透明通道

composure合成透明通道 2022-05-23 08:59 [技巧分享]使用配有HDRI的背板的进行合成 Using Composure with a Bac - 1.Using Composure with a Backplate and H.mp41启用插件2线性色彩空间3打开合成面板4面板新建合成新建三个图层 FG前面物体,背景物体 去掉阴影 flo…

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册 概述: 1)Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 Zabbix由两部分构成,Zabbix Server与可选组件Zabbix Agent。通过C/S模式采集数据,通过B…

60道Java经典面试题总结

1、Spring 有几种配置方式&#xff1f; 1、xml 配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:…

量化交易入门(四十一)ASI指标Python实现和回测

老规矩先上图&#xff0c;看看ASI指标使用苹果数据回测后的结果如何。 一、策略运行结果 执行的结果&#xff1a; Starting Portfolio Value: 100000.00 Final Portfolio Value: 92514.82 Annualized Return: -1.93% Sharpe Ratio: -0.27 Max Drawdown: 25.34% Max Drawdown …

【教学类-09-04】20240401细线迷宫图03(A4横版一页-4份横版)

作品展示&#xff1a; 背景需求&#xff1a; 【教学类-09-02】20240331细线迷宫图01&#xff08;A4横版一页1份横版&#xff09;-CSDN博客文章浏览阅读779次&#xff0c;点赞28次&#xff0c;收藏6次。【教学类-09-02】20240331细线迷宫图01&#xff08;A4横版一页1份横版&…

pm2进程监控

pm2 npm install -g pm2 npm install -g pm2-web //linux有效 command pm2 logs&#xff0c;实时显示日志pm2 list&#xff0c;查看启动进程pm2 stop id[name]&#xff0c;关闭进程&#xff0c;all所有pm2 kill&#xff0c;关闭所有pm2 monit&#xff0c;查看详细信息pm2 star…

汽车电子行业知识:UWB技术及应用

文章目录 1.什么是UWB技术1.1.UWB测距原理1.2.UWB数据传输原理2.汽车UWB技术应用2.1.UWB雷达2.1.1.信道的冲击响应CIR2.2.舱外检测目标2.3.舱内检测活体2.3.1.活体检测原理2.4.脚踢尾箱开门2.4.1.脚踢检测原理1.什么是UWB技术 UWB(ultra wideband)也叫超宽带技术,是一种使用…

机器学习周记(第三十二周:文献阅读-时空双通路框架)2024.3.25~2024.3.31

目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文模型 1.3.1 Spatial Encoder&#xff08;空间编码器&#xff09; 1.3.2 Temporal Encoder&#xff08;时间编码器&#xff09; 2 相关代码 摘要 本周阅读了一篇运用GNN进行时间序列预测的论文。论文…

【数据处理包Pandas】分组及相关操作

目录 一、初步认识分组并查看分组信息&#xff08;一&#xff09;通过聚合函数查看分组信息&#xff08;二&#xff09;转换成列表查看所有组的信息&#xff08;三&#xff09;通过循环查看各组的名称和组中的数据信息&#xff08;四&#xff09;通过get_group()方法直接获得一…

速盾:怎么通过cdn防御ddos

随着互联网的发展&#xff0c;网络安全问题日益突出&#xff0c;其中DDoS&#xff08;分布式拒绝服务&#xff09;攻击成为最常见的一种攻击手段。这种攻击方式通过利用大量的请求来占用服务器资源&#xff0c;导致正常用户无法访问网站。为了防御DDoS攻击&#xff0c;CDN&…

【蓝桥杯练习】tarjan算法求解LCA

还是一道比较明显的求LCA(最近公共祖先)模型的题目,我们可以使用多种方法来解决该问题&#xff0c;这里我们使用更好写的离线的tarjan算法来解决该问题。 除去tarjan算法必用的基础数组&#xff0c;我们还有一个数组d[],d[i]记录的是每个点的出度&#xff0c;也就是它的延迟时间…