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