专注ASP.NET和SQLServer2008 BI&GIS

骂别人不革命,便是革命者,则自己不做事,而骂别人的事做得不好,自然便是更做事者。
若与此辈理论,可以被牵连到白费唇舌,一事无成,也就是白活一世,于己于人,都无益处。
我现在得了妙法,是谣言不辩,诬蔑不洗,只管自己做事。——鲁迅1934年6月21日信
posts - 292, comments - 1422, trackbacks - 36, articles - 6
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

多维数据集数据聚合性能笔记

Posted on 2008-12-04 13:19 aspnetx 阅读(331) 评论(4)  编辑 收藏 网摘 所属分类: (BI)商业智能

30万数据,聚合15分钟,实际真实的业务系统数据,SQLServer 2005 Analysis Services.

这个多维数据集的情况是事实表中数据有30万,拥有三个维度,其中有两个维度有三个层次.为了满足dirllthroughtodetail的需要,事实表同时也作为了维表.这一条在现在来看很愚蠢,因为这样会使聚合数据几何级别增长,相当于又乘了一个30万.但从实际的运行效果看,在这个数据量级别还是可以接受的,查询和drillthroughttodetail性能都是很不错的.个人预计这样的方法数据上限大概在100万,超过这个数据级别的聚合和查询性能就要出问题.

大量数据的钻细节到数据仓库查比较实际,处理好维度层次是难点.dundas这样的公司没有做这个功能,可能主要就是考虑在这.

在此做一个记录,以备后查.

 

 

---------------------------------------------------------------

此文出自博客园aspnetx,如有疑问或需要帮助请直接访问作者博客,有问必答.在其它转载社区的留言或交互请恕作者无法答复.

 


Feedback

#1楼   回复  引用  查看    

2008-12-04 17:20 by 李梦蛟      
^_^,可能就是因为你同时作为维表才导致这么久的,我聚合3000多万条记录,聚合维度6个,时间都没有你长呢.

#2楼[楼主]   回复  引用  查看    

2008-12-04 20:17 by aspnetx      
@李梦蛟
呵呵那时当然了,其实主要还是为了钻取到细节方便嘛,drillthrough只能是你维度聚合了哪些就只能显示那些列,这样类似姓名的字段就取不到,因为没有聚合到里面,后来我自己想到的笨方法,就是把事实表同时也作为维表,当然代价就是很难想象的聚合量.
之前我测试过1000万简单维度聚合的,正常的方法,也就是不把事实表作维表的话,1分钟以内就处理完了,可见差距啊.

#3楼   回复  引用  查看    

2009-01-08 12:47 by 东城v夜游神      
我大概是130w+条数据也不过几秒钟,看来设计还是很重要的

#4楼[楼主]   回复  引用  查看    

2009-01-09 15:52 by aspnetx      
@东城v夜游神
hi,如果说聚合简单维度的话确实聚合不需要太长时间,但是要把事实表同时也作为维表的话那简直就是灾难,不过这样在细节数据方面确实方便好多,即使半个小时也是可以接收的。总之方案上还是一要看数据量,然后再看需求。
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1347548 4nuOFXNBYHY=



相关文章:

相关链接: