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