SSAS(3)_ssa怎么算

SSAS(3)_ssa怎么算介绍SSAS的存储,涉及:理解分区度量组分区的变更与创建分区的存储模式与区别:MOLAP、ROLAP、HOLAP主动缓存的作用以及低延迟分区的配置  *网上看到有翻译成“预先缓存”的理解聚合部署SSAS对象;自动调度处理SSAS对象使数据最新提及数据延迟的问题,再回到ETL工具SSIS,补充一个实际应用话题:在SSIS中如何捕获上游变更数据(Change DataCap

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

介绍SSAS的存储,涉及:

  • 理解分区
  • 度量组分区的变更与创建
  • 分区的存储模式与区别:MOLAP、ROLAP、HOLAP
  • 主动缓存的作用以及低延迟分区的配置  * 网上看到有翻译成“预先缓存”的
  • 理解聚合
  • 部署SSAS对象;自动调度处理SSAS对象使数据最新

提及数据延迟的问题,再回到ETL工具SSIS,补充一个实际应用话题:

  • 在SSIS中如何捕获上游变更数据(Change Data Capture,简称:CDC)

书名:MCTS Self-Paced TrainingKit(Exam 70-448): Microsoft SQL Server 2008 – Business Intelligence Development and Maintenance

 

第7章管理SSAS存储、处理(Processing)与部署

      在SSAS或OLAP技术中,如何尽可能使用最小存储空间,使大数量数据查询性能最优化,是需要考虑的问题之一。此外,在Cube的生命周期阶段,两项管理任务也需掌握,即部署和处理SSAS对象。

课程1:度量组分区(partitions)和聚合(Aggregations)的定义

1 分区

SSAS存储度量组数据的物理单元称为分区(partition)。一个分区定义装载入一个度量组中事实表数据的切片。

2 创建新分区的理由

默认情况下,一个度量组,一个分区,存储源事实表中所有数据。一般,创建额外的分区有两大理由:

1)提高性能,假设数据未被缓存或以分组形式存储,如果一个度量组只有一个分区,服务器必须扫描整个(物理)分区,找出符合查询的数据。例如,假设事实表有4年销售数据,如果按年设置分区,查询第4年销售额时,服务器只需扫描第4年销售数据的(物理)分区,无需要扫描所有数据(4年)再进行计算,且分区可被并行扫描。

2)优化管理,分区可以有不同存储模式和组合方式,方便独立管理。动手试验中的练习3可以说明这一点。

分区的几点考虑

1)策略之一,按时间分区(按年、季度、月)。

2)一般,分区不建议少于4000行或者超出2千万行数据。

创建度量组分区

BIDSSSMS都提供向导工具设置分区。

1)更改默认的分区切片

2)添加一个新的分区

3)选择分区的存储模式

分区的存储模式(Partition Storage Mode

1) 一个cube的逻辑存储模式主要有2层元,数据(metadata)和数据,还可以有第3层,聚合(aggregations)。这里指的元数据,使Cube以逻辑化的实体呈现给最终用户,元数据一直存储在SSAS服务器上。但作为管理人员,可以控制cube数据的存储位置和组合。

2)存储模式

SSAS支持三类存储模式,

– MOLAP(multidimensiional OLAP),多维在线分析处理

– ROLAP(relational OLAP),关系型

– HOLAP(hybird OLAP),混合型

不同存储模式的比较

 

模式

查询时间

延迟

处理时间

存储大小

MOLAP

中等

ROLAP

HOLAP

中等

中等

 

3) MOLAP

MOLAP是默认的存储方式,数据和组合都是存储在以文件为基础的多维结构中,由SSAS服务器创建和管理,查询和处理性能比较好。在MOLAP模式下,数据是重复的,既存在数据源中,也存在Cube中,当cube处理时,数据由服务器从数据源进入Cube中。MOLAP延迟性较高是因为只有当(物理)分区处理完后,新数据才会存在。但是,管理人员可以使用主动缓存(proactive cache)尽可能实现实时(real-time)的数据刷新。

4) ROLAP

在ROLAP模式下,cube的数据和组合仍在关系型数据库中,若有聚合,SSAS服务器必须创建额外的关系型表存储cube聚合,查询、处理性能较低,但实时性较高。

5) HOLAP 

在HOLAP模式下,cube数据仍关系型存储,聚合存储在SSAS服务器上。在实际中,HOLAP只适用大型历史分区且查询不频繁。

6)存储模式的配置

6 主动缓冲(proactive caching)

1)在MOLAP和HOLAP模式下,SSAS缓冲数据(仅MOLAP)和组合(MOLAP和HOLAP)。但是,一个Cube处理完得到一个数据快照(snapshot),这个数据可能是过时的除非再次处理这个Cube。多数OLAP数据延迟的可接受程度取决于业务需求,可能要求最新甚至实时,主动缓冲就是用来解决这个问题。

2)主动缓冲的工作原理:启动主动缓冲后,服务器可以监听到数据变更的通知,并动态更新维度或度量。

3)主动缓冲有三个监听数据变更通知事件的类型(假设是MOLAP模式的Cube)

– SQL Server

– 客户端发起

– Scheduled Polling

4)优化主动缓冲

– silence interval

– latency

5)启动主动缓冲

SSAS预定义了几种分区存储配置(含主动缓冲的配置)

– real-time ROLAP/HOLAP

– low/medium-latency MOLAP

– automatic/scheduled MOLAP

– MOLAP

7 聚合

1)一个聚合往往包含一个度量组中所有按各种属性组合的汇总度量值,预先定义计算。设计、构建有用的聚合可以提高查询响应速度。

2)但是,过多的聚合会占用大量的存储空间,并且当Cube处理时聚合才会被创建,从而增加Cube的处理时间。

3)BIDS和SSMS均提供“聚合设计向导”工具设计合理的聚合。

8 动手试验:定义度量组的分区和存储

练习1:创建度量组分区

AdventureWorksDW2008R2样本数据库存储了4年数据,按年(物理)分区Internet Sales度量组。

1)双击之前创建好的Adventure Works cube,进入分区(partitions)页面。

2)展开“Internet Sales”度量组,默认情况下,只有一个分区,绑定整个FactInternetSales事实表,表绑定(Table Binding)类型。

3)将默认分区重命名为“Internet Sales 2005”,绑定类型更改为“Query Binding”,查询语句:

SELECT *

FROM [dbo].[FactInternetSales]

WHERE OrderDateKey <= 20051231

4)点击“new partition”,同理,添加新分区“Internet Sales 2006”,Query Binding,查询语句:

SELECT *

FROM [dbo].[FactInternetSales]

WHERE OrderDateKey >= 20060101 and OrderDateKey <= 20061231

5)同理,添加新分区“Internet Sales 2007”和“Internet Sales 2008”。

6)部署,数据并没有分区而发生变化,只是物理存储结构变了。

【软件】SSAS开发与维护(3)

练习2:选择分区存储模式

使用“SQL Server Profiler”分析器工具,理解不同存储模式对查询的影响。

1)打开“SQL Server Profiler”分析器工具,新建一个跟踪,选择数据库引擎,连接本地数据库,点击运行按钮开始监测关系型数据库的各项活动。

2)在BIDS中,打开Adventure Works Cube,进入“浏览”页面,拖拽几个维度或度量创建一个Pivot报表。在Profiler分析器中,没有显示select语句发送到AdventureWorksDW2008R2数据库,因为MOLAP模式是多维结构服务器存储。

3)假设将2005年作为历史数据,在BIDS中,将“Internet Sales 2005”分区更改为HOLAP模式。部署。

【软件】SSAS开发与维护(3)

4)在“浏览”页面,将“Date.Calendar”层次结构拖拽至Pivot的列部分,“Internet Sales Amount”度量托拽至Pivot的数据部分。在Profiler分析器中,服务器发送并返回报表组合结果(2005年的销售统计)的Select语句被监测、显示了。从中可以发现未设聚合的HOLAP存储模式,指向一个HOLAP分区的所有查询将被发送至关系型数据库。

5)将“Internet Sales 2005”分区重新更改为MOLAP模式。部署。

【软件】SSAS开发与维护(3)

练习3:配置主动缓存

使用SSAS主动缓存的特性实现一个低延迟的分区,假设Adventure Works cube同步底层数据源中2008年销售数据的变化。

1)选中之前创建好的“Internet Sales 2008”分区,点击“Storage Settings”,选择“Automatic MOLAP”模式。

【软件】SSAS开发与维护(3)
2)点击“选项”,启动主动缓冲,“通知”页面,选择“SQL Server”,点选“Specify tracking tables”,选择“dbo.FactInternetSales”。部署。【软件】SSAS开发与维护(3)
3)在“浏览”页面,设计按年统计销售额的报表。

4)在SSMS中,手动更新“dbo.FactInternetSales”表中2008年最后一条记录的销售额+1000,返回Cube 3),会发现2008年的销售额发生变化,增加了1000。

【软件】SSAS开发与维护(3)

练习4:根据向导设计聚合(略)

 

课程2:部署SSAS对象

动手试验:

练习1:使用向导部署(主要步骤)

1)在BIDS中,编译“TK 70-448 SSAS Project”项目,编译好的文件存储在(\TK 70-448 SSAS Project1\bin)目录下。

2)开始菜单,选择SQL2k8 Anaysis Services中的“Deployment Wizard”,根据向导,一步一步完成部署过程。

课程3:处理(Processing)SSAS对象

在课程1中,对采用MOLAP存储模式的cube而言,如果不启用\配置主动缓冲(proctive caching)特性,必须处理(Process)SSAS对象使数据最新。当一个对象处理时,SSAS服务器向数据源发送“select”语句,并将结果装载至这个对象中。

练习1:增量处理Dimensions维度。

1)在SSMS中,打开AdventureWorksDW2008R2数据库中的DimSalesTerritory表,更改“SalesTerritoryGroup”列,将France更改为“Pacific”。

2)在SSMS中,右击“Adventure Works cube”,单击“浏览”,创建一个按“SalesTerriotryGroup”汇总的销售表,发现该维度成员仍旧是France,未被更新。

3)右击“Sales Territory”维度,单击“处理/Process”(Pocess Update默认配置)。

4)返回2),重新连接,“France”成员被更新为“Pacific”成员。

练习2:使用SQL Server Agent计划处理一个SSAS对象

1)在SSMS中,连接到本地SSAS上,右击“TK 70-448 SSAS Project”数据库,单击“处理”。在弹出的对话框中,展开脚本/Script下拉框,选择“script action to clipboard”,目的是生成处理该对象的脚本。

2)连接到本地SQL Server数据库引擎,展开“SQL Server Agent”目录,新建一个名为“Process Database”的Job,添加一个名为“Process database”的步骤。选择“SQL Server Analysis Services Command”类型,粘贴1)生成的脚本,确定。

3)启动该Job,测试通过后,可配置该Job的自动执行计划。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223038.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从零开始学习java一般需要多长时间?「建议收藏」

    从零开始学习java一般需要多长时间?「建议收藏」其实学java一般要多久?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步,而且还要有项目经验,否则是不会有公司要你的。而一个有一些基础的人,在经过有人系统的教学后,是可以很快学会掌握java的,大概3个月左右。不过java相对于C,C++java而言,java无疑简单了很多,不需要指针,不需要销毁对象,使得对ja…

    2022年7月7日
    22
  • 自己搭建游戏加速器_自己可以搭建加速器吗

    自己搭建游戏加速器_自己可以搭建加速器吗因为自己用nn减速器和朋友联机方舟延迟太高了,联系客服,客服又不懂我的意思(就我b事最多,爱用不用),所以出一个自建游戏加速器的教程。对迷失森林,使命召唤,怪物猎人,方舟,这样的和朋友联机的游戏,效果极佳警告:别用这个施展魔法!否则后果自负!只能用来国内游戏和朋友联机!win7系统懒得折腾就放弃吧,win10系统继续往下看,开发者请忽略这篇文章1买一个自己的服务器首选阿里云,其次腾讯云,因为阿里云宽带大。其他云服务器商没试过,宽带估计不如阿里云和腾讯云。腾讯云和阿里云的宽带都是非常好的。恰

    2022年10月28日
    0
  • resnet18 pytorch_pytorch全连接层

    resnet18 pytorch_pytorch全连接层创建各版本的ResNet模型,ResNet18,ResNet34,ResNet50,ResNet101,ResNet152原文地址:https://arxiv.org/pdf/1512.03385.pdf论文就不解读了,大部分解读都是翻译,看的似懂非懂,自己搞懂就行了。最近想着实现一下经典的网络结构,看了原文之后,根据原文代码结构开始实现。起初去搜了下各种版本的实现,发现很多博客都是错误百出,有些博文都发布几年了,错误还是没人发现,评论区几十号人不知道是真懂还是装懂,颇有些无奈啊。因此打算自己手动实

    2022年10月7日
    0
  • mediumtext_MySQL中tinytext、text、mediumtext和longtext等各个类型详解【图】

    mediumtext_MySQL中tinytext、text、mediumtext和longtext等各个类型详解【图】MySQL中tinytext、text、mediumtext和longtext等各个类型详解【图】07-29栏目:技术TAG:mediumtextmediumtext一、字符串类型www.jhua.org类型www.jhua.org范围https://www.jhua.org说明www.jhua.orgChar(N)[binary]N=1~255个字节jhua.orgbinary:分…

    2022年5月2日
    36
  • 简单工厂和策略模式_21680002工厂模式

    简单工厂和策略模式_21680002工厂模式简单工厂加策略模式的应用

    2022年9月12日
    0
  • POJ-1502-MPI Maelstrom

    POJ-1502-MPI Maelstrom

    2021年6月21日
    105

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号