none
SQL SERVER SSAS优化【急急急】 RRS feed

  • 问题

  • Dear All:

    我是MSBI分析的,最近遇到个数据量比较大的项目,数据仓库有约1TB,创建了传统的SSAS分析模型,处理之后有约400G,现在查询一些汇总类的数据都非常慢,有些需要需要执行MDX月30分钟,还有一些非重复计数的度量值(比如:客户数,商品SKU数、创销店铺数)那就更慢了,最慢的要一个小时。现在非常苦恼。

    微软官方建议的优化,基本都是用了,现在希望解决如下效率问题,

    客户要求如下: 1、查询更快,结果控制在5分钟以内,非重复计数的控制在10分钟内。

    我属性层次结构、维度属性关系、聚合、分区都创建了,而且监控了AS的性能,很多都利用上了缓存,查询第二次之后都基本采用从缓存中读取数据,速度还是不满意,

    我有两个请教问题:

    1、这个cube还能否有除微软官方的以外的优化方法,SSAS能不能做分布式部署和查询处理呢??(客户不想用BISM模型,因为这样子会变成两套模型,无法统一使用)

    2、非重复计数除了用cube中的计算方式,有没有其它的方式进行统计(微软的那个hash方法没办法弄,因为客户DW中的字段都是一些32位GUID码,很难用于HASH分布计算)

    SSAS服务器环境:SSD 1TB固态硬盘存放cube,SQL Server 2008 R2 X64,128G内存,64核,主频:2.70Ghz


    • 已编辑 xnbbi 2016年1月15日 12:53
    2016年1月8日 9:25

全部回复

  • Tried partition cube? How did you config memory in ssas?
    2016年1月8日 14:03
  • Partition is about 25000000 row by datetime, the memory configuration is the default, what is the need to configure it?
    2016年1月9日 5:15
  • 看尺寸是网上那个电信还是银行的事儿?         被你们给诳到了咯...嚯喀喀

    Tried partition cube? How did you config memory in ssas?
    Partition doesn't matter much for the step in hand. The whole cube now need to be calculated.

    2016年1月9日 8:17
  • 先特计啊,你们就没人搞清楚Cube的存储机制吗?

    distinct count用cube当然不会太快了,可以做分布式部署和查询,但是想依靠这个提高查询性能很难。

    尽量用其它方式替代distinct count,因为客户通常不是真正的需要distinct count。

    用CSI可能会快。


    想不想时已是想,不如不想都不想。

    2016年1月10日 13:04
    版主
  • 看尺寸是网上那个电信还是银行的事儿?         被你们给诳到了咯...嚯喀喀

    Tried partition cube? How did you config memory in ssas?
    Partition doesn't matter much for the step in hand. The whole cube now need to be calculated.


    为啥要计算整个cube?

    想不想时已是想,不如不想都不想。

    2016年1月10日 13:04
    版主
  • 因为看这介绍的意思是对指定值的全体都计算啊,分不分区都要去..主要这个说法只是随便写的,本来不想详细说的来着,我想要是说要读所有分区其实也说得不准确。就是那个...一台机器上(应该说NUMA嘛)的分区影响不了Cube里计算的RAM带宽,总之是想表达这的分区和引擎的库分区不一样的。
    2016年1月10日 15:33
  • 你想表达的分区,不是measures group partition?是NUMA node?这个倒确实和distinct count没啥优化关系。

    不过rmiao没说NUMA的事情啊。


    想不想时已是想,不如不想都不想。

    2016年1月12日 15:09
    版主
  • 是说cube partition,这里分区影响不了计算性能啊。NUMA我没用过,到底怎么样这就要让有钱人来总结了。

    这两天没心思查书了。要在这说那么细干吗——

    呼呼...其实怡版你不也没多愿意细说,看了他们配置,还让用CSI来着

    2016年1月12日 15:48
  • 我又不了解详细情况,怎么细说啊。

    不过CSI确实可以提高distinct count的速度啊,这个配置用CSI正常啊,我有客户这样用。


    想不想时已是想,不如不想都不想。

    2016年1月13日 4:29
    版主
  • 我记得是2012开始有CSI的好像,08R2我没用过,不知是不是记错了。

    然后那个公式...打住,再说就太多了..

    2016年1月13日 6:57
  • 升级就是了,以前我的客户也是因为CSI从R2升级到2012的,不过我的客户有买SA的。

    想不想时已是想,不如不想都不想。

    2016年1月14日 4:17
    版主
  • 先特计啊,你们就没人搞清楚Cube的存储机制吗?

    distinct count用cube当然不会太快了,可以做分布式部署和查询,但是想依靠这个提高查询性能很难。

    尽量用其它方式替代distinct count,因为客户通常不是真正的需要distinct count。

    用CSI可能会快。


    想不想时已是想,不如不想都不想。

    1、CSI是什么解决方案???

    2、用户需要计算创销的单品、覆盖店铺、创销店铺等,这个除了用distinct count,还有其它的变通方法吗??

    2016年1月15日 12:43
  • 我又不了解详细情况,怎么细说啊。

    不过CSI确实可以提高distinct count的速度啊,这个配置用CSI正常啊,我有客户这样用。


    想不想时已是想,不如不想都不想。

    能不能大致讲一下???谢谢
    2016年1月15日 12:48
  • 升级就是了,以前我的客户也是因为CSI从R2升级到2012的,不过我的客户有买SA的。

    想不想时已是想,不如不想都不想。

    我的客户就是2012的,那个CSI要如何启用或者配置,能否给点参考资料,谢谢
    2016年1月15日 12:49
  • CSI是列存储索引,是关系数据库引擎的。distinct count确实不是OLAP的强项。所以客户就把这块移到关系数据库里面了。

    想不想时已是想,不如不想都不想。

    2016年1月23日 12:39
    版主