- 產品
- 產品解決方案
- 行業解決方案
- 案例
- 數據資產入表
- 賦能中心
- 伙伴
- 關于
時間:2022-02-14來源:ニ赱過瀏覽數:505次
有人認為,多維的數據分類體系已經夠用了,標簽就是一個“雞肋”;也有人認為標簽體系有有利于大數據的萃取和分析,提供畫像能力,實現精準推薦,必須是數據中臺的標配。
如果“標簽體系”確有爭議的話,那么今天介紹的這個功能一定沒有爭議,它絕對是數據中臺的真正標配,它就是——數據服務。— 01 —
什么是數據服務?數據服務的類別相當廣泛,有提供數據傳輸能力的叫做數據傳輸服務,有提供數據存儲能力的叫做數據存儲服務,有執行各種類型分析的叫做數據分析服務,還有提供數據安全管理的叫做數據安全服務等等。
這些都叫數據服務,但這些數據服務強調的是能力,更準確的定義是“Data as a Service——數據即服務”,但這不是我們今天要講的數據中臺的數據服務!
數據中臺的數據服務到底是什么?
數據中臺的概念是由阿里巴巴提出來的,我們來看看“中臺鼻祖”怎么說。在阿里巴巴數據中臺全景圖中,統一數據服務也叫OneService ,即由數據中臺提供統一的數據接入和數據查詢服務。

阿里數據中臺的OneService提供了三項數據服務:
主題式數據服務,基于元數據和規范定義和建模,構建主題邏輯表,屏蔽復雜物理表,提供業務視角下的查詢。 統一且多樣化數據服務,一站式提供一般查詢、 OLAP 分析、在線接口服務等查詢和應用服務,便于數據跟蹤管理。 跨源數據服務,統一數據接入層,屏蔽多種異構數據源的讀寫差異,減少數據訪問和應用成本。 我的理解:不同系統之間使用服務的方式進行交互,數據服務為數據和應用之間建立了一座“溝通的橋梁”,這座橋梁的存在形式是API。可以把它想象成一個電源插座,例如,只需要你的吹風機有一個匹配的插頭,并將其插入,電流就會流向你的吹風機,就像數據流向你的數據應用一樣。— 02 —數據中臺為什么需要數據服務?網上的很多文章中,喜歡將數據中臺用“廚師做菜”來形象比喻。廚師做菜一般有幾個步驟:買菜、洗菜擇菜、制定菜單、炒菜。這幾個步驟在數據中臺的數據加工流程中被稱為:數據采集、數據清洗、數據建模、數據分析/數據應用。

數據采集:跟廚師做菜一樣,巧婦難為無米之炊,需要做幾道好菜,首先得有原材料,那么數據采集/數據接入就是買菜的過程。
數據清洗:買回來菜需要摘洗干凈,才能下鍋,數據清洗就是摘菜洗菜的過程,是需要把臟數據清洗掉。
數據建模:菜摘洗好了,但炒什么菜要需要根據客人下的菜單來做。數據建模就像對為客人制定菜單一樣,例如:客人喜歡什么菜?魚香肉絲還是宮保雞丁,口味是甜一點,辣一點還是清淡一點等問題都要描述清楚并傳遞給“廚師”。數據建模就是將數據消費者的需求轉化為計算機能夠理解的語言。
數據分析/數據應用:根據客人的“菜單”要求,炒菜裝盤。
好了,看到這里有人不禁要問:說了這么多,數據服務在哪里?數據中臺到底為什么需要數據服務?
在這個“廚師做菜”的過程中,有一個不能忽略的角色,不知道你有沒有發現,這個角色就是“服務員”。他的任務是幫助客戶點菜,并將炒好的菜端到客人的桌上。而數據中臺的“服務員”就是數據服務,英文名字:OneService。
想象一下,你正坐在餐廳的一張桌子旁,那里有可供選擇的菜單。但如果沒有服務員,就會缺少的是將你的菜單傳達給廚房并將你的食物送回餐桌的關鍵環節。這就是“服務員”(數據服務)的用武之地,接受數據消費者的請求,并告訴系統做什么,將做好的數據服務以API的方式提供給數據消費者。
另外,在整個過程中,數據服務還有一個作用,它屏蔽了底層數據的技術細節,數據消費者不需要關心“這些數據來自哪里,哪個庫,哪張表,數據庫類型是什么等”問題,只需要關心“這些數據能否滿足我的需要”就行了。
就如同你去餐廳吃飯,不用關心菜是從哪買回來的,誰是配菜的,誰是炒菜的等這些問題一樣,只需要關心這個菜合不合你的口味就行了。
— 03 —數據服務能解決哪些問題?在傳統的數據集成方案中,往往需要將數據從一個系統導出/導入,或復制到另一個系統當中。隨著企業數據應用規模的不斷擴大,需要在幾十個甚至上百個系統中進行數據集成,傳統的數據集成方式難度越來越大,暴露的問題也越來越多。

1、數據“搬家”造成的數據不一致問題
傳統數據集成需要將數據從一個系統復制到另一個系統中,過程中由于網絡、接口、程序、任務以及其他的一些不確定因素都會導致數據在“搬家”的過程中“丟失”,從而造成數據不一致問題。
而通過數據中臺提供的數據API交付數據,大部分情況下不需要數據“落地”,強調使用權而不是擁有權,這樣就大大減少了數據在流向下游系統過程中造成不一致問題。2、數據接入多樣,集成效率低數據中臺會根據企業數據的類型、數據量大小、數據的應用需求等,設計相應的不同數據接入和存儲方案。例如:通過MySQL、Oracle接入數據量相對較小的數據,通過Greenplum接入數據量大且需要多維分析的數據,通過Hbase接入大量的keyValue數據,以及通過ES建立數據索引提升數據的查詢效率等等。這種情況下,如果按每種數據接入方式暴露數據的話,無疑是一個非常復雜事情。而通過數據中臺將各類型數據封裝為統一的數據API,對外提供接口,能夠屏蔽數據接入多樣性帶來的數據集成復雜、效率低下等問題。3、數據被哪些應用訪問了無法監控傳統的數據項目中,即使用了元數據這樣的工具,也無法實現數據的采集、匯總、清洗、處理、應用的全鏈路血緣分析。尤其是數據平臺到數據應用的鏈路幾乎全部是割裂的,數據平臺通過導出/導入或數據復制的方式為數據應用提供數據,數據一旦進入到下游系統中,數據平臺就無法監控其使用情況了。而數據中臺提供的統一數據服務API,為數據應用和數據中臺搭建了一座橋梁。數據API只有通過授權才能被訪問,在給數據應用授權以及應用程序訪問數據API的時候,可以“標簽”的形式,將數據訪問鏈路通知給元數據中心,從而打通了數據中臺到數據應用的鏈路,形成了數據的全生命周期血緣。4、上游數據變更,影響下游數據應用在很多數據項目中,還有一種情況比較常見:數據應用直接調用數據平臺的數據庫來訪問數據。這就會導致,一旦上游數據發生變更就會對下游的數據應用造成較大影響。而數據中臺提供統一的數據API供數據應用調用,實現了數據中臺與數據應用的解耦。在數據服務內部建立與與各數據源建立映射,上游數據發生變更,只需要調整數據服務的映射即可,不會對數據應用的使用造成影響。— 04 —數據服務應具備哪些功能?在數據中臺架構中數據服務層位于數據中臺上層,連接數據消費層,將已整合的數據以服務的形式提供給數據消費者,以獲得更好的性能和體驗。數據服務層具備的功能如下:

跨源數據服務:數據中臺接入數據的多樣性,決定了數據中臺的技術架構需要由多個大數據組件組成,例如:Hive、HBASE、GP、ES、Redis、MySQL、Oracle等等,而業務上對數據的使用可能是跨多個數據庫的。數據服務層提供的跨源數據服務,屏蔽了底層數據源的技術差異,可以從不同數據源提取數據,并按照業務需要進行編排,形成統一API進行對外共享。
主題數據服務:按照不同的業務主題,組織形成統一的數據API。數據中臺繼承了數據倉庫面向主題的思想,將位于不同數據中間存儲的同一業務主題的數據整合到一起,屏蔽多數據源與多物理表,形成標準的數據服務供外部使用。例如:銷售主題,需要將企業的批發、零售、線上、線下、代理等等各個渠道的銷售數據匯集起來。
一站式查詢:數據服務最終將用戶訪問的API 轉化為底層對各種數據源的訪問,實現對數據中臺數據的一站式查詢,提供數據檢索、聯機分析、實時查詢等,提升數據查詢的效率。
全鏈路打通:數據和應用的分離會導致數據血緣無法完整追溯,數據服務不僅提供了連接數據和應用能力,還通過服務授權以及訪問監控等功能,將數據API的訪問情況實時寫入元數據中心,形成完整的數據血緣。
訂閱交付能力:數據API構建完成,并不需要數據消費者重復構建集成通道,而是通過授權“訂閱”的方式,讓數據消費者通過接口快速使用數據。
API網關服務:API網關服務使用云原生技術提供了服務API的統一管理和監控能力,包括:服務注冊、服務自動發現、認證授權、流量控制、超時熔斷、安全控制、監控分析等。— 05 —數據中臺的數據服務該如何構建?為了使數據中臺具備快速響應前端業務需求的能力,主流的數據中臺均采用了云原生技術來構建數據服務層,實現數據服務的快速開發、有序落地。同時,數據服務的設計開發還應注意以下事項:
顆粒度問題:服務拆分的越細則復用性越好,但如果只考慮服務重用,大量的細顆粒度服務將很難管理并且勢必會對整體性能帶來影響。服務的設計需要從業務需求、管理難以程度、性能特性等方面綜合考量。
標準化問題:服務的開發采用Restful API技術,該技術具有結構清晰、易于理解、方便擴展等特點,且接口規范標準,不論前端應用是java、.net、C#還是PHP都能夠調用。就像設計一個插座,一定要具備普適性,這樣不論你的吹風機插頭是美標的、歐標的還是國標均的都能夠適配。
DataOps:DataOps是將DevOps的理念延伸到數據世界,提供了一種數據服務的持續運營方式。通過API網關進行服務的注冊和管理,實現數據服務的動態發現、自動部署、自動化監控。根據服務的運行監控數據對數據服務的進行有效治理,包括數據服務的迭代優化、服務編排、自動測試、服務下架等。
寫在最后的話數據服務層(OneService)改變了傳統的數據集成和交付方式,所有整合到數據中臺的數據都通過數據服務提供,數據服務對外暴露的不是數據而是接口,數據消費者不用直接獲取數據,而是通過接口服務獲取。
數據服務不是簡單的對外暴露一個API就行了,從功能層面,數據服務還包括了跨數據源服務、主題數據服務、一站式查詢服務、訂閱式交付、全鏈路打通等能力;在技術層面,數據服務采用了云原生技術,具備了服務的動態發現、自動部署、自動監控、服務治理等能力。
這樣看來,數據服務層無疑是數據中臺不可或缺的標配,你說呢?