用一個面點加工廠來類比理解什么是數據中台
前言
我在和不同的朋友溝通有關數據中台方面的事情的時候,發現經常出現雞同鴨講的情況。
大家表達的和理解的內容,存在很大的差異。特別是技術人員和非技術人員(比如Boss等)溝通的時候,問題更大。
如果大家所表達和理解的事情不在一個水平面上,那難免在溝通的時候產生很大的誤差,
會導致Boss認為他說的事情你理解了,但是你做出來的東西,Boss看了以后會認為不是他要的東西。
為此,我想了一個主意,先把大家的思維,都拉扯到同一件事情上來,然后加以類比進行理解。這樣能夠最快的速度,讓大家對數據中台的認識,達成共識。
概念范疇
我們常說的數據中台,其實包括兩個部分,一個是數據中台,一個是業務中台。兩者結合在一起,也往往被簡稱為數據中台了。
這里我不是要寫數據中台的定義。數據中台的概念比較抽象,對應到不同公司的不同業務,各自說的數據中台,在具體業務呈現上,差異很大。
一個公司的數據中台是和公司的業務緊密整合和聯系的系統,數據中台首先面要向公司內部的業務部門,產品部門,技術部門等去使用。
我用類比的方法,來輔助理解一下什么是數據中台。我把數據中台理解為一個面點加工廠。也許有很多不對的地方,敬請拍磚,感謝。
一個面點加工廠(數據中台+業務中台)
數據中台
把:原材料+管道系統+原料清洗+原料存儲,四部分加在一起,可以理解為數據中台。
1、原料(類比:數據)
我們可以把這些原材料理解為數據中台中的各種數據。
這些數據可能來自自己的其他系統和平台的數據,也可能包括來自外部第三方公司的his的數據,來自體檢中心的數據,來自衛健委公衛系統的數據,甚至更多來自其他外部系統的數據。
這里,那么我們可以把his數據可以理解為面粉,體檢中心的數據理解為玉米粉,公衛系統數據理解位奶粉。
2、管道系統(類比:數據管道)
這些數據原料,怎么進入我們的數據中台呢?
通過工廠的管道系統,導入到我們的數據中台里面來。那么這個管道系統就是我們說的數據總線(datatrans暫且這么稱呼)。
目前而言,我們的datatrans只是實現了對部分his系統的連接和數據導入,可以理解為這個管道系統中的其中一個管道已經通了。
但是對公衛系統的管道還沒通(沒有建設),對體檢中心的管道也還沒有建設。這些異構系統的管道,需要單獨建設和開發。
有一些ETL工具,可以成為數據管道這個模塊的輔助工具,比如日立集團下的BI公司Pentaho的產品:Pentaho Data Integeration,簡稱“PDI”。他可以很容易的連接異構的各種數據源,為面點叫工廠導入各種數據。
3、原料清洗(數據清洗)
有可能對接進來的原材料含有雜質,那么就需要數據中台具備能力,對新進入的各種類型的數據,可以進行數據清洗,並且合理的歸納存儲。
也許有的時候,數據在經過數據管道的時候就已經被清洗過了。
也許有的時候,數據經過初步的清洗進入系統,但是還需要做二次清洗以及歸納整理,分別存儲。
這些能力,作為數據中台來說,就應該具備,甚至更強。關鍵一點,要可視化,要有界面,能看得到,能看明白,這是最好的。
進入工廠,馬上能看到各種類型的原材料都堆放在什么地方,有多少量,一覽無余,是最爽的。
4、原料存儲(數據歸納存儲)
原來在清洗整理后存放在哪兒呢?這個部分就是提供一個定義存放位置,以及如何存放的的功能。
使用這部分功能后,我們可以定義出各種不同類型的數據的存放位置,存放規則,定義好名稱等等。(可以初步理解為二維表,表明,表結構)
業務中台:
把業務部門的需求響應+面點加工部,加在一起理解為:業務中台。
5、面點業務部門的需求響應(類比:業務需求)
業務部門的需求,肯定會跟隨市場的需求的變化而變化。
業務部門可能知道市場上目前現有的主要市場需求是什么,但是也可能並不知道某個其他市場主體的個性化需求是什么。
不容易理解,舉例來說:
業務一部知道,現在市場上大部分的客戶主體,都需要饅頭這種面點,而且所需要的饅頭規格是圓形的直徑10cm,重量為100克的饅頭。
但是業務二部是新成立的部門,面向的客戶群假設是某企業。但是業務部門在和這個企業溝通后,發現企業需要的產品是:奶香味的玉米粉方形50克的饅頭。可是這種饅頭,當前面點加工廠中並沒有,甚至生產這種饅頭的生產線都沒有建設起來。
同樣的,假設有個業務三部,而業務三部的新客戶的需求更加奇葩。他要的是綠豆粉做的奶香味的麻辣味的綠豆糕(怪味綠豆糕)。可是這種東西,原材料在當前面點加工廠中都還不具備。
於是面點業務部門把上述三個業務部門的需求,都提交給了面點加工廠的面點加工部門了。
6、面點加工部(類比:業務中台)
面點加工部的職責是按需生產產品,不管這個產品是平台中已有產品線的,還是沒有產品線的。都要想辦法生產出來。
對於業務一部,他們通知面點加工部,你給我生產這種規格的圓形的直徑10cm,重量為100克的饅頭。。因為生產線是現成的,面點加工部很快就生產出這種規格的饅頭。然后交給市場部門了。
對於業務二部,他們告訴面點加工部這個需求后,由於該產品的生產線並沒有開發出來。於是生產運營部門在技術研發部門的協助下(可能利用平台現有功能,也可能技術研發部門新開發功能),很快迅速的搭建起一條生產線(新的產品生產模塊),可以把奶粉,玉米粉,水等揉和到一起, 迅速的產出了奶香味的玉米粉方形50克的饅頭。然后快速的交付給業務二部。從而迅速的滿足業務部門和客戶的實際需求。
對於業務三部,這時候,因為原材料都還沒有,面點加工部就需要和管道系統迅速溝通,管道系統通過外聯部門迅速的和綠豆粉的廠家進行管道對接,和麻辣粉的廠家進行對接。迅速的將這些新的原料導入到面點加工廠中來,並且按規則存 放好位置。然后面點加工部,通過面點加工廠中現有的設備(系統的功能)或者在技術部門的協助下,迅速的整合原材料和加工需求,生產出業務三部所需要的新產品,怪味綠豆糕,迅速的交付給新客戶。
對於面點加工部而言,他們不僅能夠迅速的給出業務部門的已知需求的結果,也能夠給出業務部門新提出的各種奇怪的需求的結果。這種能力,是業務中台上實現的能力。
而業務中台上的這種能力,則需要技術研發團隊去開發出各種功能,以滿足這種能力的實現。
小結:數據中台的能力
1、具備快速對接外部數據來源的能力
2、具備快速的准確的數據清洗和數據歸納整理的能力。
3、具備快速響應業務部門需求,靈活組建出各種類型數據輸出,以及完整數據業務流程的能力。
4、具備快速的定制全新業務數據或者全新業務流程的能力。
5、具備發布新業務成果並讓新業務成果投入生產經營的能力。
等等
對應到我們公司的數據中台,則初步可以理解為,我們的數據中台應具備下列能力:
1、可以快速的實現對外部數據來源系統的對接。對接的主體是datatrans,具體對接形式,可以有jdbc直連,webservice對接,remote-json-api對接等等形式。
2、可在數據中台內部,可以定義各種數據的清洗規則,存放規則,存放位置等等。
3、可在數據中台內部,自定義各種新的數據報表,自定義全新的基於已有數據的業務流程。所有這些自定義的過程,應該盡可能是在界面上鼠標及鍵盤操作就能滿足和實現。
4、可以講數據中台中,自定義的各種數據輸出,可以輕松的提供給外部系統進行訪問。並且具備嚴格的訪問權限限制。
5、基於數據中台,還能實現更多現有思考范圍之外的能力,數據中台具備超強的數據和功能擴展的能力。所有這些能力的實現,是基於數據中台軟件系統的開發。
等等
一點心得,敬請拍磚,歡迎指正。