考试目标:
l 建立CUBE
Ø 为新建度量组指定默认存储设置
l 建立与维护度量组与分区
Ø 建立分区
Ø 分区的存储模式设置
Ø ROLAP,MOLAP,HOLAP
Ø Proactive cach(主动缓存)
Ø 分区的聚集设计
Ø 使用聚集设计向导
Ø 聚集设计中的自定义设置
Ø 基于使用的优化向导
一、定义维度组的分区与存储
1、理解什么是分区
SSAS中存储维度组的物理单元叫作分区。
1)为什么使用分区
l 改善性能
l 改善可维护性
2)什么时候考虑分区
经常在时间维上建立分区;如果一个分区的数据行大于4000或者小于2千万,并且容量大于250MB,不建议放在一个分区内。
同一个维度组的分割定义可以是不一致的;并且不同的分区数据来源可以是不同的事实表。
2、建立维度分区
1)改变默认分区分割
默认情况下,一个维度组只建立一个分区,并且这个分区绑定到整个事实表,我们称之为表绑定。如果想要再增加一个分区,就并且把这两个分区都设置成查询绑定。
需要注意的是,当建立多个分区时,加载到分区中的数据行不能有遗漏或者重复。
2)建立分区
A、确定分区的上下边界
B、Partition Tab->New Partition -> Partition Wizard
C、选择使用SQL语句限定数据行
D、指定加工位置和存储位置。有意思的是,SSAS支持远程分区,即本地进行查询,然后分发到远程服务器。
E、输入分区名称
3、选择选区存储模式
CUBE的逻辑存储模型包含三层:元数据、数据、聚集。
1)理解什么是存储模式
模式 | 查询时间 | 延迟 | 加工时间 | 存储容量 |
MOLAP | 快 | 高 | 快 | 适中 |
HOLAP | 适中 | 适中 | 快 | 小 |
ROLAP | 慢 | 低 | 慢 | 大 |
应用场景:
HOLAP 有大量历史明细数据,但又不经常使用
ROLAP只需要一个低延迟的分区
2)存储配置
在度量组上可以设置存储模式,然而在分区级别上可以重新设置这一属性。
4、理解主动缓存
主动缓存技术可以帮助解决数据延迟的问题。
1)主动缓存的工作原理
A、稳定状态
服务器通过三种方式侦听数据改变事件:
l SQL SERVER 通知
当数据改变时由数据库引擎产生
l 客户端触发,执行一条XMLA命令(NotifyTableChange)
l 定时轮询
B、不稳定状态
当数据发生改变时,SSAS启动两个计时器,一个跟踪关系数据库两个更新的时间间隔,以确定批处理结束,而后更新CUBE CACH,另一个用于跟踪旧的CUBE CACH是否仍然在有效期内。
SSAS开始重建新的CUBE CACH后,当有新的查询到来时,如果旧的CUBE CACH没有过期,则向它发请求,否则向ROLAP数据库发请求。
2)允许主动缓存
在分区存储设置向导里,提供了几种可选的方案:
模式` | 查询时间 |
MOLAP | 主动缓存被禁用,需要加工分区以刷新数据 |
定时MOLAP | 每日调度,其它与MOLAP一样 |
自动化MOLAP | 使用主动缓存 Default slience interval=10s 如果连续的批处理间隔时间小于10秒服务器不响应 |
适度延迟的MOLAP | Cach Expire in 4 hours |
低延迟的MOLAP | Cach Expire in 30 miniutes |
实时HOLAP | 与标准HOLAP相同 |
实时ROLAP | 与标准ROLAP相同,数据改变时丢弃缓存 |
二、设计分区聚集
1、理解什么是聚集
聚集是预先计算的汇总数据。 因为聚集数据能够满足查询需要,可以快速返回查询结果,而不用在查询时计算。
1)如何使用聚集
2)为什么不建立所有可能的聚集
占用存储容量过大,处理时间过长
方法:使用聚集设计向导选择需要的聚集;使用优化向导改善聚集设计;用聚集管理器维护
2、聚集设计向导
聚集设计向导不会考虑用户如何查询以及维度的使用频率;它是根据维度设计与数据统计选择聚集。
它通过执行一个复杂算法完成两个步骤:识别适合的聚集与成本效益分析。
在选择聚集时Aggregation Usage属性会被考虑:
模式 | 查询时间 |
Full | 从底层属性开始构建 |
Note | 属性不使用聚集 |
Unrestricted | 由聚集设计向导决定 |
Default | 所有属性、维度键属性层级属性为unrestricted;多对多、引用、数据挖掘维度属性为None |
1)估计聚集的成本/效益
向导中需要设置两个属性:EstimatedCounts和EstimatedRows。
2)设置聚集选项
通过指定聚集存储空间来限制建立的聚集数量。
指定空间数量或者性能提高比例,这一比较一般为20%-30%;I click stop是指开始聚集直到用户觉得满意时停止;如果选择不设计聚集则现有的聚集也将被删除。
3、基于使用的优化向导定义聚集
优化是基于查询日志的,因此首先要生成查询日志。
1)允许查询日志
2)生成查询日志
QueryLog表的定义:
属性 | 描述 |
MSOLAP_Database | SSAS数据库名 |
MSOLAP_ObjectPath | 数据库、CUBE、维度组的名称 |
MSOLAP_User | 用户身份 |
Dataset | 维度列表,层级 |
StartTime | 开始时间 |
Duration | 查询时间长度 |
3)运行向导
三、总结
l 维度组的数据物理存储在分区中。分区可以有不同的存储模式与分区设计
l SSAS中MOLAP最常用;HOLAP适用于有大量不常使用的历史数据的分区中;ROLAP适用于需要建立实时CUBE,但又没有主动缓存支持时
l 实用的聚集设计依赖于好的维度设计
l 用聚集设计向导设计聚集
l CUBE部署后,使用优化向导优化聚集