一、普通實時計算和實時數倉的比較
普通實時計算優先考慮時效性,從數據采集經過計算直接得到結果,時效性更好,但是中間結果沒有沉淀下來,當面臨大量實時計算的時候,計算的復用性差,開發成本大大提高;
實時數倉是基於數倉理論對數據分層,提高數據的復用率;
二、實時數倉分層
ods:原始數據,業務
dwd:數據對象進行分流,比如頁面訪問,訂單等
dim:維度數據
dwm:對部分數據進一步加工,可以和維表進行關聯,形成寬表,依舊是明細數據
dws:將某個主題與多個事實數據輕度聚合,形成主題寬表
ads:把clickhouse數據根據可視化需求篩選聚合
三、離線計算和實時計算的比較
離線計算:計算前已知所有數據,輸入數據不會變化,計算量大,時間長,根據前一日的數據生成報表,對時效性不敏感。
實時計算:輸入數據以序列化的方式一個個輸入並行處理,開始的時候並不需要知道所有的輸入數據,量小計算時間短,所查當下給出結果側重當日數據的實時監控,邏輯相對離線更為簡單,統計指標也少一些,更注重時效與用戶的交互性。
四、實時需求種類
1.日常統計報表,分析圖包含當日部分
針對企業運營管理,僅靠離線,時效性無法滿足,計算當日,分鍾級,秒級的數據,便於企業快速的反應與調整。所以實時數據往往與離線數據合並展示在BI,統計平台中。常規的數據大屏
2.數據預警
風控預警,營銷提示,以便快速采取應對措施,檢測到用戶的行為對於某些商品具有較強的購買意願,那么可以把這些“商機”推送給客服部門,讓客服進行主動的跟進。
3.實時推薦
實時推薦就是根據用戶的自身屬性結合當前的訪問行為,經過實時的推薦算法計算,從而將用戶可能喜歡的商品、新聞、視頻等推送給用戶。