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