新足迹

 找回密码
 注册

精华好帖回顾

· 有爱推理小说电影的同学吗? (2005-4-10) 凡戈 · 墨尔本东区/东南Bayside两栋普通房产18年来的价位变化 (2007-12-16) villa
· 买房前须知20个隐藏陷阱 (2018-2-6) 大胡子 · 安居乐业之找工记 (2006-5-15) sail
Advertisement
Advertisement
查看: 1535|回复: 5

-------------- 兄弟姐妹们,谁能最简短地告诉我SSAS中的Cube到底是做什么的? -------------- [复制链接]

发表于 2012-4-3 17:40 |显示全部楼层
此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
一个Data Wareshouse的数据库里Dimension和Fact表都已经有了,也有ETL每天在往里面更新数据。按照我的理解,一些BI的工具已经可以产生report了,为什么还要Cube呢?


还有就是Cube是不是一定需要deploy到SSAS上?所谓的Process Cube又在做沙漠事情?



谢谢!
Advertisement
Advertisement

发表于 2012-4-3 20:28 |显示全部楼层
此文章由 huaxianz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huaxianz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个问题太大了。。。

简单不完全的回答:
1. cube可以理解为Microsoft对UDM的instantiation. UDM请google.
2. 用relational的方式是可以直接产生报表。区别在于performance, ability to analytics, ability to actionable and security...etc.
3. Microsoft的cube是一定要deploy到SSAS上。Excel支持light-weight版本的。其他的厂商都有自己的OLAP engine. 比如MDX的鼻祖Panorama。
4. Process Cube就是把数据从dimension/fact table读到cube里,build indexes + aggregates,使cube呈可服务状态。

评分

参与人数 2积分 +7 收起 理由
liushui0729 + 5 你太有才了
梦呓人 + 2 精品文章

查看全部评分

发表于 2012-4-3 20:56 |显示全部楼层
此文章由 huaxianz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huaxianz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对performance的区别举个例子。
cube就是个立式容器(在SSAS 2008里支持128个dimension),relational table就是个平面。极端的说:如果通过TSQL去计算一个简单结果,需要128个join来连接1个fact table和128个dimension table;如果用MDX在cube里拿那个结果,只需要一个simple fetch。更少的CPU time, 更少的I/O。

评分

参与人数 4积分 +12 收起 理由
liushui0729 + 5 你太有才了
老衲 + 3 谢谢奉献
梦呓人 + 2 恭喜恭喜

查看全部评分

发表于 2012-4-4 09:43 |显示全部楼层

回复 huaxianz 2# 帖子

此文章由 梦呓人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 梦呓人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢啊兄弟!


用SSAS创建cube的时候用系统suggest的measure groups行不行?我现在有一个简单的cube,process一大段时间后timeout了,错误是:OLE DB error: OLE DB or ODBC error: Query timeout expired; HYT00.


整个数据库大约是5层。是不是用VS推荐的measure group太多了,还是那个Fact table建的时候有问题?

发表于 2012-4-4 20:55 |显示全部楼层
此文章由 huaxianz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huaxianz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢大家加分啊!热泪盈眶 其实本人也是个半专业的新手,献丑了。后来仔细想想上面的回复,发现答得也不是很严谨。

再多说一句:在data warehousing的世界里,用multi-dimensional还是用relational model一直都存在争议。各方阵营都有大拿们支持。普遍的观点是多维在querying time上的performance有压倒性的优势,但是它是以牺牲processing time为前提。还有就是多维在设计实施上的复杂性,比如相对更复杂的data modelling,更challenging的update strategy design,learning curve更长的query language (MDX vs. SQL)等等。

评分

参与人数 1积分 +2 收起 理由
liushui0729 + 2 你太有才了

查看全部评分

发表于 2012-4-4 21:39 |显示全部楼层
此文章由 huaxianz 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huaxianz 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 梦呓人 于 2012-4-4 08:43 发表
谢谢啊兄弟!


用SSAS创建cube的时候用系统suggest的measure groups行不行?我现在有一个简单的cube,process一大段时间后timeout了,错误是:OLE DB error: OLE DB or ODBC error: Query timeout expired; HYT00.


整个数据 ...



不客气哈

1。首先你的版本是>=2008的吧? 2008之后的开发环境做的非常好,很智能。向导生成的一般都很接近,但除了非常简单的schema,比如一个fact + N个dimension的star schema,一般都要手动的调整一下才能正确地部署。如果你在design panel里看到任何“小波浪线”,那个是BIDS在提醒你有些东西不符合best practice,需要引起你的注意。把鼠标放在上面就会看到具体的原因解释。总体来说,schema设计是大头,生成cube则是个水到渠成的活。
2。如果你的cube已经可以process一段时间,那就是说networking,connection string,access authentication等等都没有问题。query timeout expired error一般我先会检查data source方的remote rpc timeout value,然后也要看看cube方建立的connection string里面有没有timeout的限制。下一步就是找到SSAS的log,默认是在sql server安装目录下,里面会有详细的错误信息。The last resort is to use SQL Server Profiler.你可以用它去trace SSAS上发生的一切一切,就像你在database engine里所能做的一样。除了troubleshooting, Profiler在performance turning里也占有很重要的位置。

评分

参与人数 1积分 +5 收起 理由
梦呓人 + 5 复活节愉快,细看了后再请教啊

查看全部评分

Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部