大數據應用背景
隨著各個業務系統的不斷增加,以及各業務系統數據量不斷激增,IT數據支撐方的工作變得越來越復雜。主要問題如下:

多數據源整合
數據來自多個不同的業務系統,需要對接各種數據源并整合成統一數據倉庫

數據體量大
積累的數據越來越多,數據體量越來越大,但對數據分析的要求越來越高

數據二次加工
獲取到源數據后,往往都要再對數據進行清洗、刪減、計算等二次加工操作
大數據分析架構圖
基于Spider大數據引擎的直連模式和本地模式,可支撐BI數據分析的各種應用場景。

底層大數據技術

列式數據存儲
抽取數據的存儲是以列為單位的, 同一列數據連續存儲,在查詢時可以大幅降低I/O,提高查詢效率,并且連續存儲的列數據,具有更大的壓縮單元和數據相似性,可以大幅提高壓縮效率。

智能位圖索引
位圖索引即Bitmap索引,是處理大數據時加快過濾速度的一種常見技術,并且可以利用位圖索引實現大數據量并發計算,并指數級的提升查詢效率,同時我們做了壓縮處理,使得數據占用空間大大降低。

數據本地化計算
為了減少網絡傳輸的消耗,避免不必要的shuffle,利用Spark的調度機制實現數據本地化計算。在知道數據位置的前提下,將任務分配到擁有計算數據的節點上,節省了數據傳輸的消耗,完成巨量數據計算的秒級呈現。

智能緩存
直連模式下會直接和數據庫對話,性能會受到數據庫的限制,因此引入encache框架做智能緩存,以及針對返回數據之后的操作有多級緩存和智能命中策略,避免重復緩存,從而大幅提升查詢性能。
典型應用場景
歷史數據自助分析
業務需求
客戶項目的底層為關系型數據庫oracle和sqlserver,大量級數據多維度查詢計算,若直接對接傳統關系型數據庫進行數據分析查詢,就容易出現性能瓶頸
解決方案
采用Spider引擎的本地模式,將數據抽取到本地磁盤中,以二進制文件形式存放,查詢計算時候多線程并行計算,完全利用可用CPU資源。從而在小數據量情況下,展示效果優異。計算引擎與Web應用放在同一服務器上,輕量方便。
達成效果
底層數倉實際最大單表數據量億級以內,對于數據量較大的幾個分析(數據量在5kw左右),數據庫的查詢需要耗費10min,抽取之后在3s之內就可以快速展示,大大提高了用戶的分析效率。