四個開源商業智能平臺比較(五)
四個開源商業智能平臺比較(五)
lumi問JPivot能否單獨使用,不能,根據其主頁上的描述, JPivot is a JSP custom tag library that renders an OLAP table and let users perform typical OLAP navigations like slice and dice, drill down and roll up. It uses Mondrian as its OLAP Server. JPivot also supports XMLA datasource access.換句話說,它必須使用一個OLAP的服務器做后臺,大多數選擇Mondrian,當然,JPivot也支持XMLA的數據源,我不太清楚除了SQLServer外還有誰是的。
要使用JPivot就必須使用多維數據表,我想你們公司應該是普通OLTP的數據表,那么就需要ETL工具了,工作量恐怕也非常之大。
JPivot在展示向上鉆取和向下鉆取的功能需求時是否比較方便?
是的,非常的方便,JPivot是一個JSP custom tag,你要需要指定數據源和寫一個xml的描述文件就可以了,它本身是很簡單,問題是前面的步驟。
你說你們的SQL有40M我一點也不驚訝,我們公司小的也差不多有10多M,從20多個表取數據,如果什么都選的話,會有50多M,順便問一句,你計算出有40多M是用的P6SPY嗎?我是用這計算的,用TOAD格式化的時候沒有死機,其實這個大小很平常的,不過速度倒是差到了不行,最近我當了回DBA把oracle優化了一下,硬盤空間只給我30G,沒空間你叫我怎么做優化,我們公司developer用的機器是512M內存跑oracle,eclipse ,tomcat,toad,這種配置的確讓我很無奈。不過報表最后速度還算可以接受,大概1分鐘不到可以Run出一個Excel的報表6 worksheet,每個worksheet數據大概在6K到2W左右,哦,對了,我們還使用了線程,run excel的時候,是彈出一個單獨的窗口來run的。
普通的報表跟BI的報表是完全不一樣的,所以不知道還有什么能幫你的,希望你早日脫離苦海,也祝我自己早日脫離苦海。阿彌陀佛
這次要比較的是四個平臺的體系結構,
首先看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最重要的就是它的報表,但是它支持輸出的格式很多,管理的方式也很多,也用了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平臺厲害很多,也復雜了很多。
它的各個組件之間模塊化很好,Plugin加載,來看一下它的各個組件:
report : BirtReportDriver , BirtReportEngine , JasperReportDriver ,JasperReportEngine
GEO : GeoDriver , GeoEngine(用地圖顯示數據和查詢的)
OLAP : JPivotDriver , JPivotEngine
QBE : QbeDriver, QbeEngine (以前學Hibernat的時候記得總是說QBE功能很弱,不知道這個這么說 )
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 (talend是官方合作伙伴,順便說一句,官方主頁好像打不開,www.talend.com ,我是直接在sf.net上搜索然后下載下來的)
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是非常之牛的。你可以看到它下面的數據處理層是單獨分出來的,至于為什么牛,我在后面ETL部分會專門提到的。
還有一些很細節的東西,想BIPortlet,BIMessage , Notify ,Schedule , Workflow ,Rule Engine ,Profiling ,Analytical Document 我會在后面盡量把我知道的說一下。
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 , 估計pentaho跟JPivot有仇,雙方互看對方不爽,所以JPivot沒有加入pentaho,呵呵,看玩笑)
Platform : Pentaho Planform
Data Mining: Weka (Weka也加入了pentaho)
下一篇介紹他們的roadmap ,你一定會發現驚奇的事情的。