重构知识的供给模式 ——《数据平台》从思考到落地
簡(jiǎn)介:如何去建立一套 “高度自動(dòng)化&體系化的知識(shí)管理系統(tǒng),重構(gòu)知識(shí)的供給模式”。是不是看不懂?而且有點(diǎn)沖?是不是謎語(yǔ)人附體?別急,本文作者將會(huì)做詳細(xì)的說(shuō)明。
作者 | 七惜
來(lái)源 | 阿里技術(shù)公眾號(hào)
一 前言
我們想嘗試去建立一套 “高度自動(dòng)化&體系化的知識(shí)管理系統(tǒng),重構(gòu)知識(shí)的供給模式”。
是不是看不懂?而且有點(diǎn)沖?是不是謎語(yǔ)人附體?別急,下面我會(huì)詳細(xì)的說(shuō)明我想做啥和已經(jīng)做了啥。
1 平臺(tái)現(xiàn)狀
階段分析
孵化一個(gè)Idea,到產(chǎn)品最終簡(jiǎn)單易用,通常會(huì)經(jīng)歷三個(gè)階段。
階段一:做通做對(duì)
階段意義:對(duì)idea和方案的有效性與合理性進(jìn)行驗(yàn)證探索。這個(gè)階段一般資源很少,也比較孤獨(dú)。不過(guò)如果順利解決了核心問(wèn)題,那系統(tǒng)將初具業(yè)務(wù)價(jià)值。
階段產(chǎn)品:小程序數(shù)據(jù)平臺(tái) (DONE 交付500+指標(biāo))
階段二:做大做深
階段意義:開(kāi)始在初版的基礎(chǔ)上,去做邊界的探索。通過(guò)接入更多的場(chǎng)景,更大范圍的解決業(yè)務(wù)問(wèn)題,來(lái)打磨方案,拓寬能力邊界并摸索沉淀下最優(yōu)實(shí)踐。
階段產(chǎn)品:Foundry基礎(chǔ)數(shù)據(jù)平臺(tái) ING
階段三:做精做好
階段意義:這是做減法和重構(gòu)的過(guò)程,通過(guò)前面的探索,清晰的定義下系統(tǒng)的邊界,并對(duì)交互和性能等方面做更深的耕耘。
階段產(chǎn)品:業(yè)務(wù)數(shù)據(jù)平臺(tái) Prepare
階段成果
目前Idea正經(jīng)歷第二階段,在手淘進(jìn)行更大范圍的探索與落地。
業(yè)務(wù)支撐:支撐手淘4個(gè)域9個(gè)模塊的229個(gè)指標(biāo)的數(shù)據(jù)產(chǎn)出(全鏈路AB實(shí)驗(yàn),apm啟動(dòng)性能,廣告大盤(pán),購(gòu)物車,首頁(yè)坑位,搜索結(jié)果頁(yè),手淘穩(wěn)定性等)。同時(shí)也遷移生產(chǎn)了生態(tài)開(kāi)放小程序,小部件相關(guān)的數(shù)據(jù)。
能力建設(shè):在《小程序數(shù)據(jù)平臺(tái)》的基礎(chǔ)上,進(jìn)一步針對(duì)自動(dòng)化構(gòu)建能力進(jìn)行了補(bǔ)強(qiáng);數(shù)據(jù)資產(chǎn)管理方面擴(kuò)充了多租戶,資產(chǎn)隔離,文件管理等能力,方便我們更好的管理指標(biāo); 同時(shí)也進(jìn)行了一些數(shù)據(jù)應(yīng)用的探索,如數(shù)據(jù)開(kāi)發(fā)服務(wù),即席查詢能力等。
2 整體架構(gòu)
3 頁(yè)面概覽
二 數(shù)據(jù)平臺(tái)到底要做個(gè)啥?
所以建設(shè)高度自動(dòng)化&體系化的知識(shí)管理系統(tǒng),重構(gòu)知識(shí)的供給模式,到底是啥意思?
解釋清楚這個(gè)目標(biāo),只需要解釋清楚如下兩個(gè)問(wèn)題:
問(wèn)題一:“數(shù)據(jù)”如何影響“業(yè)務(wù)決策” ?
數(shù)據(jù)生產(chǎn)消費(fèi)生命周期
現(xiàn)實(shí)世界中,我們可以把數(shù)據(jù)的生命周期抽象成5個(gè)部分:“事實(shí)->信息->知識(shí)->智慧->決策&行動(dòng)->回到 事實(shí)”。下面給出我個(gè)人理解的每個(gè)部分的含義:
舉個(gè)例子
吾有一友,名叫老王,不住隔壁。
老王有座山,山上有野花,野草,雞,蘋(píng)果等各種動(dòng)植物(事實(shí))。 其中雞和蘋(píng)果比較有價(jià)值,于是老王就把他們?nèi)ζ饋?lái)養(yǎng)殖(從事實(shí)中梳理出有價(jià)值的信息)。并定時(shí)喂食施肥除蟲(chóng),后來(lái)雞和蘋(píng)果都順利長(zhǎng)大成熟,成為了能吃,能賣的農(nóng)產(chǎn)品(信息加工成了有用的知識(shí))。 后來(lái)老王又發(fā)現(xiàn)雞比蘋(píng)果利潤(rùn)高很多,如果只養(yǎng)雞能多賺50%(知識(shí)推演出可預(yù)測(cè)未來(lái)的智慧)。于是第二年他決定只養(yǎng)雞(決策/行動(dòng))。后來(lái)禽流感來(lái)襲,山頭只剩野花了,老王血本無(wú)歸,一盤(pán)算還是出租穩(wěn)當(dāng),于是老王把山一租,又回來(lái)寫(xiě)代碼了。(第二輪數(shù)據(jù)的生產(chǎn)消費(fèi)閉環(huán))
這個(gè)故事中:
- 老王山頭上的各種動(dòng)植物就是事實(shí):事實(shí)的核心要求是全面真實(shí),而核心行為是采集記錄。
- 動(dòng)植物中的雞和蘋(píng)果就是信息:信息的核心要求是有意義,而核心行為上是梳理和清洗。
- 把雞和蘋(píng)果養(yǎng)殖大就是知識(shí):知識(shí)的核心要求是有價(jià)值有用,而核心行為上是加工和提煉。可以自己吃轉(zhuǎn)化成身體的養(yǎng)分,也可以賣錢(qián)投資再生產(chǎn)。這是對(duì)老王有用的。 在數(shù)據(jù)中就是指標(biāo)了。
- 老王發(fā)現(xiàn)養(yǎng)雞更賺錢(qián)就是智慧:智慧的核心要求是可預(yù)測(cè)未知,而核心行為是使用知識(shí)進(jìn)行演繹推導(dǎo)。
- 最終只養(yǎng)雞就是決策/行動(dòng):決策和行動(dòng)將產(chǎn)生新的事實(shí),進(jìn)入下一輪循環(huán)。
那我們來(lái)試著回答一下第一個(gè)問(wèn)題:“數(shù)據(jù)”如何影響“業(yè)務(wù)決策” ?
答:首先我們通過(guò)埋點(diǎn)采集得到原始的事實(shí)(實(shí)時(shí)數(shù)據(jù)),從事實(shí)中梳理清洗得到信息(明細(xì)),隨后通過(guò)定義和加工融合各類維度(維度),能得到對(duì)應(yīng)的知識(shí)(業(yè)務(wù)指標(biāo))。而用戶通過(guò)各類途徑獲得到指標(biāo)后,通過(guò)演繹推導(dǎo)等方法,預(yù)測(cè)業(yè)務(wù)的發(fā)展,然后并做出下一步的決策。
問(wèn)題二:“數(shù)據(jù)”影響“決策”的過(guò)程中,有哪些問(wèn)題和機(jī)會(huì)?
我們簡(jiǎn)化一下:
我們把事實(shí)梳理成信息,信息加工成知識(shí)的整個(gè)過(guò)程,稱為知識(shí)生產(chǎn)。
通過(guò)智慧預(yù)測(cè)未來(lái),影響業(yè)務(wù)決策的過(guò)程,稱為業(yè)務(wù)決策。
而知識(shí)管理,沉淀,運(yùn)輸,供給等中間環(huán)節(jié),稱之為知識(shí)供給和知識(shí)獲取。
這里面的每個(gè)部分,其實(shí)都存在問(wèn)題,也包含了很多的機(jī)會(huì)。
知識(shí)生產(chǎn):缺乏標(biāo)準(zhǔn)化&自動(dòng)化的工程體系來(lái)生產(chǎn)指標(biāo)
問(wèn)題:
1、缺乏標(biāo)準(zhǔn)化協(xié)議
- 需求流程標(biāo)準(zhǔn)
- 數(shù)倉(cāng)分層標(biāo)準(zhǔn)
- 計(jì)算模型標(biāo)準(zhǔn)
2、缺乏自動(dòng)化能力
- 需求吞吐瓶頸:純研發(fā)人肉開(kāi)發(fā),存在研發(fā)資源瓶頸,需求吞吐量跟不上業(yè)務(wù)發(fā)展速度,業(yè)務(wù)訴求無(wú)法得到及時(shí)滿足。我們希望80%的以上指標(biāo)自動(dòng)化生產(chǎn)。
- 計(jì)算存儲(chǔ)資源浪費(fèi):每個(gè)Project都存在非常多相同指標(biāo)重復(fù)開(kāi)發(fā)的情況。 這就導(dǎo)致了指標(biāo)的重復(fù)計(jì)算,重復(fù)存儲(chǔ),浪費(fèi)資源,浪費(fèi)錢(qián)。
解法:建立一套標(biāo)準(zhǔn)化自動(dòng)化的工程體系去自動(dòng)化的生產(chǎn)指標(biāo)。并以此為基礎(chǔ)拓展進(jìn)行知識(shí)的供給。
知識(shí)供給:缺少體系化的數(shù)據(jù)資產(chǎn)管理能力。
問(wèn)題:
解法:需要體系化的管理指標(biāo)并保證指標(biāo)的準(zhǔn)確性。當(dāng)然這個(gè)重度依賴標(biāo)準(zhǔn)化&自動(dòng)化的知識(shí)生產(chǎn)能力。
知識(shí)獲取:知識(shí)獲取效率低下
問(wèn)題:
解法:提供統(tǒng)一的獲取指標(biāo)與口徑的門(mén)戶,進(jìn)一步可以初步實(shí)現(xiàn)自動(dòng)化的需求分析。
業(yè)務(wù)決策:缺乏有效的工具和方法論支撐。
問(wèn)題:
解法:需要提供豐富的數(shù)據(jù)應(yīng)用,與有效數(shù)據(jù)方法論。
可以看到大部分溝通無(wú)非兩件事
通過(guò)平臺(tái)自動(dòng)化生成后,可以通過(guò)如下方式自行獲取:
除了Sql表達(dá)式直觀明了外,還能在元數(shù)據(jù)管理中查看每個(gè)配置的含義(當(dāng)然目前交互聯(lián)動(dòng)還做的不夠好,人不夠呀)。因?yàn)橹笜?biāo)是通過(guò)各配置直接生成的,所以也可以保證口徑與數(shù)據(jù)是強(qiáng)一致的。
至此可以回答一下數(shù)據(jù)平臺(tái)到底要做個(gè)啥?: 核心是通過(guò)標(biāo)準(zhǔn)化的數(shù)倉(cāng)分層建設(shè),利用平臺(tái)自動(dòng)化的生產(chǎn),管理和交付數(shù)據(jù)(知識(shí))。并沉淀算子,統(tǒng)計(jì)范圍,維度等數(shù)據(jù)資產(chǎn)。
業(yè)務(wù)視角上:將統(tǒng)一通過(guò)基礎(chǔ)數(shù)據(jù)平臺(tái)生產(chǎn)和獲取指標(biāo),查詢口徑,并與其他系統(tǒng)進(jìn)行聯(lián)動(dòng)。只要有一點(diǎn)Sql基礎(chǔ)的運(yùn)營(yíng)/PD等都能自助配置出新的指標(biāo),打破純研發(fā)純?nèi)巳馍a(chǎn)指標(biāo)的瓶頸。這就是所謂的“高度自動(dòng)化&體系化的知識(shí)管理系統(tǒng),重構(gòu)知識(shí)的供給模式”。
不知道各位理解了沒(méi)有。對(duì)于要做什么,我就介紹這么多了......下面來(lái)大致介紹一下核心能力的具體落地方案。
三 數(shù)據(jù)平臺(tái)核心技術(shù)簡(jiǎn)介
回到技術(shù)上,我們的能力建設(shè)也是圍繞這4點(diǎn)去搞。
1 知識(shí)生產(chǎn)—數(shù)據(jù)自動(dòng)化生產(chǎn)能力建設(shè)
核心流程概覽:
指標(biāo)的生成(5步)
1)數(shù)倉(cāng)分層建設(shè)(kimball維度建模-星型模型):
- 事實(shí):以明細(xì)為粒度進(jìn)行數(shù)據(jù)域拆分,如2001瀏覽域,2101點(diǎn)擊域,2201曝光域,交易域,來(lái)源去向域,業(yè)務(wù)統(tǒng)計(jì)域,其他業(yè)務(wù)域等等。
- 維度:錄入相關(guān)的Dim維表
2)關(guān)系染色RelationColoring
- 明細(xì)事實(shí)表和維表的主鍵關(guān)系。
3)維度染色DimensionColoring
- 動(dòng)態(tài)填充需要的維度字段(非全量冗余,可以靈活適應(yīng)維表的變更)
- 通過(guò)RelationColoring & DimensionColoring可以完全屏蔽了復(fù)雜的關(guān)聯(lián)操作Join。
4)結(jié)果組裝AssembleIndicator
- 標(biāo)準(zhǔn)Sql生產(chǎn):CREATE VIEW AS SELECT “Operate算子,stat統(tǒng)計(jì)包” FROM “ColoringView染色視圖” WHERE "Scope統(tǒng)計(jì)范圍" GROUP BY "PeriodDim周期維度 & Dim業(yè)務(wù)維度"。
5)數(shù)據(jù)探查IndicatorResult
- 起Odps任務(wù) SELECT * FROM Indicator WHERE dim LIMIT xxx; 得到結(jié)果后存入緩存,便于用戶進(jìn)行數(shù)據(jù)探查。
復(fù)合指標(biāo)生成(3步,將多個(gè)單指標(biāo)融合成單一報(bào)表)
1)指標(biāo)圈選
2)復(fù)合指標(biāo)生成
可以理解成將多張表合并為1張。這一直是難題,因?yàn)槠胀▓?bào)表在生成之時(shí)就丟失了所有的過(guò)程邏輯,即使存下來(lái)的也只是工程端無(wú)法規(guī)模化解析的非結(jié)構(gòu)化信息。 而平臺(tái)自動(dòng)化生成的指標(biāo)就剛好解決了這個(gè)問(wèn)題。這也讓指標(biāo)合并成為了可能。
維度能力:
-
多指標(biāo)交&并集處理
- 維度圈選能力(黑白名單)
- 多維cube:
- 精確維度組合:
-
維度缺省值處理(處理cube后數(shù)據(jù)異常膨脹和整體維度統(tǒng)計(jì)值因null失準(zhǔn)的問(wèn)題)
- 事實(shí)字段為Null處理
- 各類型字段的默認(rèn)缺省值設(shè)置。
- 維表字段為Null處理
- Left Join 維度缺值導(dǎo)致的Null處理。
指標(biāo)拼接:
- 行 -> 列 -> 行 (行存轉(zhuǎn)列存,分離出算子詳細(xì)Name與Value. 再列存轉(zhuǎn)行存生成可用的大寬表)
3)數(shù)據(jù)探查
指標(biāo)物化&服務(wù)(依賴OpenDataworks的開(kāi)放能力,注意申請(qǐng)流程和QPS)
核心挑戰(zhàn):性能
性能是自動(dòng)化指標(biāo)產(chǎn)出的難點(diǎn),也會(huì)是之后的亮點(diǎn)。我們希望通過(guò)平臺(tái)生成指標(biāo)的效率能最大程度的接近開(kāi)發(fā)人員手動(dòng)優(yōu)化的性能。當(dāng)然這往深了做,是一個(gè)可以無(wú)限探索下去的領(lǐng)域。 拿平臺(tái)來(lái)講,目前最大的瓶頸在多維分析的支持,我們支持了維度的全量Cube,而想要更好的性能則需要去配置精準(zhǔn)的Grouping Sets,而這又會(huì)大大增加前臺(tái)頁(yè)面的配置成本,如何權(quán)衡呢?是用針對(duì)高級(jí)用戶提供獨(dú)立的高級(jí)配置還是什么方法? 我們也還在進(jìn)一步探索。
2 知識(shí)供給—資產(chǎn)管理能力建設(shè)
7大資產(chǎn)管理:
1)指標(biāo)2個(gè):
- CompositeIndicator 復(fù)合指標(biāo) :
- Indicator 原子指標(biāo)
2)元數(shù)據(jù)5個(gè):
-
Operate 算子
- 基礎(chǔ)算子
- stat統(tǒng)計(jì)包(均值,標(biāo)準(zhǔn)差,方差)
-
Dim維度
- Dim(業(yè)務(wù)維度)
- PeriodDim(周期維度)
- Scope 統(tǒng)計(jì)范圍
- Domain 數(shù)據(jù)域/數(shù)據(jù)模型
- Table 基礎(chǔ)表
多租戶管理:
-
空間管理
- 工程配置
- Odps配置
- Dataworks配置
- Holo配置等
- 人員管理
- 資產(chǎn)隔離 (開(kāi)發(fā)中)
-
權(quán)限管控
- 元數(shù)據(jù)權(quán)限
- 文件權(quán)限
- 視圖權(quán)限
- 表權(quán)限等
數(shù)據(jù)能力管理:
- 即席查詢
-
數(shù)據(jù)開(kāi)放
- 開(kāi)放接口
- 指標(biāo)與其口徑詳情查詢
- 指標(biāo)變更消息
3 知識(shí)獲取:統(tǒng)一的知識(shí)獲取門(mén)戶(設(shè)計(jì)中)
這塊我認(rèn)為非常非常重要,是可以用小成本撬動(dòng)平使用體驗(yàn)的大幅提升,也有可能成為平臺(tái)核心入口。應(yīng)該在能力建設(shè)的同時(shí),重點(diǎn)開(kāi)發(fā)的方向。但是吧!這塊目前還沒(méi)有具體的產(chǎn)品形態(tài),我有一些初步的設(shè)想和方案,后續(xù)和產(chǎn)品一起設(shè)計(jì)后最終方案再具體補(bǔ)充:
我希望設(shè)計(jì)一個(gè)統(tǒng)一的門(mén)戶頁(yè)面,當(dāng)任何用戶有口徑問(wèn)題和數(shù)據(jù)需求時(shí),可以先到該頁(yè)面進(jìn)行對(duì)應(yīng)的關(guān)鍵詞的搜索。平臺(tái)通過(guò)智能識(shí)別,返回給用戶具體指標(biāo),算子,統(tǒng)計(jì)范圍和維度的推薦信息。有指標(biāo)能直接用最好,沒(méi)有也可以根據(jù)口徑信息自行配置所需的指標(biāo)。
技術(shù)側(cè):平臺(tái)數(shù)據(jù)資產(chǎn)同步到至搜索引擎,當(dāng)然還有三個(gè)核心處理技術(shù)點(diǎn)處理一下1:關(guān)鍵字提取與分詞規(guī)則 2:搜索結(jié)果FunctionScore加權(quán) 3:結(jié)果分類引導(dǎo)。
4 業(yè)務(wù)決策:有效的工具和知識(shí)使用方法的方法論支撐
說(shuō)實(shí)話,優(yōu)先級(jí)上,還沒(méi)到這塊的輪次。 因?yàn)闃I(yè)務(wù)千變?nèi)f化,也許這就是個(gè)偽命題。 不過(guò)從技術(shù)側(cè)來(lái)看,業(yè)務(wù)決策功能是屬于應(yīng)用層的范疇,搭建好了底層基礎(chǔ),上層的千變?nèi)f化都是能靈活快速的進(jìn)行支持的,我們將一邊夯實(shí)基礎(chǔ),一邊與業(yè)務(wù)方一起探索具體等場(chǎng)景。
5 其他:
關(guān)于優(yōu)化:我認(rèn)為幾個(gè)比較核心的優(yōu)化方向
1、知識(shí)門(mén)戶
2、指標(biāo)管理與元數(shù)據(jù)的聯(lián)動(dòng)
3、核心鏈路運(yùn)維與逆向流程
4、性能。
關(guān)于能力供給:平臺(tái)本身目前只針對(duì)內(nèi)部白名單進(jìn)行使用,等我們打磨到自己滿意了會(huì)進(jìn)一步開(kāi)放。 當(dāng)然設(shè)計(jì)之初核心能力與應(yīng)用層就是解耦的,所以也有可能之后會(huì)將核心能力以SDK的形式進(jìn)行開(kāi)放,各業(yè)務(wù)方按需進(jìn)行形態(tài)的建設(shè)。敬請(qǐng)期待~
四 小結(jié)
技術(shù)細(xì)節(jié)還有很多很多,篇幅限制,這里就大致介紹一下核心要做的事情。能完成一個(gè)Idea的探索,并有機(jī)會(huì)和大家分享進(jìn)一步思考探索優(yōu)化落地,還是挺有成就感的,也收獲頗豐,起碼從一個(gè)純JAVA工程同學(xué)成為了數(shù)據(jù)Project的獨(dú)立Owner。當(dāng)然平臺(tái)目前仍處于做大做深的階段,距離能力健全,體驗(yàn)優(yōu)秀還有很長(zhǎng)很長(zhǎng)的路要走(需要很多的人力去堆)。
都說(shuō)數(shù)據(jù)越開(kāi)放,產(chǎn)生的價(jià)值越高。所以平臺(tái)雖然還稚嫩,但我對(duì)平臺(tái)的價(jià)值堅(jiān)信不疑,大家一起繼續(xù)打磨,繼續(xù)加油。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的重构知识的供给模式 ——《数据平台》从思考到落地的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全员学习低代码,一汽大众领跑数智化转型背
- 下一篇: 基于 MaxCompute 的实时数据处