“數據中臺”有何不同?丨建設數據中臺系列(六)

回顧企業數據平臺的發展史,我們可以梳理出三個重要階段:

  • 第一階段:最初是以關係型數據庫爲基礎的“數據倉庫”,包括由此衍生出的商業智能(BI)和各類報表工具,這可以認爲是第一代數據平臺,它技術可靠、理論成熟,在數據體量不大、實時性要求不高的場景下有很好的適用性,多年發展積累下來的生態優勢(包括技術、工具、人才等)使得它直到今天依然在很多企業中廣泛應用着。

  • 第二階段:後來,隨着大數據技術的崛起,數據平臺在技術上有了新的選擇和發展空間,特別是在實時數據處理和人工智能方面有了質的突破,與之相對應的是理論上的更新換代,人們從數據倉庫理論延伸出了“數據湖”的設想,數據湖以大數據技術爲支撐,在數據倉庫理論上做了一些適當的擴充,提倡保留數據的原始形態以便爲未來的各種分析留下空間,同時它更加傾向於使用Schema on Read 而不是關係型數據庫使用的Schema on Write 進行數據處理。從理論上看,數據湖不足以像數據倉庫一樣成爲一個獨立的理論體系,人們更多的時候將它與大數據放在一起討論,用來指代使用大數據技術構建的數據平臺。

  • 第三階段:再之後就是隨着中臺架構一起提出的“數據中臺”了。今天企業的IT 生態可以自然地分爲應用和數據兩大部分,前者指的是各類業務應用系統,後者指的是數據倉庫、數據湖等中心化的數據平臺。由於這兩類系統的設計思想和實現技術都有很大的差異,所以中臺架構順勢分成了業務中臺和數據中臺兩部分,這就是數據中臺產生的大背景。

目前數據中臺的主流架構都是以大數據技術爲基礎搭建的,具體來說,它是以Hadoop 生態圈內的各種工具和Spark 作爲主要的技術堆棧,有的企業還會基於自身情況再搭配使用Elasticsearch、MongoDB、Cassandra、Kudo 等其他數據處理和存儲引擎。從技術架構上看,多以Lambda架構爲主,劃分批處理和實時處理兩條數據處理通道。同時數據中臺還往往具備人工智能及機器學習相關的能力,它會涵蓋數據倉庫和數據湖的全部職能,會提供強大的數據服務供業務中臺和前臺應用使用。本文核心觀點援引自作者所著的《大數據平臺架構與原型實現:數據中臺建設實戰》一書,全書對數據中臺的理念、架構和具體實現做了詳細論述。

1 數據中臺所要解決的問題

在展開對數據中臺的詳實介紹之前,我們有必要對當前的企業數據生態做一些梳理,以便於我們能正對性地理解中臺存在的意義。

目前,大多數企業特別是傳統行業裏的甲方企業,由於信息化水平的制約其數據生態還停留在較爲落後的狀態,存在着不少問題,以下是一些典型狀況:

  • 數據離散分佈,信息孤島的問題還沒有完全得到解決;
  • 依然在大量使用文件進行數據交互,沒有實時API,制約了上層業務流程的時效性;
  • 企業數據處理平臺依然依賴傳統技術,負荷已經達到上限,無法進行水平伸縮;
  • 大量數據離散於業務用戶手工維護的文件中,難以自動化收集並處理;
  • 同類型數據在多個業務系統中同步,數據冗餘嚴重,一致性差,需要重複採集、覈查、去重,成本高;
  • 沒有實時數據處理能力,無法快速及時地處理數據並反饋給業務用戶;
  • 沒有健全的數據安全保障機制,面臨數據泄露的風險;
  • 缺乏完善的數據治理機制,數據質量參差不齊。

在過去,企業通過建立自己的數倉系統來統一存儲和處理企業數據,這一過程要經歷數年,並且會伴隨着新數據源的產生持續進行。但是隨着大數據時代的來臨,傳統數倉系統已經越來越難以支撐企業對數據處理的需求了,這體現在如下幾個方面:

  • 隨着信息化的不斷深入,企業產生的數據每年都在爆炸式的增長,傳統數倉系統缺乏簡單有效的水平伸縮能力,導致系統容量已經過飽和,系統性能遇到了“天花板”;
  • 傳統數倉系統只能處理關係型數據,很難處理非關係型數據;
  • 企業對數據分析提出了更高的要求,在人工智能及機器學習等諸多新型領域都有迫切的需求,傳統的數倉系統很難支撐這些新型的分析需求;
  • 實時的數據分析越來越受到企業的重視,尤其是在一些大促等關鍵業務週期,傳統數倉系統都是基於批量的離線處理,無法滿足實時數據分析的需要。

這些因素都促使企業加大了對新一代數據平臺的投入,通過構建基於大數據技術的新平臺來應對新的挑戰,而數據中臺則成了目前大數據平臺建設中最新、最熱的方法論。

2 數據中臺具備的能力

數據中臺必須具備如下能力。

平滑自如的水平伸縮能力,從容應對海量數據

平滑自如的水平伸縮能力是數據中臺必須具備的,特別是在數據體量迅速膨脹的今天,不具備存儲和計算水平伸縮能力的平臺是很難生存的,好在今天幾乎所有的大數據技術都是分佈式的,這賦予了數據中臺天然的水平伸縮能力。

對資源擁有細粒度的控制能力,支持多任務、多用戶下的作業處理

作爲中心化的平臺,企業不同部門和團隊的數據都會存放在上面,每天會有大量的定時和即席作業運行,因此數據中臺必須具備“多租戶”的數據管理能力,對資源能進行細粒度的切分和調控。以Hadoop 上的資源管理平臺Yarn 爲例,通過定義各種動態資源分配策略,可以很好地協調各種作業之間的資源使用情況,確保各個業務線和不同用戶的數據處理任務能及時有序地執行。

強大的實時處理能力

實時數據處理能力是以往傳統數據平臺所不具備的,這是數據中臺的一大優勢和亮點,通過實時處理我們可以將業務情況實時地反饋給用戶,極大地縮短了業務用戶的等待時間,提升了用戶體驗,在一些大促活動期間(如雙11),實時計算的時效性對於業務決策的支持作用會更加重要。

參與業務請求處理的能力

依託於實時計算能力,數據中臺將有機會參與在線的業務處理,特別是在那些需要基於大量數據處理才能給出響應的業務請求(如用戶積分的實時計算),過去這些處理都是通過批處理作業在夜間完成的,時效性和用戶體驗很差,現在通過數據中臺可以實時地計算出結果並反饋給業務系統,這使得數據平臺也開始參與在線的業務處理了。

具備人工智能及機器學習的數據分析能力

這是目前數據分析和應用領域最看重的能力,是當前數據分析領域的“皇冠”,它所帶來的數據洞察能力是以往傳統數據分析方法無法企及的,沒有這種能力的數據中臺是不完善的。這部分能力一般是通過在大數據平臺上集成相關組件實現的(如Spark MLib),但也有很多算法不能滿足實際需要,因此需要集成一些第三方的算法庫和集羣環境作爲補充。

以數據倉庫理論管理和組織各類數據

數據倉庫無疑是企業對於數據組織和管理的事實標準,不管是傳統平臺還是大數據平臺,數據倉庫理論都是科學有效的數據管理方法,可以說“沒有數據倉庫的大數據平臺是沒有靈魂的”。通過數據倉庫體系的治理,企業數據的質量會得到大幅提升,也更利於前臺的使用。

對外提供強大的數據服務,支持多種協議的數據傳輸與交互

過去的數據平臺基本上都是將處理好的數據存放在關係型數據庫中,供外圍系統通過連接數據庫的方式自行獲取,可以說這是最低水平的數據服務,一個好的數據平臺一定要提供強大的數據服務以便讓數據需求方更容易和便捷地獲取數據。平臺支持的協議和方式越豐富,越能容易地幫助各業務中心和前臺應用,加速集成和對接,降低企業整體的研發成本。而靈活便捷的數據獲取方式又會吸引企業的數據供給方將數據主動放到數據中臺上,從而享受數據中臺帶來的“紅利”。

擁有完善的數據治理體系,數據質量能夠得到有效保障

數據治理是貫穿數據平臺建設全過程的一項工作,它是技術和管理方式的一種綜合手段。數據中臺一般會引入一些專業的數據治理工具對數據質量進行把控,這些工具會根據預定義的業務和技術規則定期抽檢目標數據進行驗證,並給出數據質量報告。爲了配合數據治理,企業在管理上也應該成立相應的組織或機構來負責,這是建設數據中臺在管理方面要做的工作之一。

精準的細粒度安全控制

數據中臺要提供技術和管理上的多重機制保障企業的數據安全。從技術上看,數據中臺需要提供嚴格的認證與授權機制來管理每一個使用平臺的用戶(包括自然人賬戶和應用系統賬戶),提供健全的數據加密與脫敏機制對敏感數據進行特殊處理,同時對每類數據的所有人、使用者和讀寫權限都要有明確的記錄和追蹤,對賬戶創建和授權申請都要有完備的審批機制。

作者介紹

耿立超,架構師,14年IT系統開發和架構經驗,對大數據、企業級應用架構、SaaS、分佈式存儲和領域驅動設計有豐富的實踐經驗,熱衷函數式編程。目前負責企業數據中臺的架構設計和開發工作,對Hadoop/Spark 生態系統有深入和廣泛的瞭解,參與過Hadoop商業發行版的開發,曾帶領團隊建設過數個完備的企業數據平臺,個人技術博客:https://laurence.blog.csdn.net/ 作者著有《大數據平臺架構與原型實現:數據中臺建設實戰》一書,該書已在京東和噹噹上線。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章