构建BI(商业智能)系统的核心——数据仓库引擎介绍

好像SSAS采用的是列式存储吧?(这个是我们工程师说的,觉得网上的东西可信度不可靠,尤其是老拿几年前的帖子到处粘,烦死了)

 

 

 

[数据仓库建模与设计] 构建BI(商业智能)系统的核心——数据仓库引擎介绍

Cognos, 商业智能, 数据仓库, 引擎介绍

由于构建BI(商业智能)系统是一个涉及多层面产品的工程,目前虽然有众多厂家宣称自己拥有BI解决方案,但实际上任何一个厂商仅能提供涵盖某些层面的产品,我们组织此次专栏希望能够帮助用户面对众多BI产品进行更为理性的选择。

      作为BI(商业智能)系统的核心,数据仓库引擎的选型是整个BI系统能够建设成功的关键。进行数据仓库引擎的选型,用户首先应该考虑到的是数据仓库应用属于OLAP(联机分析处理)型的应用,和OLTP(联机事务处理)型的应用有本质的区别,通常数据仓库主要用于完成以下工作。

统计报表功能

      数据仓库把企业内不同来源的信息集成到一个单一的仓库中,进行企业内部的各种报表的处理,就可以为公司跨职能或跨产品的决策提供重要参考。数据库的结构可根据问题的要求进行优化,即使数据查询人员要求访问的信息量极其巨大,处理性能也能非常快。

即席查询功能 
      随着业务的发展和变化,企业研究分析人员和企业的决策者对业务情况的了解和分析需求也是不断变化的。如:一个航运公司在面对伊拉克战争这种突发事件对自身航运业务的影响,一个零售业公司面对SARS的突如其来的冲击,对其销售策略的变动,都需要数据仓库系统能够及时准确地对这种动态的查询需求做出反应。我们称为即席查询的处理功能。

复杂分析功能

      随着数据仓库应用的发展,决策者关心的重点发生了转移,从“发生了什么”转向“为什么会发生”,需要更多详细的数据进行各种角度的复杂的组合分析。这种分析通常涉及到较大的数据量,并且涉及到多个大的数据表之间的关联操作。并不是简单的单表查询或者维度表和事实表的组合能够完成的工作。

挖掘与预测功能

      当一个公司决策过程已经量化,对经营动态的情况有所体验,下一步就是要将信息用于预测了。很明显,掌握公司即将发生的动向意味着更为积极地管理并实施公司战略。预测需要使用数据挖掘工具,通过建立各种分析模型,发现商业运作的各种规律,并且对各种商业运作行为以及其产生的影响进行预测性的分析。比如,OLTP型应用中进行客户信息的管理与更新只需要按照客户号建立相关的索引机制,利用索引完成客户记录的迅速定位和更新。而OLAP型系统中需要从区域、性别、学位、年龄、职业等多种分析角度完成对客户分布特征的分析,这种规律和交叉组合的分析方法,不是建立一个或者多个索引就可以达到提高性能的要求的。关于OLAP型应用和OLTP型应用的区别主要在于下表。

OLTP


 



 

OLAP


 

No


 

多表搜索


 

Yes


 

No


 

庞大的数据量


 

Yes


 

No


 

大量的处理


 

Yes


 

No


 

响应时间f(数据库大小)


 

Yes


 

No


 

未知查询/查询


 

Yes


 





      因此在进行数据仓库核心数据库引擎的选型时首先应该考虑到的是该数据库引擎是针对OLTP型应用设计的还是针对OLAP型应用设计的。在不同类型的应用中的市场份额如何。其次在数据仓库的引擎的选型中,还应该考虑到需要的平台的规模以及平台的可扩展性。谈到平台的规模我们认为通常选择数据仓库平台的过程中,会有三个因素对其有直接的影响:企业数据量的大小; 企业业务应用的复杂度; 企业的并发用户数量。
      众所周知,在当前这个信息爆炸的时代,信息量出现了超常规的增长模式,选择具有线性可扩展能能力的数据仓库平台是在BI系统建设中保证投资成功的关键因素。
      总之,对于一个企业的数据仓库引擎的选型,用户需要按照自身的分析应用需要和数据量以及用户数等因素,进行综合的考量,做到量体裁衣,保证投资的成功。(本文作者为NCR Teradata数据仓库事业部技术顾问)     这里的数据展现主要作用是以图表、Dashboard等形式将结果呈现给用户;ETL负责将原始数据进行抽取、转化、清洗、装载进数据仓库;数据仓库负责执行数据的存储和管理,并执行前端展现工具提交的各种查询分析任务。

  在BI应用中,数据仓库类似于汽车的引擎,居于核心地位,它的性能高低直接决定了BI应用的响应速度。而在大型BI应用中,性能是一个非常关键的问题,特别是那些有着海量数据、需要完成复杂查询任务的系统,数据仓库引擎的选择就更为关键。

  综观目前的数据仓库市场,能提供这一个工具的供应商并不多,一线的厂商主要有Teradata、IBM、甲骨文、Sybase、微软等。尽管同为数据仓库引擎,但是这些供应商各自所走的技术路线也并不同,不同的技术也导致了它们的产品具有完全不同的特点。

  Teradata应该算最为特立独行的一个,Teradata数据仓库主要运行在NCR WorldMark SMP硬件的Unix操作系统平台上,它的高性能主要通过Teradata与NCR硬件平台海量并行处理服务器结合,以及采用特有BYNET协议和查询优化等技术实现并行等机制。由于采用一些专有的硬件和技术,因此价格较高,是数据仓库中的“贵族”。

  IBM、甲骨文和微软的数据仓库引擎属于同一类,它们都提供数据库产品,其数据仓库引擎和数据库引擎从技术上说有很多相似之处。这种技术路线给它们带来的好处是,其数据仓库解决方案很自然地是从数据库技术拓展和延伸而来的,集成性和延续性比较突出。

  与IBM、甲骨文和微软相比,Sybase也同时提供数据库和数据仓库产品,但是,Sybase的数据仓库引擎却走了一条与IBM、甲骨文完全不同的技术路线。其中最大的不同就是在Sybase数据仓库引擎(即Sybase IQ)中采用列存储架构,而所有关系型数据库引擎广泛采用的则是行式存储。

  基于列存储所带来的一个直接好处是,在压缩方面比传统的关系型数据更加有效,这是因为同一列的所有数据域有相同的类型,因而每一列都可以为优化的效率和检索进行压缩; 列存储的另一个好处是性能上的提高,特别是在处理大数据量、复杂的跨多表查询时,列存储在性能上的提升非常明显。在保证数据压缩的目标下,能够同时提高查询性能,这正是Sybase IQ提倡的绿色数据库的概念。

  而目前,上述三种不同的数据仓库技术到底哪种更好,各家都有自己的说法。不过,用户倒是可以乐观其成,毕竟竞争可以带给用户更好的技术和产品。

 

 

 

你可能感兴趣的:(Sybase,BI,数据仓库,商业智能,引擎,Teradata)