因为研究生论文要做关于BI的课题,关于用户行为分析,在网上找了两天关于开源BI的有关资料,自己做一个阶段性总结,帮助自己掌握有关知识。 同时希望有明白人看了能指点一二。
一个BI系统可以简单地看成由三个部分组成:数据源到数据仓库(或数据集市),再到前端展现。但实际上它涉及的技术环境非常之多,包括ETL、数据仓库、OLAP(联机分析处理)、前端展现、模型设计等,相关的软件产品和工具有很多种,而每个工具之间的连接都存在相当的二次开发工作。
搭建BI系统的最终目的是,“让数据转化为信息,让信息转化为知识”。
百度百科说,从规模和功能角度来说,BI开源系统分三种:框架,独立工具,套件(工具的集合)。以下是我的理解:
1)框架:我还不理解,也没找出实际的例子。百科说,我们可以使用它们来构建自己的BI工具,或者增强和扩展我们的BI解决方案。
2)独立工具:侧重于BI系统的某一环节,如ETL、Report、OLAP和Database等等。
按类别来分,有些比较有名的工具如下:
2.1)ETL工具:KETL,KETTLE,Clover ETL,Enhydra Octopus。对我来说都是陌生的。
/*下面摘自百科
1、 KETL,由具有IBM和KPMG背景的Kinetic Networks公司开发,现在已经有三年多的产品应用历史,成功应用于一些产品中,在点击流(ClickStream)分析应用中表现出色。KETL采用Plug-in的架构,使用Java开发。
2、 KETTLE,为一个元数据驱动的ETL工具。已经加入Pentaho。
3、 Clover ETL,为一个基于Java的ETL Framework,可以用来开发自己的ETL应用。
4、 Enhydra Octopus,为一个基于Java的ETL工具,使用JDBC来连接各种数源,易于使用和部署。曾有人应用于电信网络资源分析系统中。
摘抄结束*/
我准备如果不用套件,而是自己组合独立工具的话,使用KETTLE,因为感觉流行度最广。
2.2)报表工具:JasperReports,OpenReports,JFreePeport,Eclipse BIRT
暂定JasperReports,理由同上。
2.3)OLAP工具:(百科说有)Modrian,JPivot
/*下面摘自百科
1、 Mondrian,是Pentaho的一部分,为一个用Java开发的OLAP服务器,实现了MDX语言、XML解析和JOLAP规范,可以不写SQL就能分析存储于SQL 数据库的庞大数据集,可以封装JDBC数据源并把数据以多维的方式展现出来。
2、 JPivot,是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP导航,如下钻,切片和方块。它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。JPivot在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体(Cube)。
摘抄结束*/
事实上,我认为Modrian和JPivot,并不是起同样作用的,不是非此即彼的那种并列关系。Modrian和JPivot都被集成在Pentaho中,Modrian是OLAP Server,JPivot是OLAP展示。
2.4)数据挖掘组件:Weka
3)下面列出相对成熟和完整,并且有借鉴意义的开源BI套件。
/*下面摘自百度百科
3.1)Bizgree为GreenPlum公司主导的开源项目,和Sun公司达成合作关系。Bizgres为BI应用而对PostgreSQL做了优化,提高了大负荷的并行计算能力,在BI环境中,相对于普通的关系型数据库具有卓越的数据处理性能。Bizgres的数据库平台可以和KETL和JasperReports进行整合,从而形成一个BI套件:
1、数据库:BI专业数据库Bizgres,或者大型应用中的高性能服务器Bizgres MPP,能比普通关系数据库快20倍
2、 ETL工具:KETL
3、报表工具:JasperReports
3.2)Openi是一个Java开发的Web应用,能对OLAP服务器、关系数据库和数据挖掘服务器进行分析和报表展示,非常易于使用和部署,界面美观友好,后续还将支持数据挖掘和ETL等。Openi主要包括:
1、 OLAP展示:JPivot
2、报表工具:JFreeChart
3、分析数据源连接器
3.3)Pentaho是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括:
1、工作流引擎:Shark and JaWE
2、数据库:Firebird RDBMS
3、集成管理和开发环境:Eclipse
4、报表工具:Eclipse BIRT
5、 ETL工具:Enhydra/Kettle
6、 OLAP Server:Mondrian
7、 OLAP展示:JPivot
8、数据挖掘组件:Weka
9、应用服务器和Portal服务器:JBoss
10、单点登陆服务及LDap认证:JOSSO
11、自定义脚本支持:Mozilla Rhino Javascript脚本处理器
由上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与业务流程相结合的BI解决方案,侧重于大中型企业应用。
3.4)SpagoBI是集成了Mondrain和JProvit,能够通过OpenLaszlo产生实时报表。SpagoBI使用java开发,不依赖于具体的操作系统,有很强的扩展能力。它主要包括:
1、报表工具:JasperReports /Eclipse BIRT/ iReport
2、 OLAP Server:Mondrian
3、 OLAP展示:JPivot
4、数据挖掘组件:Weka
5、 Map引擎:Geo
6、 ETL:BIE
7、搜索引擎:Lucene
8、 Dashboard:OpenLaszlo
9、 Portal Server:JBoss/ Tomcat/ JOnAS
根据其Roadmap可以看出,SpagoBI将融入更多的BI功能,甚至BI之外的功能。
摘抄结束*/
为了做我要做的课题,我认为 Pentaho是值得研究的,但是学习成本相对来说可能太高。在找资料过程中我发现了一个Pentaho爱好者讨论组qq群(12635055),我在上面询问如果一个人自学Pentaho需要多久,有热心人回答说两三个月可以入门。我不确定自己是否有这个时间。但是我想通过几天的学习自己再掌握多一点的信息,然后再来评估有没有可能用Pentaho。
我现在大致确定两个方向:1、用独立工具组合:Mondrian+JPivot;2、用Pentaho或者Openi。
目前信息尚不足够让我做出决策。期待后续进展。