一個具體場景剖析業務中臺和數據中臺的關系
01.前言
數據中臺和業務中臺的區別,希望能夠深入淺出,很容易理解的解釋什么情況下需要業務中臺,什么情況下需要數據中臺以及雙中臺的關系。
我前面做了很多行業研究和案例分享,但是都是企業級的講解,感覺都不夠簡單,不夠落地,這里我用一個最清晰的訂單服務的演進過程,來深度剖析雙中臺的關系。
02. 一個訂單服務的演進過程
訂單服務是最常見的場景,下面我們用一個電商領域的常見訂單服務的演進過程來詳細剖析雙中臺為什么會出現,它們的價值以及關系。
第一階段:單應用訂單服務
下圖是一個典型的電商訂單服務的流程,用戶號在某電商自營APP下一個產品訂單,這個應用吧訂單數據保存到數據庫里。
第二階段:多應用訂單服務
該電商企業拓展了多個渠道,構建了另外的電商APP,提供給用戶使用。于是,用戶下訂單就有了兩個方法,分別在不同的應用里,比如自營APP和微信小程序,這是最典型的兩個渠道。而真實的情況是一個電商企業會有非常多的渠道,有自營的,還有代運營的,還有線下的POS系統,還有合作伙伴通過API接入的,多個應用會同時創建訂單。
這樣帶來的問題很明顯:
- 用戶體驗不佳,一個用戶不能看到在不同渠道的訂單。
- 數據一致性差,訂單數據分散在不同的應用系統中,數據不一致,同步復雜。
- 維護困難,當一個訂單邏輯發生了變化,所有的應用邏輯都要重寫,帶來的很大的維護工作量,響應慢。
在這種情況下,為了能夠掌握全局的銷量情況,往往企業會構建數據倉庫系統,將不同系統的數據都通過ETL的方式抽取到數據倉庫中進行分析,這也就是OLAP的過程,但是由于數據量比較大,處理過程復雜,往往OLAP都是T+1以上的響應速度,也就意味著,比如企業要想看所有渠道的銷量分析報表,只能看到一天以前的,而不能看實時的數據,如下圖所示。
上圖的橘黃色箭頭表示在線交易處理流程,是生成數據的過程,而綠色箭頭表示在線分析處理流程,是抽取處理分析的過程。
這是典型的數據倉庫和商業智能的場景,而這樣的數據利用的問題也是很明顯的:
- 數據分析不實時,不能夠實時出報表。
- 數據倉庫往往都是單體架構,受限于數據的處理計算能力,擴展能力不強,往往只能分析一個階段的數據。
- 響應慢,ETL的過程依賴于預設的分析主題設計,當要分析的數據結構發生變化時需要重新設計抽取邏輯,導致響應慢。
以上是現在很多企業典型的應用和數據架構,在這個基礎之上,有了數據中臺和業務中臺的產生。
數據中臺業務用例:精準營銷
下圖是典型的數據中臺的業務用例:精準營銷。
利用分布式的數據架構替換傳統的數據倉庫,將ETL的過程更換成ELT的過程,結合批流一體的架構,保證數據的全面覆蓋,源數據抽取,實時數據和歷史數據并存。在這個基礎上,數據中臺借助機器學習等算法能力,構建精準營銷模型,能夠供前臺業務應用直接調用,而不需要做成報表以可視化的形式提供給業務人員,業務人員根據自己的經驗在去做手工的用戶運營。
這是一個典型的數據智能化的過程,通過數據中臺,整合了企業所有應用系統的全域數據,通過分布式存儲和計算能力,結合人工智能技術和算法,為業務系統提供直接可調用的實時數據和智能服務。
業務中臺業務用例:訂單中心
智能化是所有的企業希望達到的目標,但是智能化對于數據的質量要求很高,而多個分別創建訂單服務,導致的問題很明顯,而且隨著前臺應用系統的不斷增多,業務數據化的過程越來越復雜,導致數據與真實的業務出現了很多的不一致和偏差。同時,隨著業務變化的速度越來越快,同時維護多個訂單服務的工作量很大,響應速度越來越慢,這種情況,就要求對于所有的訂單服務進行抽象,復用和包裝,這就是業務中臺出現的原因。
如下圖是最簡單的業務中臺的服務,也就是訂單中心的服務,所有的前臺應用當需要創建訂單的時候,統一調用業務中臺的訂單服務,由這個服務統一生成產品訂單,從而保證了訂單邏輯的一致性和維護的高響應性。
雙中臺共存業務用例:動態價格
數據中臺不僅為前臺應用直接提供調用服務,并且也能夠為業務中臺提供服務。下圖是典型的雙中臺共存的業務用例:動態價格。
這個場景在很多需要實時計算動態價格的業務中存在,比如機票預訂和滴滴打車的下單服務中。
業務中臺統一為不同的應用提供訂單生成服務,而在生成訂單的過程中,需要根據不同用戶的情況,動態計算一個價格,這種情況下,業務中臺就需要調用數據中臺中的動態價格計算模型。
所以,數據中臺是同時為業務中臺和業務前臺提供數據和智能服務的。
業務中臺和數據中臺的關系
通過上面一個典型的訂單服務的幾個泛化場景的演進過程,我們粗淺的分析了業務中臺和數據中臺應用的典型業務用例,我們可以簡單的總結為:
業務中臺解決的是業務數據化的問題,數據中臺解決的是數據智能化的問題。
03. 業務中臺解決業務數據化的問題
目前大部分的企業系統都是業務數據化的系統,所有的OLTP應用也都是為了實現業務數據化的目的,而業務中臺解決的是業務數據化過程中的如下問題:
- 一致性問題,將處理邏輯相似的業務流程封裝成業務中臺的服務,從而保證業務的一致性,也保證了業務數據化后的數據一致性問題
- 響應力問題,通過對業務中臺服務的復用,提高業務前臺系統開發的效率從而提高響應力
- 維護性問題,將多個服務抽象成一個,提升系統的可維護性
- 性能問題,通過微服務,容器化技術,能夠針對性的解決高并發的服務需求問題,實現硬件資源的共享,解決性能問題
總的來講,業務中臺是為了業務更高效,更準確,更彈性的數據化。
更簡單的說,業務中臺解決的是生產數據過程中的問題。
4. 數據中臺解決數據智能化的問題
數據中臺是為了讓所有的業務流程都能夠盡可能的利用數據產生的洞察,促進流程的優化,讓業務更加智慧。所以,數據中臺解決的是數據智能化的問題:
- 通過分布式數據架構,解決傳統單體架構數據系統比如數據倉庫、中心式數據湖的問題
- 通過數據模型/報表服務化方式,實時被業務應用所調用,提升業務的實時性
- 通過融合企業全域數據,提升數據的一致性和準確性
05.總結
業務中臺是為了讓企業更好的響應業務同時生產數據,業務更加彈性。
數據中臺是構建彈性的數據基礎設施,為了讓企業更好地利用數據,讓業務更智慧。
數據中臺的終局是怎樣的呢?