Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏
簡介:?本篇將重點介紹Hologres在阿里巴巴淘寶營銷活動分析場景的最佳實踐,揭秘Flink+Hologres流批一體首次落地阿里雙11營銷分析大屏背后的技術考驗。
概要:剛剛結束的2020天貓雙11中,MaxCompute交互式分析(下稱Hologres)+實時計算Flink搭建的云原生實時數(shù)倉首次在核心數(shù)據(jù)場景落地,為大數(shù)據(jù)平臺創(chuàng)下一項新紀錄。借此之際,我們將陸續(xù)推出云原生實時數(shù)倉雙11實戰(zhàn)系列內容,本篇將重點介紹Hologres在阿里巴巴淘寶營銷活動分析場景的最佳實踐,揭秘Flink+Hologres流批一體首次落地阿里雙11營銷分析大屏背后的技術考驗。
一、背景介紹
在淘系業(yè)務運營中,大促是業(yè)務運營和用戶增長中非常重要的場景,而營銷活動分析產品作為大促期間用來服務決策、指導運營的核心數(shù)據(jù)產品,覆蓋活動前、中、后全鏈路的分析,其中需要滿足不同角色小二在不同階段下,對數(shù)據(jù)時效性和數(shù)據(jù)靈活性的不同要求,整體產品大圖如下:
老版營銷活動分析是基于常規(guī)的實時離線數(shù)據(jù)體系&FW的產品架構,在之前的各類大大小小的活動中,也暴露了比較多的問題,其中核心的問題可以歸納為三類:
- 實時和離線數(shù)據(jù)不一致:相同口徑的數(shù)據(jù)實時和離線不一致,包括數(shù)據(jù)邏輯口徑不統(tǒng)一、數(shù)據(jù)接口不統(tǒng)一,由于實時和離線數(shù)據(jù)開發(fā)割裂(開發(fā)人員和接口),不僅僅增加了整體數(shù)據(jù)的運維成本,同時產品搭建層面的負擔也大幅度提升。
- 維護成本高:隨著業(yè)務量的增加,原有數(shù)據(jù)庫不能快速、靈活的支持復雜且多變的應用場景。常規(guī)的Hbase、Mysql、ADB數(shù)據(jù)庫,都只能單點滿足海量數(shù)據(jù)、高并發(fā)存儲點查、OLAP查詢,因此面對極其復雜的業(yè)務,需要依賴多個數(shù)據(jù)庫,整體維護成本和依賴成本會非常高。
- 擴展性差:在FW框架下的產品搭建邏輯復雜度高、可擴展性都比較差,在活動期間維護的成本非常大
因此,如何能夠快速應對頻繁變動的業(yè)務訴求,以及更高效的處理活動期間的數(shù)據(jù)問題變得越來越重要,升級的新一代營銷活動分析架構因而需要滿足以下幾個優(yōu)點:
1. 實時數(shù)倉與離線數(shù)倉能夠模型統(tǒng)一(實時離線邏輯統(tǒng)一)、接口統(tǒng)一(數(shù)據(jù)存儲、取數(shù)統(tǒng)一),真正做到流批一體
2.?需要有更強大的數(shù)倉,既能夠滿足海量數(shù)據(jù)的并發(fā)寫入查詢,還能夠滿足業(yè)務的及時查詢功能
3. 簡化現(xiàn)有的產品搭建邏輯、降低產品實現(xiàn)復雜度
基于上訴背景,我們需要重構當前架構并尋找另外的替代產品來解決業(yè)務痛點。經過長時間的調用和嘗試,最終我們選擇了基于實時計算Flink+Hologres+FBI(阿里內部的一款可視化分析工具)的技術方案來實現(xiàn)天貓營銷活動分析的架構重構。
二、 流批一體技術方案
通過深度剖析業(yè)務對數(shù)據(jù)的要求,以及多方位數(shù)據(jù)模型探索和數(shù)倉的調研,最終確定了營銷活動分析產品重構的整體技術框架,如下圖所示,其中的核心要點有:
- 通過流批一體架構升級,實現(xiàn)了流批SQL邏輯&計算引擎層面統(tǒng)一
- 通過Hologres實現(xiàn)了數(shù)據(jù)存儲和查詢的統(tǒng)一
- 利用FBI產品能力,在降低搭建成本的同時滿足業(yè)務的高靈活性,同時滿足不同角色對于報表的需求
**
下面,我們將詳細介紹整個技術方案中核心的幾大技術方案:流批一體、Hologres、FBI
1. 流批一體技術框架
傳統(tǒng)數(shù)倉架構圖如下圖所示,傳統(tǒng)數(shù)倉架構核心問題:
- 流批間的存儲層割裂,集群、表、字段都是分開的,導致應用層對接時需要寫不同的取數(shù)邏輯。
- 流批間的處理邏輯不能復用,SQL標準不一樣,計算引擎不一樣,導致實時和離線需要分別開發(fā),其實很多情況下,邏輯大同小異,但系統(tǒng)之前不能靈活轉換,導致工作量重復
- 計算層集群分開,實時和離線對資源的使用時間段高峰不一樣,導致資源利用率不夠高,波峰波谷非常明顯
流批一體數(shù)倉架構圖如下圖所示,升級后的架構主要有以下核心點需要關注:
- 首先,數(shù)倉DWD層雖然在存儲介質上不同,但需要保證數(shù)據(jù)模型的等價,然后進行邏輯表封裝(一個邏輯表映射兩個物理表,即實時DWD和離線DWD),數(shù)據(jù)計算代碼的撰寫都是基于該邏輯表開發(fā)
- 其次,基于邏輯表的代碼開發(fā)、流、批計算模式的個性化配置、以及不同的調度策略等,需要有開發(fā)平臺(Dataphin流批統(tǒng)一開發(fā)平臺)作為支撐,形成便捷的開發(fā)、運維一體化
- 最后,基于OneData規(guī)范的存儲層統(tǒng)一,不僅是模型規(guī)范統(tǒng)一,還是存儲介質的統(tǒng)一,做到了無縫的銜接
今年雙11,實時計算Flink處理的流量洪峰創(chuàng)紀錄地達到了每秒40億條的記錄,數(shù)據(jù)體量也達到了驚人的每秒7TB,基于Flink的流批一體數(shù)據(jù)應用在營銷活動分析場景中嶄露頭角,并在穩(wěn)定性、性能和效率方面都經受住了嚴苛的生產考驗
整體Flink流和Flink batch任務在活動期間都表現(xiàn)了極強的穩(wěn)定性,全程0鏈路容量、機器單點、網絡帶寬等問題的發(fā)生
2. Hologres流批一體落地
流批一體數(shù)據(jù)架構實現(xiàn)了整體的數(shù)據(jù)層面的統(tǒng)一,還需要選用一款產品讓整體的存儲統(tǒng)一,這款產品需要即支持高并發(fā)寫入,又能夠滿足及時查詢,同時還能夠支持OLAP分析。
在老版本的架構中每個頁面模塊會涉及到一個或多個數(shù)據(jù)庫的數(shù)據(jù)查詢,如Mysql、Hbase、ADB3.0「老版本HybridDB」等。由于Hbase的高并發(fā)寫入、高性能點查等特性,所以大多數(shù)實時數(shù)據(jù)就會放在Hbase中;而由于Mysql表管理便捷、查詢簡易等好處,維表數(shù)據(jù)、離線數(shù)據(jù)通常會選擇存放在其中;另外,產品的一些模塊涉及到的數(shù)據(jù),具有數(shù)據(jù)量小、維度多等特征「如營銷玩法數(shù)據(jù)」,則會選擇ADB作為OLAP多維分析的數(shù)據(jù)庫。如此,就會存在兩個痛點:實時數(shù)據(jù)與離線數(shù)據(jù)的割裂、多數(shù)據(jù)庫多實例的雜亂管理。
新版營銷活動分析產品的建設,一個目標是要做到存儲統(tǒng)一,降低運維成本和提高研發(fā)效能;另外一個目標是高性能、高穩(wěn)定、低成本。
我們通過與多方位的產品對標之后,選用了Hologres作為整個營銷活動分析的統(tǒng)一產品。Hologres作為一款兼容PostgreSQL 11協(xié)議的一站式實時數(shù)倉,與大數(shù)據(jù)生態(tài)無縫打通,支持PB級數(shù)據(jù)高并發(fā)、低延時的分析處理,可以輕松而經濟地使用現(xiàn)有BI工具對數(shù)據(jù)進行多維分析透視和業(yè)務探索,在這樣復雜的業(yè)務場景中Hologres的優(yōu)勢就表現(xiàn)得極為突出了。
通過對整體營銷活動分析個模塊的深度分析,以及結合業(yè)務側對數(shù)據(jù)時效性的要求,整體將營銷活動分析的幾大模塊的數(shù)據(jù)制定了具體的實時鏈路方案:
- 活動直播、預售、加購、流量監(jiān)控等核心模塊,我們選用了Hologres的實時點查能力,
- 面對復雜多變的營銷玩法場景,我們選用了Hologres的OLAP即時查詢能力
針對營銷活動分析需要的點查能力和OLAP分析能力,天貓營銷活動分析分別建了dt-camp和dt-camp-olap庫,其中dt_camp點查庫由于需要將活動期間的一些歷史數(shù)據(jù)長期存放用來做活動的對比,整體數(shù)據(jù)量級在近40TB;營銷玩法的OLAP庫中,存放的是玩法的一些明細數(shù)據(jù),整體數(shù)據(jù)量級在近百TB,由于營銷玩法對整體數(shù)據(jù)的準確度要求非常高,因此沒有采用有損精度的查詢方式,對整體數(shù)倉的查詢性能提出了更高的要求。
為了提升Hologres的整體性能,針對營銷活動分析數(shù)倉主要做了一下幾類優(yōu)化策略:
Hologres在雙十一期間表現(xiàn),點查場景的寫入峰值達幾十w/s,服務能力幾百w/s,OLAP寫入峰值400w/s,服務能力500w/s。同時單點查詢&OLAP查詢幾乎都能夠滿足單條查詢小于ms的查詢比例高達99.7%以上,因此在整個活動期間,Hologres整體表現(xiàn)非常平穩(wěn),能夠很好的同時支持快速點查和快速OLAP分析。
3. FBI分析大屏
FBI作為阿里生態(tài)內的首選數(shù)據(jù)可視化平臺,即能快速支持搭建各類報表進行數(shù)據(jù)分析,也能支持多種數(shù)據(jù)集的快速接入與擴展,還有支持各種分析型數(shù)據(jù)產品建設的高級功能【產品搭建】。
在FBI產品搭建的核心流程中,可以通過4個核心功能大幅降低搭建成本:
1)實時離線一體的“實時小時分鐘模型”,自動實現(xiàn)實時數(shù)據(jù)的精確趨勢和對比
針對營銷活動定義的批流一體的底層數(shù)據(jù),為了滿足用戶分析實時數(shù)據(jù),實時對比,小時對比的靈活性,FBI抽象出一套實時離線一體的標準數(shù)據(jù)模型,創(chuàng)建該模型后就可以實現(xiàn)實時數(shù)據(jù)的精確對比,趨勢分析自動路由分鐘表,小時趨勢直接路由到小時表的能力。
2)FBI原創(chuàng)的FAX函數(shù),極簡定義輸出各種復雜指標
針對復雜的指標:如通道占比,類目占比,同比貢獻度,活動累計成交額,上個版本中均是用sql套sql進行定義,不僅導致SQL長度保障,同時產品的穩(wěn)定性和可維護性都大大降低。為了解決這類問題,FBI構建了一套易于學習和理解的分析DSL,名為 FAX函數(shù)(同比差額、貢獻率、活動累計等20+分析函數(shù)),簡單的一行語句可以定義出營銷活動分析中用到的各種復雜指標。
3)通過分析能力配置化和專有邏輯插件化,大幅節(jié)約頁面構建時間
產品頁面構建是一個非常核心的環(huán)節(jié),如何節(jié)約用戶的配置,FBI的方法就是:
a、通用分析能力配置化:對于最常用到的交叉表、活動對比,日期變量傳參等分析場景,抽象升級為簡單的配置項,即可完成相應的同期對比和同比差額等分析。
b、專有邏輯插件化:對于活動參數(shù),顯示隱藏,結果排序等作用于區(qū)塊的定制能力,可以通過數(shù)據(jù)插件的方式覆蓋。
4、打造沉淀FBI的高保障體系,升級了發(fā)布管控,監(jiān)控預警,變更提示等,支持1-5-10
三、測試端的保駕護航
為了進一步保障營銷活動分析產品質量,測試端從明細->匯總->產品端都做了嚴格的數(shù)據(jù)比對和校驗,同時針對大促的核心數(shù)據(jù),進行了全方位的監(jiān)控
在活動期間測試巡檢功能大大提升了主動發(fā)現(xiàn)數(shù)據(jù)問題的能力,以及及時發(fā)現(xiàn)核心問題的能力,大大的提升了活動期間整個數(shù)據(jù)產品的質量和穩(wěn)定性
四、業(yè)務反饋&價值
整個雙十一期間,基于實時計算Flink+Hologres流批一體的營銷活動分析產品不僅支持了天貓事業(yè)群上千+小二的人均上百PV高頻訪問,更實現(xiàn)了0 P1/P2故障的目標,同時整個產品在活動期間表現(xiàn)了相比往年更有優(yōu)勢的幾大方面:
- 豐富:實時數(shù)據(jù)在營銷活動分析產品中大規(guī)模鋪開,核心維度可以down到活動商品、商家標簽分層等多個維度,同時加購和預售都新增了商家、商品維度的實時數(shù)據(jù),更加友好的支持了業(yè)務側進行商家的BD
- 穩(wěn)定:基于Hologres持續(xù)高穩(wěn)定的輸出,整體雙十一期間不論是實時數(shù)據(jù)寫入、還是數(shù)據(jù)的讀取都表現(xiàn)出了極強的穩(wěn)定性;同時工程端實時監(jiān)控用戶訪問和數(shù)據(jù)響應效率,實時分析解決業(yè)務問題;產品巡檢涵蓋了產品的核心數(shù)據(jù),進一步的保障了整個產品的穩(wěn)定性
- 高效:流批技術的應用,以及Hologres的統(tǒng)一對接,不僅大幅度的提升了活動期間的需求接入效率(今年雙十一期間整體需求承接能力是去年的3倍),同時整體的提升了問題反饋和解決的時效(相比以往活動提升了3-4倍)
五、未來展望
雖然已經經歷了一次大促大考驗,但是技術的探索永無止境,我們需要不斷的完善來應對更加復雜的業(yè)務場景:
1)Dataphin流批一體的產品進一步完善,減少人工干預成本,同時進一步保證數(shù)據(jù)質量
2)Hologres資源隔離,讀寫資源隔離,更好地保證查詢的SLA;打通Hologres與MaxCompute,支持元數(shù)據(jù)的互通,為產品元數(shù)據(jù)提供更高的保障;動態(tài)擴容,能夠靈活應對峰值及日常的業(yè)務需要。
3)FBI產品工具,能夠提升產品版本管理功能,同一頁面支持多人編輯不覆蓋,更加高效的支持產品搭建
原文鏈接
本文為阿里云原創(chuàng)內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在工作中快速成长?致工程师的10个技
- 下一篇: 问答题:如何构建一套满足GPT-3的存储