钱大妈数据中台建设最佳实践
公司簡介
錢大媽是在社區生鮮連鎖中,以"不賣隔夜肉"作為品牌理念的的行業開拓者。在成立之初即從新鮮角度重新梳理傳統生鮮行業的標準,對肉菜市場進行新的定義。通過嘗試和驗證"日清"模式,以及"定時打折"清貨機制,堅定落實不隔夜銷售。
截至2021年5月,錢大媽已全國布局近30座城市,門店總數突破3000家+,服務家庭超1000萬+,經營蔬菜、水產、水果、豬肉類、肉類(非豬肉)、蛋奶、加工食品、綜合標品八大生鮮品類,逾500種優質產品。 而"不賣隔夜肉"的理念,回歸最樸素的目的:讓消費者能買到新鮮的食物。踐行這一理念,除了依賴強大的供應鏈系統,更離不開科學技術和數字化建設的支持。
項目背景
錢大媽全渠道數據中臺主要承載交易側數據,貼近業務一線為業務賦能。現數據中臺已為3000家+門店提供在線數據服務,支撐各部門運營、業務人員在智慧中臺進行數據分析、挖掘數據背后的業務價值,并作為錢大媽首個支持實時計算、首個完成數據埋點的團隊,從數據驅動業務理念為出發點,為錢大媽業務發展保駕護航。
而項目初期,在極端情況下只有一個產品、一個技術的人員配置情況下,一個月內背靠背完成項目初期的基礎建設,包括但不限于:數倉規劃、技術架構、維度建模、數據指標、數據開發等一系列工作,那么我們團隊是如何在有限的人力資源下進行破局的呢?下面請聽我娓娓道來。
數據中臺建設
架構和中間件的選型,影響數據中臺建設過程中后續的開發流程和運維復雜度,而目前開源的大數據組件可謂是遍地開花,每個組件都各有特色,但是它們在大數據的體系化方面又各有各的玩法。
琳瑯滿目的大數據組件組合方案:
本著以業務為導向的原則,我們希望整個架構易于運維管理,功能性盡可能統一,以便將更多的精力和時間用在業務思考和數據賦能的應用上。
- 我們的硬需求:離線計算引擎,實時計算引擎,OLAP數據庫,KV數據庫,數據集成組件,分布式存儲系統
- 我們的軟需求:計算資源可彈性調整、易于運維且組件鏈路盡可能短、批流統一
在項目前期投入人力有限,業務急需在短期內上線的背景下,綜合考慮成本和系統架構的兼容性和擴展性,我們團隊認為基于云原生的全托管大數據解決方案:DataWorks+Maxcompute+Hologres+Flink比較適合我們。
以下是各個組件的定位:
- DataWorks:數據的集成、開發、運維、服務等的一站式管理平臺
- Maxcompute:離線分布式計算引擎
- Hologres:查詢性能快、支持在線OLAP、KV點查、實時讀寫
- Flink:高性能實時計算系統
錢大媽數據中臺架構 V1.0
產品選型確定好之后,開始建設數據中臺V1.0,主要應用在業務接口加速查詢場景。以下為數據中臺V1.0架構圖:
當確定了架構和中間件后,從云組件開通到VPC網連通一天內就可以完成,讓項目組可以快速地投入項目初期的業務數據集成接入和數據分域建模工作。這兩項大工程,我們都可以在Dataworks的對應模塊上完成。
在數據接入過程中,我們不需要部署諸如Kafka+Canal組件來完成業務數據庫的Binlog訂閱和部署AirFlow等組件來負責任務調度管理,通過DataWorks的數據集成模塊,即可將業務數據"一鍵"實時和離線同步到Maxcompute和Hologres。
在DataWorks的數據建模功能上,我們通過建模語言:基于Kimball維度建模范式下梳理業務板塊、業務過程,并進行數據分域、維表事實表定義等數據建模操作,并用FML(Fast Modeling Language)建模語言將邏輯模型落實到物理模型。
在業務接口查詢加速場景上,我們通過將MaxCompute的數據離線調度至Hologres內表以獲得更快的查詢體驗,由于兩者底層數據無縫連接,所以同步速度也是比較快的,10萬級別的數據只需1秒即可完成(100,000/s)。
選擇Hologres作為在線業務支持的重要一環,是因為:
錢大媽數據中臺架構 V2.0
在數據中臺V2.0建設上,我們的架構分階段先后實現了純離線、離線-實時的Lambda架構迭代。如下圖所示:
值得留意的是,在數據中臺V2.0版本,我們只是新增了一個實時計算引擎(Flink),就擴展出了一條新的實時鏈路:Hologres(source)-> Flink -> Hologres(Sink)。這得益于這兩個組件的原生適配:
Lambda架構下經常面臨的一個問題點就是實時和離線的計算結果如何聯邦計算,Hologres的內表和外表結合的特性從設計層面就為我們解決了這個問題:實時計算的結果存儲在內表,離線計算的結果存儲在MaxCompute上,通過外表進行訪問,由于Hologres在底層和MaxCompute數據無逢連接,方便聯通離線和實時數據。
在數據中臺V1.0純離線的架構版本,我們更多的是通過離線ETL加工,將ADS層的結果集推到Hologres作為查詢的加速。但隨著業務的發展,更要求我們具備實時性的DWD寬表層和準實時、甚至是實時的、主題性DWS層的數據。因此在技術上,我們基于Hologres內外表特性實現的實時打寬、冷熱鏈路和數據回刷機制:
如訂單業務場景,業務端需要要實時獲取近30天的訂單變更情況,因此近30天的熱數據我們用Flink實時寫入Hologres內表,因為內表的優勢是查詢快,缺點是存儲成本略高(內表存儲在SSD,硬件成本高)。對于超30天的數據,通過歸檔或直接訪問的形式訪問存儲在MaxCompute上的數據,做到冷熱數據的分層,降低低頻訪問數據的存儲成本。另外,利用Hologres支持PK的特性,通過"Insert on Conflict"的語義定期對實時寫入的數據進行滾動補漏、數據回刷等數據兜底機制,確保數據層具備"自修復"能力,防止某些故障情況下實時寫入帶來的數據不一致情況。
如BI場景,業務可以接受5-10分鐘左右的延遲,我們通過結合微批調度和邏輯視圖計算DWS層,用于支持BI數據接口和業務的即席查詢。 依然是通過內外表的形式,實現數據的冷熱分層。冷數據則視業務和數據量情況,決定是存儲于MaxCompute通過外表訪問,還是同步進Hologres內表加速查詢速度。最后通過在Hologres進行查詢時的合并,達到聯綁查詢的效果。
風控場景應用
數據中臺架構V2.0目前已在錢大媽多個業務場景落地,如數據服務、數據報表、實時風控系統等,下面將介紹如何具體應用到風控場景。
實時風控系統需要結合業務記錄和埋點日志在線甄別異地支付、大筆異常訂單、消費終端變更等風險事件,實時觸發風險應對動作,為風控專員提供及時的數據支撐和更快速的反應能力。
從上圖可以看到,實時風控數據流的整過生命周期都會經過Hologres:數據源Binlog、實時維表點查、OLAP分析:風控全鏈路都由Binlog進行事件式驅動,且Hologres在開啟Binlog模式下,底層提供Binlog信息查詢,方便定位消費位點和復盤消費情況。在維表點查場景則可以使LRU,微批寫入等優化手段進行Lookup Join性能優化。最終將結果信息實時寫回Hologres提供在線分析和即席查詢應用,也可以實時推到其它業務關聯觸達系統,進行業務端攔截、系統報警等一系列風險應對動作,以此完成整個風控場景的閉環。
業務價值
錢大媽全渠道數據中臺基于阿里云大數據方案進行敏捷式的業務落地,支撐內外部多個應用場景,給業務帶來的價值主要如下:
期望
Hologres作為云原生體系下的一款HSAP(分析服務一體化)產品,從定位和理念上都與錢大媽全渠道數據中臺的架構理念一致,希望在不久的將來能在產品側能夠支持如下特性:
作者:彭明德,目前就職于錢大媽,任全渠道數據中臺項目經理和大數據開發工程師
原文鏈接:https://developer.aliyun.com/article/792114?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的钱大妈数据中台建设最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 牛!江苏老人用AIoT技术管理千亩良田
- 下一篇: 一朵云、一张网、一体化 ——GRTN 打
