【轉帖】四種BI 開源工具介紹-SpagoBI,openI,JasperSoft,Pentaho

四種BI 開源工具介紹-SpagoBI,openI,JasperSoft,Pentaho

1 BI系統的簡述

從技術角度來講 BI 包含了 ETL、DW、OLAP、DM等多環節。簡單的說就是把交易系統已經發生過的數據,經過ETL工具抽取到主題明確的數據倉庫中,OLAP後生成Cube或報表,透過Portal展示給用戶,用戶 利用這些通過分類、彙集、描述和可視化的數據,支持業務決策。java

這些衆多的BI項目從規模和對BI系統支撐的完善程度上來講,大致能夠分爲Framework、Stand-alone Tools和BI Suit三種類型。node

  • Framework

開源框架,這是在商業BI系統中所沒有的。咱們可使用它們來構建本身的BI工具,或者加強和擴展咱們的BI解決方案。web

  • Stand-alone Tools

獨立的BI工具,這是開源項目中數量最多的一類。不少工具只側重BI系統中的某個環節和方面,如ETL、Report、OLAP和Database等等。數據庫

  • BI Suit

在統一的架構下提供了多種BI系統的特性的工具集合。就目前的狀況看,不論是商業軟件仍是開源軟件,尚未任何一個套件提供了完整的端到端的BI解決方案。這些開源的BI Suit是經過鏈接多個其餘的組件和工具的方式造成套件的,因爲BI系統涉及到的工具是很是多的,因此整合一套完整的BI解決方案是很困難的。apache

2 BI解決方案中的工具

一個完整的BI解決方案中有多種工具來完成BI系統中各個階段的工做。瀏覽器

2.1 ETL工具

數據抽取、轉換和加載工具。優秀的ETL工具應該具備如下特性:緩存

  1. Workflow Management, Job Execution and Scheduling Manager。能方便地定義流程並自動化執行ETL任務;
  2. Centralized Metadata Repository and Management。集中存儲和管理符合業界標準的元數據;
  3. Data Profile and Validation。能夠檢驗數據的質量;
  4. High Performance。在大負荷的任務執行中仍然有良好的性能;
  5. Scalable, Platform Independent。具備良好的彈性,支持多種操做系統和數據庫系統,能操做多種異構的數據源;
  6. Open Architecture and API。具備開放的架構和易於使用的二次開發接口。

目前較爲知名的開源ETL工具備:服務器

  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來鏈接各類數據源,易於使用和部署。曾有人應用於電信網絡資源分析系統中。

2.2 報表工具

優秀的報表工具一般具備如下特性:網絡

  1. 支持多種數據源;
  2. 直觀的可視化設計器,簡單易用的報表定製功能;
  3. 方便的數據訪問和格式化,豐富的數據呈現方式;
  4. 符合數據呈現的通用標準,能和應用程序很好地進行結合;
  5. 易於擴展和部署;

目前較爲知名的開源報表工具備:架構

  1. JasperReports,一個優秀的Java報表工具,始於2001,如今JasperSoft公司持續開發和支持該工具。該工具相似於商業軟件Crystal Report,支持PDF、HTML、XLS、CSV和XML文件輸出格式,如今是Java開發者最經常使用的報表工具;
  2. OpenReports,提供基於web的靈活報表解決方案,經過瀏覽器自動生成動態PDF,XLS,HTMLCSV 和Chart報表,它是用Java開發的,使用JasperReports 做爲報表引擎,利用到的開源技術有Hibernate,Veloctiy,Webwork;
  3. JFreeReport,如今是Pentaho的一部分,它是一個優秀的用來生成報表的Java類庫。它爲Java應用程序提供一個靈活的打印 功能並支持輸出到打印機和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中;
  4. Eclipse BIRT,是Eclipse下面的一個企業智能和報表 工具,能爲J2EE的WEB應用程序建立漂亮醒目的PDF或者HTML格式的報表,它提供了核心的報表功能。

2.3 OLAP工具

聯機分析處理工具。目前開源的OLAP工具也分爲MOLAP(多維型)、ROLAP(關係型)和HOLAP(混合型),優秀的OLAP工具一般有如下特性:

  1. 良好的執行性能,能快速地進行分析處理工做;
  2. 良好的適用性和可伸縮性;
  3. 開放式接口和豐富的API;

目前較爲知名的開源OLAP工具備:

  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)。

2.4 數據庫

  開源的數據庫也有不少,大多數爲關係型數據庫,少數爲應用於數據倉庫環境作了專門的優化工做。Bizgres以PostgreSQL爲基礎進行了數據倉庫環境下的優化,提升了分析查詢性能。

3 開源BI套件

下面列出相對成熟和完整,而且有借鑑意義的開源BI套件。

openI

Openi是一個Java開發的Web應用,能對OLAP服務器、關係數據庫和數據挖掘服務器進行分析和報表展現,很是易於使用和部署,界面美觀友好,後續還將支持數據挖掘和ETL等。Openi主要包括:

  1. OLAP展現:JPivot
  2. 報表工具:JFreeChart
  3. 分析數據源鏈接器

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主要包括:

  1. JasperServer:爲商業用戶的互動,特定和預設查詢與報告服務器
  2. JasperAnalysis:爲商業用戶的互動提供OLAP數據分析
  3. JasperETL:開發人員和數據庫管理員的高性能的圖形數據整合
  4. 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開發,不依賴於具體的操做系統,有很強的擴展能力。它主要包括:

  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以外的功能。

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相抗衡。它包括:

  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解決方案,側重於大中型企業應用。

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 Planform
Data Mining: Weka  (Weka也加入了pentaho)

官方站點

相關文章
相關標籤/搜索