refs:
http://blog.csdn.net/test_soy/article/details/53305777
评论中信息更有效
https://www.quora.com/Why-is-there-no-open-source-alternatives-for-graphical-BI-like-Tableau-or-PowerBI
从技术角度来说 BI 包含了 ETL、DW、OLAP、DM等多环节。简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户 利用这些经过分类、聚集、描述和可视化的数据,支持业务决策。
这些众多的BI项目从规模和对BI系统支撑的完善程度上来说,大体可以分为Framework、Stand-alone Tools和BI Suit三种类型。
开源框架,这是在商业BI系统中所没有的。我们可以使用它们来构建自己的BI工具,或者增强和扩展我们的BI解决方案。
独立的BI工具,这是开源项目中数量最多的一类。很多工具只侧重BI系统中的某个环节和方面,如ETL、Report、OLAP和Database等等。
在统一的架构下提供了多种BI系统的特性的工具集合。就目前的情况看,不管是商业软件还是开源软件,还没有任何一个套件提供了完整的端到端的BI解决方案。这些开源的BI Suit是通过连接多个其他的组件和工具的方式形成套件的,由于BI系统涉及到的工具是非常多的,所以整合一套完整的BI解决方案是很困难的。
一个完整的BI解决方案中有多种工具来完成BI系统中各个阶段的工作。
数据抽取、转换和加载工具。优秀的ETL工具应该具有以下特性:
目前较为知名的开源ETL工具有:
优秀的报表工具通常具有以下特性:
目前较为知名的开源报表工具有:
联机分析处理工具。目前开源的OLAP工具也分为MOLAP(多维型)、ROLAP(关系型)和HOLAP(混合型),优秀的OLAP工具通常有以下特性:
目前较为知名的开源OLAP工具有:
开源的数据库也有很多,大多数为关系型数据库,少数为应用于数据仓库环境做了专门的优化工作。Bizgres以PostgreSQL为基础进行了数据仓库环境下的优化,提高了分析查询性能。
下面列出相对成熟和完整,并且有借鉴意义的开源BI套件。
Openi是一个Java开发的Web应用,能对OLAP服务器、关系数据库和数据挖掘服务器进行分析和报表展示,非常易于使用和部署,界面美观友好,后续还将支持数据挖掘和ETL等。Openi主要包括:
Openi架构:
RDL是Report Define Language
openI具有一个BI应有的大部分特性了,
report : jasperreport ,JFreeChart
olap : mondrian + JPivot
data mining: weka
它的各层衔接的非常的紧,好像用了eigenbase做数据管理,不是很清楚这部分,openI在做数据挖掘的时候它没有调度器,它的Portlet Interface 主要是指在用JPivot的时候JPivot可以到处使用openI没有自己的开发专属工具,入门门槛也相对较低。
Jaspersoft商务智能套件是建立在模块的基础上的,因此很容易建立,以此证明其递增价值。Jaspersoft主要包括:
JasperSoft最重要的就是它的报表,但是它支持输出的格式很多,管理的方式也很多,也用了eigenbase做数据管理。
有比较完善的权限控制,用的acegi,支持多种数据源,只要有JDBC驱动。它的产品已经形成了一个产品线,最著名当然还是它的JasperReport。
你可以看到它为了更好的管理各种报表和数据,有自己专属的展现平台JasperServer,这个平台是 06/26/2006才创建的,完全是JasperSoft为了实现BI而迈出的重要一步。jasper没有数据挖掘。
有任务调度器,用了quartz;
有自己专属的ETL: JasperETL;
它有自己的OLAP SERVER : jasperAnalysis;
展示层用到了AJAX和applet, 也有DashBoard;
查询语句支持SQL, Hibernate (HQL), XPath (XML), EJBQL, MDX(多维查询语言,OLAP专用,SQLSERVER用的是XMLA)。
SpagoBI 集成了Mondrain和JProvit,能够通过OpenLaszlo产生实时报表。SpagoBI使用java开发,不依赖于具体的操作系统,有很强的扩展能力。它主要包括:
根据其Roadmap可以看出,SpagoBI将融入更多的BI功能,甚至BI之外的功能。
SpagoBI架构:
spagoBI平台功能很强大,也很复杂。
它的各个组件之间模块化很好,Plugin加载,来看一下它的各个组件:
report : BirtReportDriver , BirtReportEngine , JasperReportDriver ,JasperReportEngine;
GEO : GeoDriver , GeoEngine(用地图显示数据和查询的);
OLAP : JPivotDriver , JPivotEngine;
QBE : QbeDriver, QbeEngine ;
Data Mining : WekaDriver , WekaEngine;
Security : ExoPortalSecurityProvider;
Booklet (小册子) : BookletsComponent : it is a component for booklets generation.主要包括文件上传,工作流,OpenOffice支持;
它还有文档管理,用的是apache的JackRabbit,有搜索功能,用的lucene。是做cms,portlet,workflow出身的,技术很强。
spagoBI的使用的工具也比较多:
Report : Bird , JasperReport;
ETL : Octupus 和 talend;
OLAP : Mondrian 和 JPivot;
Data Mining : Weka;
Portal : eXoPortal;
它的展现层也使用了AJAX特性,另外它在DashBoard也使用了openlaszlo,(一个用Java code 生成Flash的框架,主页是http://www.openlaszlo.org/。新版的4.0好像也要支持生成DHTML) 所以spagoBI的DashBoard界面很友好。
spagoBI的ETL是非常之牛的。你可以看到它下面的数据处理层是单独分出来的。
Pentaho是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括:
由上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与业务流程相结合的BI解决方案,侧重于大中型企业应用。
pentaho的体系结构跟spagoBI非常相像,不过pentaho喜欢把自己的东西称作solution,以下引用自pentaho的whitepaper:
pentaho BI 平台不同于传统的BI产品。它是一个以流程为中心的,面向解决方案的(Solution)的框架,具有商业智能(BI)组件,使得公司可以开发商业智能问题的完整解决方案pentaho一样把数据处理层看的很重要,多种数据显示方式,甚至有RSS输出。
pentaho是有各种开源组件组成的。
ETL : Kettle (界面上显示的是pentaho Data Integration ,previously Kettle)
Report : Pentaho Report (它也支持Birt 和 JasperReport 的集成 ,还有专门的文档)
OLAP : Mondrian 和 JPivot (Mondrian已经加入了pentaho)
Platform : Pentaho Planform
Data Mining: Weka (Weka也加入了pentaho)