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的自动执行计划。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • http://jpsexmovies.com/images/mvimgs/

    http://jpsexmovies.com/images/mvimgs/http://jpsexmovies.com/images/mvimgs/

  • 关于部分动态爬虫「建议收藏」

    关于部分动态爬虫「建议收藏」前言爬虫的动态处理方法(我用较为简单的一些网址举例比如豆瓣的热门电影)一、动态爬虫动态爬虫与静态爬虫的最大区别就是源代码与网页内容不同,动态爬虫可以通过抓包(就是直接利用浏览器的F12进行network抓包,获取相关对应的文件)二、使用步骤1.先通过网址找到需要的东西截图如下(示例):按F12进入开发者模式,第二步点击左上角刷新重新加载一下内容,第三步在红框里选取需要的内容,可以通过“预览”来查看是否对应查找正确之后然后在“标头”里找到“请求URL”以及“User-Agent”,把这些找到

  • maven私库nexus2.14.1迁移到nexus3.1

    maven私库nexus2.14.1迁移到nexus3.1maven私库nexus2.14.1迁移到nexus3.1(含安装教程),亲测可用

  • clion激活码2021_最新在线免费激活

    (clion激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • 【《重构 改善既有代码的设计》学习笔记4】构筑测试体系

    本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!如果想要进行重构,首要前提是 拥有一个可靠的测试环境。1、 自测代码的价值完成一个功能:设计+开发+调试,认真分析,程序员最多花费的时间不是开发(编码),而是用来调试。调试可能花费无数个小时,甚至通宵达旦。修复错误是快速的,而找出错误却是恶梦一场。当修复好一个错误,总是会有另一个错误的出现。而引…

  • navicat 15 for激活码[在线序列号]

    navicat 15 for激活码[在线序列号],https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

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