互動式分析經過在阿裡巴巴集團近3年的沉澱,已覆寫上百個業務團隊,今天小編将會從技術的角度為大家解讀互動式分析的架構亮點,以及基于互動式分析架構搭建的典型應用場景介紹。
架構介紹
系統架構
底層存儲在盤古系統中,存儲計算分離,并與MaxCompute在底層無縫打通,可直接對MaxCompute資料加速查詢。
相容PostgreSQL,提供JDBC、ODBC接口可直接對接各種開發工具、BI分析工具。
規模水準擴充,支援複雜查詢,多元分析,複雜關聯分析。

存儲計算分離
常用的存儲計算有共享存儲方案和非共享存儲方案,而互動式分析采用的是存儲計算分離方案。
1.共享存儲方案:該方案是所有資料都存在公共存儲裡,當多台機器需要寫同一條資料時,為了保證資料的一緻性,需要分步式的檢索機制,帶來一定的開銷。同時也需要維護各個機器之間的一緻性,增加運維成本。
2.非共享存儲方案:該方案是每台機器都有自己的本地存儲,資料會分片存儲在機器的本地存儲,機器通過網絡去協同完成使用者的查詢,優勢在于擴充性好,能做到水準擴充,缺點是當需要擴容或者縮容時,因為資料存儲在機器的本地盤裡,需要将資料遷移到新的機器,整個資料遷移過程非常漫長,時效性差。
3.存儲計算分離方案:該方案是共享存儲叢集,存儲所有資料,所有計算會有單獨的計算叢集,計算存儲通過網絡進行互動,類似共享存儲方案。但是資料在整個過程是分片的,每個計算會由一個單獨節點去寫,類似非共享存儲方案。存儲計算分離結合以上兩種方案,在保證快縮容的同時,又能實作無限的水準擴充。随着帶寬的增長,網絡的延遲變得越來越低,這也就降低了遠端存儲所帶來的額外開銷。同時利用雲端資源,當需要更多存儲時,可申請存儲資源擴容到存儲叢集,需要更多計算時,可申請計算資源擴容到計算叢集,在水準擴充的同時保證資源的彈性,為業務提供保障。
流批統一的數倉
針對Lambda架構,對離線資料的處理是将其寫進離線系統中,優點是高吞吐、效率高,但該系統的缺點是在處理實時資料時,實時性差,通常需要将實時資料存在實時系統中(如Hbase)。這就使得開發人員同時維護兩套系統,并要保證兩套系統的一緻性,開發成本大。
Flink雖然提供一套代碼來維護兩套系統,開發難度縮小,但是從存儲方面來說,也需要兩套存儲,一個存儲離線資料和一個存儲實時資料,同時也經常需要對資料導入導出,操作依然複雜。
而互動式分析作為流批統一的實時數倉,能夠同時存儲實時、離線的資料,在降低開發成本和運維成本的同時,也保證了資料的一緻性和秒級互動式響應。
典型業務場景
實時A/B Testing場景
例如某個産品上線時,通常會進行實時A/B test,常用的流程是:算法工程師在産品的關鍵名額處埋點,實時采集使用者資料(點選、浏覽、收藏等),進而産生使用者的行為日志,并存儲在消息隊列(例如DataHub)中,再經過實時計算,将使用者資訊與行為資料、産品資訊進行關聯,并做資訊的聚合,形成不同的模型,通過對模型的不斷測試和調優,最終得到最優模型。
整個過程中的最大挑戰在于要計算的名額非常多,如果每個名額都用實時計算來做統計,會浪費大量的資源。
針對這個挑戰,引入互動式分析引擎,先用實時計算對名額進行初步對聚合,算法工程師可以根據不同模型的要求将資料進行清洗再寫入進互動式分析,免除不必要資源的浪費現象。算法工程師也會通過互動式分析直接對接第三方分析工具(例如實時報表、實時大屏等)進行模型分析,為進一步了解每個模型的表現情況,需要不斷用互動式分析來進行資料的互動,在此過程中,互動式分析可達到高并發的秒級互動式響應,為下一步的模型快速調優提供強有力的支援。
離線加速場景
MaxCompute是大規模的離線數倉,在離線資料處理上可提供PB級的計算服務。
傳統的離線資料處理過程是:将離線資料存在MaxCompute,再導入到OLAP中,使用OLAP對接BI工具進行資料服務。整個過程中需要資料的導入導出,增加額外成本的同時也不能保證資料擷取的時效性,無法滿足海量資料快速分析的即席要求。
而互動式分析在底層與MaxCompute資源打通,無需資料額外導入導出,就能分析MaxCompute中的資料,大大降低存儲成本和運維成本。同時互動式分析相容PostgreSQL生态,能對接PostgreSQL的BI分析工具也能直接對接互動式分析,實作離線資料的快速可視化分析。
精細化營運
例如雙11大促時,常用的資料鍊路是:使用者資料實時采集進DataHub,實時計算資料清洗寫入到互動式分析,并對接BI工具來實時可視化分析現有資料的表現,進而根據實時情況來做下一步的營運政策。為進一步提升名額,需要對部分使用者進行精細化營運(例如對已加購但未付款的使用者發放一定的優惠券),此時若隻采集實時資料,人群數量龐大,需要借助離線資料(例如過去半年購買情況)将人群變得更加精準化,使用互動式分析直接實時加速查詢離線資料,并設定人群圈定規則,将實時資料與離線資料取交集,來得到最終的精細化人群。
關于互動式分析的更多資訊,可前往互動式分析官網進行檢視:
https://www.aliyun.com/product/hologram也歡迎大家掃碼加入我們的釘釘群進行交流: