這次終于有人把數據架構講明白了!
01 什么是數據架構?
數據架構描述如何管理從收集到轉換、分發和使用的數據。它為數據及其在數據存儲系統中流動的方式設定了藍圖。它是數據處理操作和人工智能 (AI) 應用程序的基礎。
數據架構的設計應該由業務需求驅動,數據架構師和數據工程師使用這些需求來定義相應的數據模型以及支持它的底層數據結構。這些設計通常有助于滿足業務需求,例如報告或數據科學計劃。
隨著物聯網 (IoT) 等新興技術的出現,新的數據源不斷涌現,良好的數據架構可以確保數據易于管理且具有利用價值,從而支持數據生命周期管理。更具體地說,它可以避免冗余數據存儲,通過清理和重復數據刪除來提高數據質量,并支持新的應用程序。現代數據架構還提供了跨域(例如部門或地理區域之間)集成數據的機制,打破了數據孤島,因而消除了將所有數據存儲在同一地方所帶來的巨大復雜性。
現代數據架構經常利用云平臺來管理和處理數據。雖然它的成本更高,但它的計算可擴展性使重要數據處理任務能夠快速完成。存儲可擴展性還有助于應對不斷增長的數據量,并確保所有相關數據都可用。
02 數據架構的發展歷程
1. 早期階段(1960年代-1970年代)
文件系統時代:早期的數據存儲主要依賴于文件系統,數據存儲在平面文件中。數據管理和處理通常是應用程序內部的一部分,這種方式很難實現數據共享和整合。
層次模型和網狀模型:1960年代末和1970年代初,出現了層次數據模型(如IBM的Information Management System)和網狀數據模型(如CODASYL DBTG模型)。這些模型允許更復雜的數據關系,但仍然較為復雜且不夠靈活。
2. 關系數據庫的興起(1970年代-1980年代)
關系模型:1970年,Edgar Codd提出了關系模型,它用數學理論來描述數據結構和操作方法。關系模型使得數據組織更加靈活,并支持使用結構化查詢語言(SQL)來進行數據操作。
數據庫管理系統(DBMS):隨著關系模型的普及,關系數據庫管理系統(如IBM的DB2、Oracle、MySQL)迅速發展,成為企業數據管理的主要工具。
3. 數據倉庫和數據挖掘(1980年代-1990年代)
數據倉庫:數據倉庫概念由Bill Inmon和Ralph Kimball在1990年代提出,它涉及將來自不同數據源的數據整合到一個中央倉庫中,以支持決策分析。數據倉庫設計強調數據整合、歷史數據的保存以及查詢和報告的高效性。
數據挖掘:數據挖掘技術開始得到關注,用于從大量數據中提取有價值的信息和模式。
4. 大數據和NoSQL(2000年代)
大數據:隨著互聯網和社交媒體的興起,數據的規模和多樣性大幅增加,傳統的關系數據庫面臨挑戰。大數據技術(如Hadoop、Spark)應運而生,用于處理和分析海量數據。
NoSQL數據庫:為了處理非結構化數據和高并發請求,NoSQL數據庫(如MongoDB、Cassandra)獲得了廣泛應用。NoSQL數據庫不依賴于傳統的關系模型,支持更靈活的數據存儲和訪問模式。
5. 數據湖和云計算(2010年代至今)
數據湖:數據湖的概念強調將各種類型的數據(結構化、半結構化、非結構化)以原始格式存儲在一個集中式存儲系統中。數據湖支持靈活的數據訪問和分析,常與大數據技術結合使用。
云數據架構:云計算的普及使得數據存儲和處理的模式發生了變化。云數據庫(如Amazon RDS、Google BigQuery)和數據倉庫服務(如Snowflake)提供了彈性、可擴展的解決方案,使得企業能夠以更低的成本管理和分析數據。
數據架構的發展反映了技術的進步和業務需求的變化。從最初的簡單文件存儲,到復雜的關系模型、數據倉庫、大數據技術,再到現代的云計算和數據湖架構,數據架構不斷演變,以應對不斷增長的數據量和復雜的數據處理需求。
03 流行的企業架構
數據架構可以借鑒流行的企業架構框架,包括 TOGAF、DAMA-DMBOK 2 和 Zachman 企業架構框架。
1.TOGAF
這個企業架構方法由 The Open Group 于 1995 年開發,IBM 是該組織的白金會員。
該架構有四大支柱:
- 業務架構,它定義企業的組織結構、業務策略和流程。
- 數據架構,它描述概念、邏輯和物理數據資產,以及這些資產在整個生命周期中的存儲和管理方式。
- 應用程序架構,它代表應用程序系統,以及這些系統與關鍵業務流程以及相互之間的關系。
- 技術架構,它描述支持任務關鍵型應用程序所需的技術基礎架構(硬件、軟件和網絡)。
因此,TOGAF 為設計和實現企業的 IT 架構(包括其數據架構)提供了一個完整的框架。
2.DAMA-DMBOK 2
《DAMA數據管理知識體系指南 第二版》的定義:識別企業的數據需求,并設計和維護總藍圖以滿足需求,使用總藍圖來指導數據集成、控制數據資產、并使數據投資與業務戰略保持一致。主要由2部分構成:
(1)數據模型:企業數據模型是一個整體的、企業級的、獨立實施的概念或邏輯數據模型,為企業提供通用的、一致的數據視圖。企業數據模型包括數據實體(如業務概念),數據實體間的關系、關鍵業務規則和一些關鍵屬性,它為所有數據和數據相關的項目奠定了基礎。
(2)數據流設計:定義數據庫、應用、平臺和網絡(組件)之間的需求和主藍圖。這些數據流展示了數據在業務流程、不同存儲位置、業務角色和技術組件間的流動。
3.Zachman 企業架構框架
該框架最初由 IBM 的 John Zachman 于 1987 年開發,使用一個從上下文到詳細信息的六層矩陣,映射了諸如為什么、怎么做和是什么等六個問題。
六行(視點):分別代表不同利益相關者的角度,包括計劃者視圖(范圍上下文)、所有者視圖(業務概念)、設計者視圖(系統邏輯)、實現者視圖(技術物理)、子構造函數視圖(組件組裝)和用戶視圖(操作類)。
六列(W5H):基于英語疑問句“什么”、“哪里”、“誰”、“何時”、“為什么”和“如何”(稱為W5H),代表向企業提出的疑問或問題。
Zachman 企業架構框架優勢如下:
- 全面覆蓋:Zachman框架提供了對企業的全面視圖,包括數據、流程、技術和組織關系,確保企業沒有任何方面被忽視。
- 改善對齊:橋接了業務目標和IT計劃之間的差距,確保技術支持戰略目標。
- 增強溝通:建立了討論復雜系統和促進業務與IT利益相關者之間更好溝通的共同語言。
- 風險管理:通過全面理解所有架構組件及其相互依賴性,識別和緩解風險。
- 操作效率:通過識別效率低下和優化流程和系統,提高資源管理。
- 戰略規劃和轉型:指導戰略規劃過程,確保與長期業務目標的對齊,并為組織轉型計劃提供清晰的路線圖。
- 一致性和標準化:確保組織內架構實踐和方法論的一致性,并標準化文檔和架構實踐,使系統更易于維護和更新。
- 與其他框架集成:可以與TOGAF、敏捷或ITIL等其他實踐相結合,增強它們的有效性。
另外,在《華為數據之道》一書以及華為很多公開材料中,并沒有明確給出數據架構,而是給出了信息架構的概念:“是指以結構化的方式描述在業務運作和管理決策中所需要的各類信息及其關系的一套整體組件規范。”
從定義上看,華為給出的信息架構和我們所說的數據架構是十分相識的,它包括了數據資產目錄、數據標準、數據模型、數據分布四個部分。
▲圖:信息架構,來源《華為數據治理之旅》
- 數據資產目錄:通過分層結構的表達,實現對數據的分類和定義,建立數據模型的輸入,形成完善的企業資產地圖,也在一定程度上為企業數據治理、業務變革提供了指引。基于數據資產目錄可以識別數據管理責任,解決數據問題爭議,幫助企業更好地對業務變革進行規劃設計,避免重復建設。
- 數據標準:數據標準定義公司層面需共同遵守的屬性層數據含義和業務規則,是公司層面對某個數據的共同理解,這些理解一旦確定下來,就應作為企業層面的標準在企業內被共同遵守。
- 數據模型:是從數據視角對現實世界特征的模擬和抽象,根據業務需求抽取信息的主要特征,反映業務信息(對象)之間的關聯關系。
- 數據分布:定義了數據產生的源頭及在各流程和IT系統間的流動情況。
04 數據管理系統及數據架構的類型
1. 數據倉庫
數據倉庫將來自企業內不同關系數據源的數據聚合到單個集中的統一存儲庫中。提取后,數據流經 ETL 數據管道,經過各種數據轉換,才能滿足預定義數據模型的需求。一旦加載到數據倉庫中,數據就可以支持不同的商業智能 (BI) 和數據科學應用程序。
2.數據集市
數據集市是一個有針對性的數據倉庫版本,它包含一個較小的數據子集,這些數據對組織內的單個團隊或選定用戶組很重要且是必需的。由于數據集市包含較小的數據子集,因此在使用更廣泛的數據倉庫數據集時,數據集市使部門或業務線能夠更快地發現更有針對性的洞察。
最初創建數據集市的目的是應對組織在 20 世紀 90 年代建立數據倉庫的困難。當時集成來自整個組織的數據需要進行大量手動編碼,而且非常耗時。與集中式數據倉庫相比,數據集市的范圍更有限,使其實現起來更容易且更快速。
3. 數據湖
數據倉庫存儲已處理的數據,而數據湖存儲原始數據,通常為 PB 級別。數據湖可以存儲結構化和非結構化數據,這使其與其他數據存儲庫不同。這種靈活的存儲需求對于數據科學家、數據工程師和開發人員尤其有用。
最初創建數據湖的目的是應對數據倉庫無法處理數量、速度和種類不斷增加的大數據的情況。雖然數據湖比數據倉庫慢,但它們的價格也更低廉,因為在采集之前幾乎不需要數據準備。
4.數據結構
數據結構是一種架構,它側重于數據提供者和數據使用者之間的數據價值鏈中的數據集成、數據工程和治理的自動化 數據結構基于“活動元數據”的概念,使用知識圖、語義、數據挖掘和機器學習 (AI) 技術來發現各種類型元數據(例如系統日志、社交等)中的模式。然后,將這種洞察應用于自動化并編排數據價值鏈。
例如,它可以使數據使用者能夠找到數據產品,然后自動向他們提供該數據產品。數據產品和數據使用者之間數據訪問的增加減少了數據孤島,并提供了更完整的組織數據視圖。數據結構是一種具有巨大潛力的新興技術,可用于增強客戶概要分析、欺詐檢測和預防性維護。根據 Gartner 的數據,數據結構使集成設計時間減少 30%,部署時間減少 30%,維護時間減少 70%。
5.數據網格
數據網格是一種去中心化的數據架構,按業務領域來組織數據。使用數據網格時,組織需要不再將數據視為流程的副產品,而是開始將其視為產品本身。數據生產者充當數據產品所有者。作為主題專家,數據生產者可以利用他們對數據主要使用者的理解為他們設計 API。這些 API 也可以從組織的其他部分訪問,提供了更廣泛的受管數據訪問渠道。
數據湖、數據倉庫等相對傳統的存儲系統可以作為多個去中心化的數據存儲庫來實現數據網格。數據網格還可以與數據結構一起使用,借助數據結構的自動化,可以更快地創建新的數據產品或執行全球治理。
05 數據架構的優勢
結構完善的數據架構可以為企業提供許多關鍵優勢,其中包括:
1.減少冗余:不同來源中可能存在重疊的數據字段,從而會導致不一致、數據不準確和錯失數據集成機會的風險。良好的數據架構可以使數據存儲方式標準化,并且可能減少重復,從而改善質量和整體分析。
2.提高數據質量:精心設計的數據架構可以解決管理不善的數據湖(也稱為“數據沼澤”)所帶來的一些挑戰。數據沼澤缺乏適當的數據質量和數據治理實踐來提供有洞察力的學習。數據架構可以幫助實施數據治理和數據安全標準,從而對數據管道進行適當的監督,使其按預期運行。通過改進數據質量和治理,數據架構可以確保數據以一種現在和將來都具有價值的方式存儲。
3.支持集成:由于數據存儲的技術限制和企業內部的組織障礙,數據經常孤立存在。當今的數據架構應該旨在促進跨域數據集成,以便不同的地理區域和業務部門可以訪問彼此的數據。這有助于對常用指標(例如費用、收入以及相關驅動因素)形成更準確、更一致的理解。它還支持更全面地了解客戶、產品和地理位置,從而更好地為決策提供信息。
4.數據生命周期管理:現代數據架構可以解決如何隨時間推移管理數據的問題。隨著存在時間的增加和訪問頻率的降低,數據的使用價值通常會減少。隨著時間的推移,可以將數據遷移到成本更低、速度更慢的存儲類型,這樣就可以繼續用于報告和審計,但無需使用高性能存儲。
架構的本質是不斷減少系統的“熵”,數據架構也一樣。數據架構的底層邏輯具有一定的數據資源規劃的內涵,是對企業數據進行結構化、有序化治理,讓企業從數據孤島走向數據共享,讓企業數據能夠更好的被管理、流動和使用,充分釋放數據價值。
在企業的數據項目實踐中,數據架構連接了企業的數據管理現狀和未來要實現的目標,不必糾結哪套體系的數據架構理論更嚴謹、邏輯更合理,而要將重點放在數據目標的實現上,“能抓住老鼠的那只貓就是好貓!”
下面這份材料說明了數據架構概念、重點介紹了數據架構為企業帶來的價值與收益及數據架構規劃方法論,最后列舉了案例分析,供參考借鑒。