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