🔝 [tools]四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho

//
四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho - 天善智能:专注于商业智能BI和数据分析、大数据领域的垂直社区平台
https://ask.hellobi.com/blog/liangyong/1658

1 BI系统的简述
从技术角度来说 BI 包含了 ETL、DW、OLAP、DM等多环节。简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户 利用这些经过分类、聚集、描述和可视化的数据,支持业务决策。
这些众多的BI项目从规模和对BI系统支撑的完善程度上来说,大体可以分为Framework、Stand-alone Tools和BI Suit三种类型。
Framework

开源框架,这是在商业BI系统中所没有的。我们可以使用它们来构建自己的BI工具,或者增强和扩展我们的BI解决方案。
Stand-alone Tools

独立的BI工具,这是开源项目中数量最多的一类。很多工具只侧重BI系统中的某个环节和方面,如ETL、Report、OLAP和Database等等。
BI Suit

在统一的架构下提供了多种BI系统的特性的工具集合。就目前的情况看,不管是商业软件还是开源软件,还没有任何一个套件提供了完整的端到端的BI解决方案。这些开源的BI Suit是通过连接多个其他的组件和工具的方式形成套件的,由于BI系统涉及到的工具是非常多的,所以整合一套完整的BI解决方案是很困难的。

2 BI解决方案中的工具
一个完整的BI解决方案中有多种工具来完成BI系统中各个阶段的工作。
2.1 ETL工具
数据抽取、转换和加载工具。优秀的ETL工具应该具有以下特性:
Workflow Management, Job Execution and Scheduling Manager。能方便地定义流程并自动化执行ETL任务;
Centralized Metadata Repository and Management。集中存储和管理符合业界标准的元数据;
Data Profile and Validation。可以检验数据的质量;
High Performance。在大负荷的任务执行中仍然有良好的性能;
Scalable, Platform Independent。具有良好的弹性,支持多种操作系统和数据库系统,能操作多种异构的数据源;
Open Architecture and API。具有开放的架构和易于使用的二次开发接口。

目前较为知名的开源ETL工具有:
KETL,由具有IBM和KPMG背景的Kinetic Networks公司开发,现在已经有三年多的产品应用历史,成功应用于一些产品中,在点击流(ClickStream)分析应用中表现出色。KETL采用Plug-in的架构,使用Java开发;
KETTLE,为一个元数据驱动的ETL工具。已经加入Pentaho;
Clover ETL,为一个基于Java的ETL Framework,可以用来开发自己的ETL应用;
Enhydra Octopus,为一个基于Java的ETL工具,使用JDBC来连接各种数据源,易于使用和部署。曾有人应用于电信网络资源分析系统中。

2.2 报表工具
优秀的报表工具通常具有以下特性:
支持多种数据源;
直观的可视化设计器,简单易用的报表定制功能;
方便的数据访问和格式化,丰富的数据呈现方式;
符合数据呈现的通用标准,能和应用程序很好地进行结合;
易于扩展和部署;

目前较为知名的开源报表工具有:
JasperReports,一个优秀的Java报表工具,始于2001,现在JasperSoft公司持续开发和支持该工具。该工具类似于商业软件Crystal Report,支持PDF、HTML、XLS、CSV和XML文件输出格式,现在是Java开发者最常用的报表工具;
OpenReports,提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV 和Chart报表,它是用Java开发的,使用JasperReports 作为报表引擎,利用到的开源技术有Hibernate,Veloctiy,Webwork;
JFreeReport,现在是Pentaho的一部分,它是一个优秀的用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印 功能并支持输出到打印机和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中;
Eclipse BIRT,是Eclipse下面的一个企业智能和报表 工具,能为J2EE的WEB应用程序创建漂亮醒目的PDF或者HTML格式的报表,它提供了核心的报表功能。

2.3 OLAP工具
联机分析处理工具。目前开源的OLAP工具也分为MOLAP(多维型)、ROLAP(关系型)和HOLAP(混合型),优秀的OLAP工具通常有以下特性:
良好的执行性能,能快速地进行分析处理工作;
良好的适用性和可伸缩性;
开放式接口和丰富的API;

目前较为知名的开源OLAP工具有:
Mondrian,是Pentaho的一部分,为一个用Java开发的OLAP服务器,实现了MDX语言、XML解析和JOLAP规范,可以不写SQL就能分析存储于SQL 数据库的庞大数据集,可以封装JDBC数据源并把数据以多维的方式展现出来;
JPivot,是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行 典型的OLAP导航,如下钻,切片和方块。它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。JPivot在元数据缓存方面的过于简化的整体性初始化装载的做法将限制它只能处理很小的立方体(Cube)。

2.4 数据库
  开源的数据库也有很多,大多数为关系型数据库,少数为应用于数据仓库环境做了专门的优化工作。Bizgres以PostgreSQL为基础进行了数据仓库环境下的优化,提高了分析查询性能。

3 开源BI套件
下面列出相对成熟和完整,并且有借鉴意义的开源BI套件。
openI
Openi是一个Java开发的Web应用,能对OLAP服务器、关系数据库和数据挖掘服务器进行分析和报表展示,非常易于使用和部署,界面美观友好,后续还将支持数据挖掘和ETL等。Openi主要包括:
OLAP展示:JPivot
报表工具:JFreeChart
分析数据源连接器

Openi架构:
RDL是Report Define LanguageopenI具有一个BI应有的大部分特性了,report : jasperreport ,JFreeChartolap : mondrian + JPivotdata mining: weka它的各层衔接的非常的紧,好像用了eigenbase做数据管理,不是很清楚这部分,openI在做数据挖掘的时候它没有调度器,它的Portlet Interface 主要是指在用JPivot的时候JPivot可以到处使用openI没有自己的开发专属工具,入门门槛也相对较低。
JasperSoft
Jaspersoft商务智能套件是建立在模块的基础上的,因此很容易建立,以此证明其递增价值。Jaspersoft主要包括:
JasperServer:为商业用户的互动,特定和预设查询与报告服务器
JasperAnalysis:为商业用户的互动提供OLAP数据分析
JasperETL:开发人员和数据库管理员的高性能的图形数据整合
JasperReports:开发人员所用的Java报表函数库

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
SpagoBI 集成了Mondrain和JProvit,能够通过OpenLaszlo产生实时报表。SpagoBI使用java开发,不依赖于具体的操作系统,有很强的扩展能力。它主要包括:
报表工具:JasperReports /Eclipse BIRT/ iReport
OLAP Server:Mondrian
OLAP展示:JPivot
数据挖掘组件:Weka
Map引擎:Geo
ETL:BIE
搜索引擎:Lucene
Dashboard:OpenLaszlo
Portal Server:JBoss/ Tomcat/ JOnAS

根据其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
Pentaho是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括:
工作流引擎:Shark and JaWE
数据库:Firebird RDBMS
集成管理和开发环境:Eclipse
报表工具:Eclipse BIRT
ETL工具:Enhydra/Kettle
OLAP Server:Mondrian
OLAP展示:JPivot
数据挖掘组件:Weka
应用服务器和Portal服务器:JBoss
单点登陆服务及LDap认证:JOSSO
自定义脚本支持:Mozilla Rhino Javascript脚本处理器

由上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与业务流程相结合的BI解决方案,侧重于大中型企业应用。
Pentaho架构:
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 PlanformData Mining: Weka (Weka也加入了pentaho)
官方站点
openI http://openi.sourceforge.net
jaspersoft http://www.jaspersoft.com/
spagoBI http://spago.eng.it
pentaho http://www.pentaho.com/


开源BI套件里面还有saiku,olap的工具,开源里面有apache kylin

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容