1.1 系統構成
童式魔方的構成主要包括:數據倉庫、ETL、元數據解析器、數據分析引擎、公式解析器、數據渲染引擎、緩存機制、知識庫、報表展示器、圖形展示器。
1.1.1 數據倉庫
童式魔方可采用各種sql數據庫來建立數據倉庫,具體的選擇需根據用戶的實際情況,對于一般情況的需求最簡單的方法就是采用mysql數據庫。
1.1.2 ETL
ETL是數據采集、清洗的工具,負責從各類數據源中根據用戶需要篩選出來的感興趣的數據并創建成通用、可重復使用的多維數據立方體;ETL具有極高的存儲效率和響應速度,一旦創建規則、建立存儲,企業不同層級用戶將基于立方體進行商業分析,完全與生成系統進行剝離,性能可靠性得到保障,保證用戶訪問數據的響應速度。
1.1.3 元數據解析器
元數據是系統中關于數據源、數據結構、業務模型等的描述,是整個分析系統的基礎,童式魔方的設計、開發和使用都是基于元數據來進行的。系統采用了業界標準的立方體定義方法,并對其進行了部分的改進,如樹型描述部分;系統提供了對這種定義方法的解析器,該解析器支持元數據的熱加載,在系統啟動時便可加載已定義的元數據,亦可在系統啟動后檢測到新的元數據定義并加載,隨時準備提供給用戶做分析設計。 輸入:元數據定義文件;輸出:元數據對象;元數據解析器具備以下特性:l 準確性:相同的元數據定義應該產生一致的解析結果。l 熱加載:對新增的元數據定義的反應 應該是快速及時的。
1.1.4 數據分析引擎
數據分析引擎是整個系統的核心部分,主要負責:立方體的模擬、把設計緯度解析成分析緯度、把原生數據轉換成立方體數據、緯度與度量的上卷與下鉆、子立方的計算(與公式解析器的交互)、子立方的定位;輸入:原生數據(數據倉庫提供)、設計立方體(知識庫提供);輸出:計算后的模擬立方體對象;數據分析引擎還應該提供對自身工作的監控信息,監控信息應該包含模擬立方體對象生成的時間和數據容量等信息。――未完成數據分析引擎具備以下特性:l 準確性:相同的原生數據在相同的統計口徑中應該產生一致的分析結果;l 高性能:對數據的處理應該是快速及時的;l 伸縮性:對數據的處理和分析是可配置的;l 智能型:可自識別所有的子立方是否計算完成,避免無限制的計算;
1.1.5 公式解析器
公式解析器用與配合數據分析引擎對自定義緯度的公式進行解析和計算,支持四則運算、分片排名、同期比、環比;公式的參數定義規則有兩種:父子關系、軸坐標;輸入:自定義公式、模擬立方體對象;輸出:計算結果;公式解析器具備以下特性:l 準確性:相同的模擬立方體對象在相同的計算公式中應該產生一致的計算結果;l 高性能:對公式的解析、參數在模擬立方體的定位、結果的計算應該是快速及時的;l 易擴張:公式定義的需求是多變的,解析器需不斷擴展自己的解析能力;
1.1.6 數據渲染引擎
數據渲染引擎負責對數據分析引擎提供的數據進行最后的格式化操作,包含數據的監控報警信息,用于提供給分析結果展示器;數據渲染引擎扮演一個油漆工的角色,只是對數據分析引擎分析完成的數據進行美化工作;輸入:模擬立方體對象;輸出:格式化數據; 渲染引擎應該具備以下特性:l 高性能:對數據的渲染應該是快速的;l 兼容性:渲染引擎輸出應該兼容同類設備,例如Html應該兼容IE和FireFox;
1.1.7 緩存機制
緩存機制的產生主要是為了解決多用戶的并發訪問和相同立方體的訪問,主要是向外提供已經被緩存了的數據;緩存機制緩存的數據可能是原生數據,也可能是數據分析引擎生成的模擬立方體對象或者數據渲染引擎生成的數據。輸入:供存儲的數據輸出:無或者被緩存的數據緩存機制具備以下特性:l 高性能:對被緩存的數據的查找和返回應該是快速的;l 高并發:緩存機制能夠舒緩多用戶操作帶來的并發壓力問題,主要舒緩后端立方體數據的并發計算和原生數據的并發訪問;l 自適應:能根據總體內存的大小和數據的使用頻率來清理緩存,使自身能良好運作;
1.1.8 知識庫
知識庫用于存儲用戶定義的各種分析要求,包括立方體的定義和緯度定義,并提供簡單易用的設計界面。知識庫作為整個系統的核心配置存儲應該具備以下特性:l 數據的穩健性:知識庫中的數據因為涉及大量的報表配置信息,這些數據應該是穩定而且不易丟失的;l 查詢性能:因為報表引擎頻繁訪問知識庫中的數據,一般情況下,知識庫的查詢性能優于其寫入性能;
1.1.9 報表展示器
報表展示器用于對分析結果的展現,結合數據渲染引擎可支持html、excel、pdf等多種格式的展現,html的展現可支持緯度的上卷、下鉆、篩選、行列對換,亦可支持度量數據的鉆取等操作。輸入:數據渲染引擎渲染后的數據輸出:報表報表展示器具備以下特性:l 高性能:報表展示器能把模擬的立方體數據快速轉換成報表數據;l 直觀性:報表呈現的數據要直觀易懂,提供交互的地方要易操作。
1.1.10 圖形展示器
圖形展示器用于對分析結果的圖形展現,可支持柱圖、線圖、區域圖、餅圖等多種形式的圖形展現。輸入:模擬立方體對象、圖形展示參數輸出:圖形圖形展示器具備以下特性:l 高性能:圖形展示器能把模擬的立方體數據快速轉換成圖形數據;l 圖表聯動:圖形展示器可根據用戶對報表的操作結果生成相應的圖形。