你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
没有找到相关结果
BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-09-19 回答
赞同来自: 梁勇 、leon
牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2015-09-14 回答
赞同来自: 天涯浪子 、leon
要回复问题请先登录或注册
我吃掉了一辆奔驰
推荐一份编程学习资源,包含了各类编程语言学习进阶路线图、视频教程、配套书籍文档、数百份面经,各大厂面试真题。编程语言包括:Java、前端、PHP、Python、Linux运维、软件测试、数据解构与算法、C语言、go语言等
微信扫码关注公众号,发送 "编程"获取资源
2 个回复
BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-09-19 回答
赞同来自: 梁勇 、leon
谈谈我对题主所说的“数据仓库技术辅助统计分析”的理解。
首先,通常狭义上来讲, MOLAP不能称之为 叫做 “数据仓库技术”,我所理解的数据仓库技术指的是在关系型数据基础上,针对数据仓库需求而增加的特性。比如,物化视图,索引(集簇索引等),数据库分区,表分区等。从查询性能上来讲,无论如何一定是静态表要比如上这些辅助技术要高,而增加静态表会增加ETL的加载,如果查询性能上提升有限,是可以考虑直接使用数据仓库特性的。
这里需要注意的是:物化视图只对full select的SQL(仅有简单的summary运算)有增量刷新的功能。
而对于Teradata, Netezza等这类为数据仓库而生的数据库来说,由于他们能够提供数据查询的极高效能,如果没有复杂的运算,我们可以直接使用源表而不做汇总静态表,但对于有复杂查询或者数据量过于大的基础表,还是生成静态表更好一些。这个是一个trade off的过程,需要具体问题具体分析,在没有明确的场景下,是无法判断采用哪种方式合适的。
然后,从广义上来讲,MOLAP可以称之为数据仓库技术,这个我猜是题主的原意。同样的问题,会带来ETL的额外负担以及开发维护的额外工作量。其中,这里有多种MOLAP的模式:
1. Hyperion Essbase / Microsoft SSAS
这两类MOLAP都是用 磁盘 空间换取时间的方式,对于一定规模的数据量,查询效能要比静态表好一些但也会很有限,并且MOLAP更大的好处实际上是对于维度间计算,以及提供丰富的OLAP函数功能。
2. Cognos Dynamic Cube / Cognos TM1
这类MOLAP又有不同,他们采用的方式使用 内存 空间换取时间的方式,查询效能要比静态表好得更多。而TM1能够提供更为丰富的维度计算以及OLAP函数功能。
如上均从适度的数据量的假设出发,因为题主的原意应该是静态表是汇总级别的表. 而海量数据对于MOLAP的加载成本以及能否支持都会成问题,通常是不会采用的解决方案。
以上,Architecture Decsion是一个综合性很强的过程,建议不要从效能一个角度出发去审视问题。
牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2015-09-14 回答
赞同来自: 天涯浪子 、leon
首先数据仓库里面存放的数据是历史数据,历史数据也有数据量的区别,百万,千万,百G,上T等等,不同的数据仓库的数据规模对应着不同的实现方式。
相对来讲,传统行业数据量比较少,SQLServer的SSAS就能满足需求,而且SSAS本身就对数据仓库的存储做了优化,此时,直接绑定SSAS来做多维分析,开发,实施,运维效率等都比较高。
如果数据量再高一个级别,实际上SSAS也是可以满足的,此时的方式是有一个大型的数据仓库,然后面向不同的业务分析的时候,采用小的数据集市的方式来处理。
如果数据量更大,数据集市的维度也比较大,那这个时候可以考虑采用静态表的方式。定时抽取相应的数据到静态表,来做统计分析,也可以利用静态表再作一个小的数据集市,分发下去来方便业务人员进行分析。
随着技术的发展,实时数据分析也可以做到查询效率很高,当然这就需要更大的内存,更好的带宽和数据架构设计。
以上,有问题可以随时交流。