日期:2014-05-16  浏览次数:20610 次

多维数据集的主动缓存(Proactive Caching)

目前一般BI展现都是基于历史数据的分析,要想做到实时性的BI并非不可实现,前一段时间,由于工作需要,专门验证了微软的主动缓存机制。
一、基本概念:
微软对Cube的存储模式包括:MOLAP、ROLAP、HOLAP。简单介绍三种格式特点:
1、MOLAP: 度量值组数据和聚合都以多维格式文件存储;
2、ROLAP: 度量值组数据和聚合都以关系数据库存储;
3、HOLAP: 度量值组数据以关系数据库存储,而聚合数据以多维格式文件存储。
微软为了平衡MOLAP(查询性能高)和ROLAP(实时性强)优势,提供了主动缓存。
二、主动缓存机制
如下图,是微软的主动缓存处理的技术架构图:

说明:如果开启了主动缓存,在新的缓存未生成之前读的是Cube中的Cache。

      如果旧版本的Cache存在,新的Cache 在构建中,任然读旧版的Cache.

      在旧版本Cache删除,新Cache覆盖旧版Cache同时,读关系数据库数据;

      覆盖完成后,读新的Cache.

三、如何配置主动缓存
清楚原理和处理机制后,配置就简单了,只要配置好以下三个步骤,轻松实现主动缓存。
1、选择某一个分区,开启主动缓存功能(主动缓存针对的是Cube的具体分区。)
1、配置通知机制,触发主动缓存生成(支持Oracle、SQL Server、自定义轮训方式)
2、配置常规(数据变更捕获配置、放弃过时缓存、定时更新)

四、结论:
1、准实时性的BI分析,您准备好了吗?
2、AlwaysOn 的BI,你们有木有?

补充:(主动机制)
通知机制(跟踪表(SQL Server 、Oracle,计划轮询)。

主动缓存设置