數據架構之數據網格架構模式
數據網格模式
企業數據網格正在成為一種獨特且引人注目的方式來管理企業內的數據。它將“產品思維”引入企業數據管理,同時在企業中實現更高水平的敏捷性和數據治理。它創造了一種“自助服務”能力,具有近乎實時的數據同步,從而為實時數字企業奠定了基礎。
但是,唉,沒有單一的產品可以為您帶來數據網格。相反,企業的數據網格由許多常用組件組成(請參閱下一節數據網格架構回顧)。
但成功的關鍵是了解這些組件如何相互作用。在本文中,我將使用架構模式來描述這些交互。
數據網格架構回顧
企業數據網格由許多組件組成(更多詳細信息可在此處、此處和此處獲得)。數據產品是數據網格中的主要構建塊,包含使用企業的數據網格在整個組織中同步的運營、分析和/或參與數據。API 用于訪問數據產品中的數據。為了支持聯合治理,每個數據產品都包含一個記錄數據更改的審計日志和一個它管理的數據目錄。
一個企業的數據網格有很多數據產品。數據產品訂閱彼此的數據,這樣當一個數據產品更改其數據時,此更改會使用更改數據捕獲和事件流主干傳達給其他數據產品。
最后,企業數據目錄(所有數據產品目錄和數據更改的同步聚合)用于使任何用戶或開發人員輕松查找、使用和管理整個企業的任何數據,同時也為理解提供了基礎整個企業的數據沿襲。
- Figure 1, Enterprise Data Mesh Architecture
我們將在本文中描述以下架構模式:
- 變更數據捕獲 (CDC)
- 事件流主干(Event Streaming Backbone)
- 數據產品目錄 (Data Product Catalog )
- 企業數據產品目錄 (Enterprise Data Product Catalog )
- 不可變的變更/審計日志 (Immutable Change / Audit Log )
數據網格模式:變更數據捕獲
如今,很難在服務和應用程序邊界之間安全、可靠和一致地交付數據。有兩種方法可以應對這一挑戰。首先,可以使用“兩階段提交”(2PC) 等協議跨多個數據庫同步更新數據,但這種方法通常復雜且成本高,并且通常保留用于保持多個數據源同步絕對關鍵的情況.
第二種方法是立即更新主數據庫,同時在將來更新輔助數據庫(但不在事務范圍內)。當更新主數據庫和輔助數據庫之間的時間跨度超過預期時,就會出現問題。
變更數據捕獲 (CDC) 是企業數據網格用來應對這一挑戰的基礎組件。CDC 通過在數據庫的事務日志中捕獲和發布條目來工作,但最重要的是,它在原始事務之外不顯眼地執行此操作。這意味著 CDC 透明地捕獲操作(或分析)數據的變化,而不會影響原始應用程序或事務流。
(注意:這里有更多詳細信息供那些尋找有關 CDC 如何在企業中工作的詳細信息的人使用)
- Figure 2, Data Mesh Pattern: Change Data Capture
但是 CDC 對捕獲的“事件”做了什么。在 Enterprise Data Mesh 中,它將事件發布到 Event Streaming Backbone(下一個模式),以便在整個企業中分發。
數據網格模式:事件流主干
Event Streaming Backbone 在企業數據網格中分發事件。事件通常來自應用程序、API,在我們的例子中,也來自 CDC。然而,特別重要的是,任何已發布的事件都可以被任何其他訂閱實體安全、可靠且近乎實時地使用。
- Figure 3, Data Mesh Pattern: Event Streaming Backbone
Event Streaming Backbone 中有幾個核心托管實體:
- 由 JSON 模式定義的事件分布在企業數據網格中。
- 主題用于在整個企業中排隊和分發事件;企業數據網格通過允許許多實體發布和使用事件來使用類似于隊列的眾所周知的主題。
- 生產者將事件發布到主題;企業數據網格中的生產者可能是 API、應用程序或 CDC。
- 消費者消費來自主題的事件。企業數據網格中的消費者可以是訂閱主題并在事件可用于處理時收到通知的任何實體或應用程序。
- 事件流處理器可以按事件處理事件,也可以按時間窗口聚合事件,從而在企業數據網格中實現非常復雜和強大的分析技術。
- 經紀人管理上述組件,以確保整個企業數據網格中安全可靠的事件通信。
數據網格模式:數據產品目錄
他們說,數據是新的黃金和采礦,它將帶來巨大的洞察力和財富。但在當今的大多數企業中,數據散布在組織中的許多組中。銷售擁有客戶數據,分銷擁有供應鏈,財務擁有交易和賬戶。
不幸的是,這使得查找數據變得非常困難,而且一旦找到,就更難以將它們整合在一起以做出全面的業務決策。結果是:決策緩慢、代價高昂且不知情。
數據產品目錄 (DPC) 包含有關數據產品的數據(“元數據”)的信息。DPC 提供的信息使任何授權人員或應用程序都可以輕松地在企業數據網格中查找、查看和使用數據產品。DPC 提供了幾個好處:
- 通過啟用本地所有權和問責制,易于管理。
- 通過允許本地化和更快的決策制定,易于更改和發展。
- 易于查找、查看和使用數據,使任何(授權)實體都可以輕松查找、查看和使用數據(即“自助服務”)。
- Figure 4, Data Mesh Pattern: Data Product Catalog
數據網格模式:企業數據產品目錄
企業數據產品目錄 (EDPC) 是一個從所有本地數據產品目錄 (DPC) 聚合元數據的存儲庫。企業數據目錄用于存儲有關在企業數據網格中維護的所有數據的信息和統計數據(元數據),從而可以輕松查找、查看、使用和管理數據:
- 數據科學家使用 EDPC 來查找企業中可用于訓練模型的數據位置。
- 業務用戶使用 EDPC 來查找業務決策所需的信息。
- 開發人員使用 EDPC 來了解其應用程序所需的數據結構。
- Governance Professionals 使用 EDPC 來理解和監控整個企業的數據,從而在企業數據網格內實現聯合計算治理。
- Figure 5, Data Mesh Pattern: Enterprise Data Product Catalog
數據網格模式:不可變變更/審計日志
了解數據的沿襲——定義為數據經歷的變化的匯總列表——對于治理和監管目的至關重要。為什么這很重要?考慮今天的一個常見情況:人工智能/機器學習的出現現在是企業必備的能力。數據科學家使用復雜的模型來支持和做出關鍵的業務決策。
然而,在許多企業中,尤其是醫療保健和金融企業,這些模型的實際可行性取決于滿足監管機構對可重復性和可追溯性要求的能力(更多信息可在此處和此處獲得)。不幸的是,大多數企業沒有能力以審計人員或監管機構要求的方式跟蹤數據沿襲。
企業數據網格的不可變變更/審計日志通過在企業數據網格中保留歷史數據更改以供未來審計和治理之用,從而滿足了這一需求。本地數據 產品更改/審核日志會在數據發生任何數據更改時自動更新。然后將這些日志傳播到企業數據產品目錄 (EDPC),以便整合企業中數據更改的歷史記錄。
換句話說,EDPC 包含企業數據網格中所有元素的數據沿襲。EDPC 使用此數據提供元數據的可搜索索引——其中明確包括對每個數據產品的不可變更改/審計日志的引用——允許輕松找到和確認數據沿襲。
- Figure 6, Data Mesh Pattern: Immutable Change/Audit Log
結論性想法
企業數據網格正在成為實時數字企業的基礎推動者。架構模式提供了一種既定的方式來描述數據網格交互。雖然沒有現成的可用工具,但構建您自己的組織數據網格的第一步是了解啟用數據網格的基礎模式。
希望本文為您提供必要的洞察力來啟動您自己的企業數據網格!