這段時(shí)間,,我們項(xiàng)目中采用JPivot+Mondrian架構(gòu)來(lái)解決項(xiàng)目中多維分析的需求,,在研究過(guò)程中發(fā)現(xiàn)該東東有不少的缺點(diǎn),大概羅列了一下,,有如下11點(diǎn):
1,、 JPivot只能用于做OLAP分析,展示多維數(shù)據(jù)報(bào)表,;對(duì)于水平表不能夠?qū)崿F(xiàn),。 處理辦法:使用BirtReport、JarseReport等開源報(bào)表來(lái)彌補(bǔ)JPivot的天然不足,。 2,、 JPivot有緩存處理機(jī)制,但是其緩存最大數(shù)未知,。 3,、 JPivot在遇到查詢無(wú)結(jié)果集時(shí)Mondrian會(huì)拋出錯(cuò)誤信息,JPivot會(huì)捕獲這些異常,,并且暴露在應(yīng)用前端,,并且在不斷地嘗試數(shù)據(jù)庫(kù)連接,導(dǎo)致系統(tǒng)崩潰,。 處理辦法:加一個(gè)錯(cuò)誤提醒頁(yè)面,,如果JPivot報(bào)出錯(cuò)誤,則系統(tǒng)直接跳轉(zhuǎn)到錯(cuò)誤提醒頁(yè)面,。但是對(duì)于Mardrian不斷地嘗試數(shù)據(jù)庫(kù)連接問(wèn)題一時(shí)難以解決,。 4、 由于JPivot是通過(guò)wcf實(shí)現(xiàn)的標(biāo)簽庫(kù),,在前端展示效果不美觀,,如要改變必須修改大量的源碼。 5,、 對(duì)于分析查詢結(jié)果不能實(shí)現(xiàn)分頁(yè)效果,,如要改變,必須修改源碼,,并且難度很大,。 6、 在JPivot基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)回寫難度大,,要盡快安排人員來(lái)研究,,對(duì)于數(shù)據(jù)回寫功能,要能識(shí)別是否是聚合數(shù)據(jù),,對(duì)于聚合是不能回寫的,。 7、 JPivot的所有功能操作都是保存在HttpSession 中。當(dāng)我同時(shí)打開了連接jsp頁(yè)面,,在A.jsp頁(yè)面上操作點(diǎn)擊了鉆取和圖表,,再打開B.jsp頁(yè)面操作點(diǎn)擊行列轉(zhuǎn)換操作,那么在B.jsp頁(yè)面中顯示的就是有行列轉(zhuǎn)換和鉆取及圖表顯示效果,。 8,、 由于Mardrian多維分析是通過(guò)MDX多維表達(dá)式是實(shí)現(xiàn)數(shù)據(jù)邏輯模型描述,,必須要定義xml文件,,通過(guò)Schema來(lái)描述立方體的邏輯模型和物理模型的對(duì)應(yīng)關(guān)系。對(duì)于每個(gè)數(shù)據(jù)展現(xiàn)都要有取定義Schema描述,,學(xué)習(xí)成本高,。 9、 沒有完善的開發(fā)文檔,、幫助手冊(cè),,遇到問(wèn)題不能迅速解決。 10,、使用JPivot和Mondrian,,需要編寫DMX語(yǔ)句及Schema元數(shù)據(jù)模型,要求開發(fā)人員對(duì)OLAP數(shù)據(jù)模型,、及數(shù)據(jù)倉(cāng)庫(kù)思想,、理論認(rèn)識(shí)較高。學(xué)習(xí)成本高,,只有相當(dāng)熟練程度才能達(dá)到快速開發(fā)的目的,。 11、JPivot,、Mondrian沒有可視化的開發(fā)工具,。 |
|