>> BI 的原材料是海量的数据;
>> BI 的产品是由数据加工而来的信息和知识;
>> BI 将这些产品推送给企业决策者;
>> 企业决策者利用 BI 工厂的产品做出正确的决策,促进企业的发展;
OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。
1.ROLAP
ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。
2.MOLAP
MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,因此又称为物理OLAP(PhysicalOLAP);而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存储结构,因此称为虚拟OLAP(VirtualOLAP)。
3.HOLAP
由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止,对HOLAP还没有一个正式的定义。但很明显,HOLAP结构不应该是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。
>> 技术和算法:目前常用的数据挖掘技术包括——
自动类别侦测(Auto Cluster Detection)
决策树(Decision Trees)
神经网络(Neural Networks)
>> 数据:由于数据挖掘是一个在已知中挖掘未知的过程,因此需要大量数据的积累作为数据源,数据积累量越大,数据挖掘工具就会有更多的参考点。
>> 预测模型:也就是将需要进行数据挖掘的业务逻辑由计算机模拟出来,这也是数据挖掘的主要任务。
6)数据仓库
在前面已经提到了“操作型数据库”,数据仓库则是对操作型数据库概念的扩展。
“数据仓库”用于决策支持,面向分析型数据处理,不同于操作型数据库;另外,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
操作型数据库 、数据仓库与数据库之间的关系,就像 C:、D: 与硬盘之间的关系一样,数据库是硬盘,操作型数据库是 C:,数据仓库是 D:,操作型数据库与数据仓库都存储在数据库里,只不过表结构的设计模式和用途不同。
7)为什么有数据仓库
那么为什么要在操作型数据库和 BI 之间加这么一层“数据仓库”呢?
一是因为操作型数据库日夜奔忙,以快速响应业务为主要目标,根本没精力伺候 BI 这边的数据需求,而且 BI 这边的数据需求通常是汇总型的,一个 select sum(xx) group by xx 就能让操作型数据库耗费大量资源,业务处理跟不上趟,麻烦就大了,比如你存了 5000 元钱,发现十分钟后钱还没到账,作何感想?一定是该银行的领导在看饼图?
二是因为企业中一般存在有多个应用,对应着多个操作型数据库,比如人力资源库、财务库、销售单据库、库存货品库等等,BI 为了提供全景的数据视图,就必须将这些分散的数据综合起来,例如为了实现一个融合销售和库存信息的 OLAP 分析,BI 工具必须能够高效的取得两个数据库中的数据,这时最高效的方法就是将数据先整合到数据仓库中,而 BI 应用统一从数据仓库里取数。
目前的数据库产品都对数据仓库提供有专门优化,例如在安装 MySQL 的高版本时,安装成序会询问你是想让数据库实例作为 Transaction-Oriented ,还是 Decision Support ,前者就是操作型数据库,后者就是数据仓库(决策支持么,再振臂高呼一遍),针对这两种形式,数据库将提供针对性的优化。