統計項目開發總結

最近一直在做統計相關的項目,項目背景和行業方向就不做過多的描述,針對已經做過的工作,整理下開發中的得與失,以及常見的統計技巧。

一、項目架構。

項目開發工具:IDEA2018-02

開發語言:java1.8_131

數據庫:mysql5.7.1

項目架構:springboot(後端)+bootstrap、thymeleaf(前端)。

二、數據庫統計技巧

1.建立統計表,程序或數據庫執行定時任務跑出數據,通過執行統計sql將數據插入統計表。報表統計直接查詢統計表。

方案優點:大量數據下查詢速度快,數據響應及時。方案缺點:定時任務需控制時間,做不到實時查詢。

2.建立存儲過程,對執行統計sql語句相對複雜但並不耗時的數據庫操作,建立對應的存儲過程。本人測試過,存儲過程對且繁調調用20秒左右的sql,可提高查詢時間3-5秒,具體根據數據量而定。

方案優點:一定程度提高查詢效率,sql錯誤直接修改數據庫,程序0改動。方案缺點:無法顯著提高查詢時間,複雜sql實時查詢依舊慢。

三、程序緩存

1.ehCache+springcache做程序緩存,對界面查詢緩慢的數據,可放在程序緩存中。在查詢條件不改變時,可直接先查詢緩存取出數據。

方案優點:直接從內存或磁盤取出,查詢速度快。方案缺點:數據非實時,更改查詢條件依然查詢慢。

目前項目採用的基本還是傳統的java項目實現思路,除部分統計做到實時查詢,相對複雜的運算統計邏輯存在一定延時。未來更近一步的解決思路,藉助大數據相關的技術,提高項目的性能,做出根據數據特徵的態勢感知,真正去挖掘數據背後的價值。

開發總結:

1.數據統計一定建立在對數據結構,業務方向邏輯充分了解的前提下。預先理清需求,時間維度可能變化的量,統計項中不確定的量。

2.動手寫統計sql之前,一定要弄清對照數據的來源,在寫好統計後對照來源數據,確保數據的準確性。

3.設計不合理之處及時指出,統計項要有數據來源,數據出處,即追溯到元數據,無原始特徵數據協調解決。數據發掘不能時空中樓閣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章