石秀峰薦語:Data Fabric、Data Mesh是當(dāng)前流行的數(shù)字化前沿技術(shù),代表了數(shù)據(jù)管理的未來。在之前的一篇文章《你知道數(shù)據(jù)治理,你聽過數(shù)據(jù)編織嗎?》中,有讀者留言說讓講講Data Mesh。今天這篇文章來自Data Mesh首創(chuàng)者Zhamak,我們看看作者提出Data Mesh的初衷以及她的觀點。
一、什么是數(shù)據(jù)網(wǎng)格數(shù)據(jù)網(wǎng)格(Data Mesh)
是一種應(yīng)用在企業(yè)內(nèi)部的數(shù)據(jù)平臺原則,其融合了分布式領(lǐng)域驅(qū)動的架構(gòu)(Distributed Domain Driven Architecture),自助平臺設(shè)計(Self-serve Platform Design)以及將數(shù)據(jù)視為產(chǎn)品(Thinking Data as a Product)的思維。數(shù)據(jù)網(wǎng)格專注于將數(shù)據(jù)視為產(chǎn)品,產(chǎn)品團(tuán)隊了解自己所使用的數(shù)據(jù)的方方面面(也就是所有的域)。并且 Data Mesh 將數(shù)據(jù)所有權(quán)上移給了負(fù)責(zé)某一項功能的團(tuán)隊,讓他們按照他們更好使用的方式去創(chuàng)建,接觸元數(shù)據(jù),對數(shù)據(jù)進(jìn)行分類和存儲。數(shù)據(jù)創(chuàng)建階段時的數(shù)據(jù)管理和數(shù)據(jù)分類會讓數(shù)據(jù)更為透明,更易于使用,從而消除了團(tuán)隊與團(tuán)隊之間的知識孤島,并使數(shù)據(jù)真正民主化。從而幫助數(shù)據(jù)的使用方不必糾結(jié)于如何發(fā)現(xiàn)想要的數(shù)據(jù),使其更加專注于如何從數(shù)據(jù)中產(chǎn)生價值。我們希望通過數(shù)據(jù)來增強(qiáng)和改善業(yè)務(wù)和生活的各個方面,這要求我們大規(guī)模管理數(shù)據(jù)的方式發(fā)生范式轉(zhuǎn)變。雖然過去十年的技術(shù)進(jìn)步已經(jīng)解決了數(shù)據(jù)量和數(shù)據(jù)處理計算的規(guī)模,但它們未能解決其他方面的規(guī)模問題:數(shù)據(jù)格局的變化、數(shù)據(jù)源的擴(kuò)散、數(shù)據(jù)用例和用戶的多樣性,以及對變化的響應(yīng)速度。Data Mesh為解決這些問題,建立了四個原則:面向領(lǐng)域的分散數(shù)據(jù)所有權(quán)和架構(gòu)、數(shù)據(jù)作為產(chǎn)品、自助數(shù)據(jù)基礎(chǔ)設(shè)施作為平臺以及聯(lián)合計算治理。每個原則都推動了技術(shù)架構(gòu)和組織結(jié)構(gòu)的新邏輯視圖。
二、數(shù)據(jù)的巨大鴻溝我們對數(shù)據(jù)的真正含義是什么?
答案取決于你問誰。當(dāng)今的格局被分為運(yùn)營數(shù)據(jù)和分析數(shù)據(jù)。業(yè)務(wù)數(shù)據(jù)位于用微服務(wù)提供的業(yè)務(wù)能力背后的數(shù)據(jù)庫中,具有交易性質(zhì),保持當(dāng)前狀態(tài),并為運(yùn)行業(yè)務(wù)的應(yīng)用程序的需求服務(wù)。分析性數(shù)據(jù)是業(yè)務(wù)事實在一段時間內(nèi)的時間和聚合視圖,通常被建模以提供回顧性或未來視角的洞察力;它訓(xùn)練ML模型或為分析報告提供資料。技術(shù)、架構(gòu)和組織設(shè)計的現(xiàn)狀反映了這兩個數(shù)據(jù)平面的分歧--兩個層次的存在,整合而又分離。這種分歧導(dǎo)致了一個脆弱的架構(gòu)。不斷失敗的ETL(提取、轉(zhuǎn)換、加載)工作和不斷增長的數(shù)據(jù)管道迷宮的復(fù)雜性,是許多試圖連接這兩個平面的人所熟悉的場景,數(shù)據(jù)從操作數(shù)據(jù)平面流向分析平面,然后又回到操作平面。
圖 1:數(shù)據(jù)的巨大鴻溝
分析數(shù)據(jù)平面本身已經(jīng)分化為兩個主要的架構(gòu)和技術(shù)棧:數(shù)據(jù)湖和
數(shù)據(jù)倉庫。數(shù)據(jù)湖支持?jǐn)?shù)據(jù)科學(xué)訪問模式,數(shù)據(jù)倉庫支持分析和
商業(yè)智能報告訪問模式。
在這篇文章中,我將兩個技術(shù)堆棧之間的關(guān)系放在一邊:數(shù)據(jù)倉庫試圖加入數(shù)據(jù)科學(xué)工作流,而數(shù)據(jù)湖試圖為數(shù)據(jù)分析師和商業(yè)智能提供服務(wù)。
圖 2:分析數(shù)據(jù)的進(jìn)一步劃分 - 倉庫
圖 3:分析數(shù)據(jù)的進(jìn)一步劃分 - 湖
數(shù)據(jù)網(wǎng)格承認(rèn)并尊重這兩個層面之間的差異:數(shù)據(jù)的性質(zhì)和拓?fù)洹⒉煌挠美?shù)據(jù)消費者的個人角色,以及最終的不同訪問模式。然而,它試圖在不同的結(jié)構(gòu)下連接這兩個平面——基于域而不是技術(shù)堆棧的倒置模型和拓?fù)?專注于分析數(shù)據(jù)平面。當(dāng)今管理這兩種數(shù)據(jù)原型的可用技術(shù)的差異不應(yīng)導(dǎo)致組織、團(tuán)隊和工作人員的分離。在我看來,操作和事務(wù)數(shù)據(jù)的技術(shù)和拓?fù)涫潜容^成熟的,主要是由微服務(wù)架構(gòu)驅(qū)動的;數(shù)據(jù)隱藏在每個微服務(wù)內(nèi)部,通過微服務(wù)的 API 進(jìn)行控制和訪問。是的,真正實現(xiàn)多云原生操作數(shù)據(jù)庫解決方案仍有創(chuàng)新空間,但從架構(gòu)的角度來看,它滿足了業(yè)務(wù)的需求。然而,分析數(shù)據(jù)的管理和訪問仍然是一個大規(guī)模的摩擦點。這是數(shù)據(jù)網(wǎng)格關(guān)注的地方。我確實相信,在未來的某個時候,我們的技術(shù)會不斷發(fā)展,讓這兩個飛機(jī)更加靠近,但就目前而言,我建議我們將它們的關(guān)注點分開。
三、數(shù)據(jù)網(wǎng)格的核心原理和邏輯架構(gòu)數(shù)據(jù)網(wǎng)格的目標(biāo)
是為從大規(guī)模分析數(shù)據(jù)和歷史事實中獲取價值奠定基礎(chǔ),并將其應(yīng)用于不斷變化的數(shù)據(jù)環(huán)境、數(shù)據(jù)源和消費者的擴(kuò)散、用例所需的轉(zhuǎn)換和處理的多樣性、速度。對變化的反應(yīng)。為了實現(xiàn)這一目標(biāo),我建議有四個基本原則任何數(shù)據(jù)網(wǎng)格實現(xiàn)都體現(xiàn)為實現(xiàn)規(guī)模化承諾,同時提供使數(shù)據(jù)可用所需的質(zhì)量和完整性保證:
1)面向領(lǐng)域的分散數(shù)據(jù)所有權(quán)和架構(gòu),
2)數(shù)據(jù)作為產(chǎn)品,
3)自助數(shù)據(jù)平臺,
4) 聯(lián)合計算治理。
雖然我預(yù)計這些原則的實踐、技術(shù)和實現(xiàn)會隨著時間的推移而變化和成熟,但這些原則保持不變。我打算讓這四項原則共同成為必要和充分,實現(xiàn)彈性擴(kuò)展,同時解決不兼容數(shù)據(jù)孤島或運(yùn)營成本增加的問題。讓我們深入研究每個原則,然后設(shè)計支持它的概念架構(gòu)。
01 領(lǐng)域所有權(quán)數(shù)據(jù)網(wǎng)格的核心是分散?和將責(zé)任分配給最接近數(shù)據(jù)的人,以支持持續(xù)的變化和可擴(kuò)展性。問題是,我們?nèi)绾畏纸夂头稚?shù)據(jù)生態(tài)系統(tǒng)的組成部分及其所有權(quán)。這里的組件由分析數(shù)據(jù)、其元數(shù)據(jù)以及為其提供服務(wù)所需的計算組成。數(shù)據(jù)網(wǎng)格遵循組織單元的接縫作為分解軸。我們今天的組織是根據(jù)其業(yè)務(wù)領(lǐng)域進(jìn)行分解的。這種分解將持續(xù)變化和進(jìn)化的影響——在大多數(shù)情況下——本地化到域的有界上下文中。
因此,使業(yè)務(wù)領(lǐng)域的有界上下文成為數(shù)據(jù)所有權(quán)分布的良好候選者。在本文中,我將繼續(xù)使用與原始文章“一家數(shù)字媒體公司”相同的用例。可以想象,媒體公司根據(jù)“播客”、管理播客發(fā)布的團(tuán)隊和系統(tǒng)及其主機(jī)等領(lǐng)域來劃分其運(yùn)營,因此支持運(yùn)營的系統(tǒng)和團(tuán)隊;“藝術(shù)家”、管理入職和付費藝術(shù)家的團(tuán)隊和系統(tǒng)等。數(shù)據(jù)網(wǎng)格認(rèn)為分析數(shù)據(jù)的所有權(quán)和服務(wù)應(yīng)該尊重這些領(lǐng)域。例如,管理“播客”的團(tuán)隊在為發(fā)布播客提供 API 的同時,還應(yīng)負(fù)責(zé)提供代表“已發(fā)布播客”隨時間推移的歷史數(shù)據(jù)以及隨時間推移的“收聽率”等其他事實——面向領(lǐng)域的數(shù)據(jù)分解和所有權(quán)。邏輯架構(gòu):面向領(lǐng)域的數(shù)據(jù)和計算為了促進(jìn)這種分解,我們需要建模一個按域排列分析數(shù)據(jù)的架構(gòu)。在此架構(gòu)中,領(lǐng)域與組織其他部分的接口不僅包括操作能力,還包括對域所服務(wù)的分析數(shù)據(jù)的訪問。例如,“播客”域提供了操作 API 來“創(chuàng)建新的播客集”,還提供了一個分析數(shù)據(jù)端點,用于檢索“過去個月內(nèi)的所有播客集數(shù)據(jù)”。這意味著架構(gòu)必須消除任何摩擦或耦合,以讓域提供其分析數(shù)據(jù)并發(fā)布計算數(shù)據(jù)的代碼,獨立于其他域。以下示例演示了面向領(lǐng)域的數(shù)據(jù)所有權(quán)原則。這些圖只是邏輯表示和示例性的。它們并不打算完整。每個域可以公開一個或多個操作 API,以及一個或多個分析數(shù)據(jù)端點:
圖 4:符號:域、其分析數(shù)據(jù)和操作能力
自然地,每個域都可以依賴于其他域的操作和分析數(shù)據(jù)端點。在以下示例中,“播客”域使用來自“用戶”域的“用戶更新”分析數(shù)據(jù),因此它可以通過其“播客聽眾人口統(tǒng)計”數(shù)據(jù)集提供播客聽眾的人口統(tǒng)計圖。
圖 5:示例:除運(yùn)營能力外,面向領(lǐng)域的分析數(shù)據(jù)所有權(quán)
注意:在示例中,我使用了一種命令式語言來訪問操作數(shù)據(jù)或功能,例如“付費藝術(shù)家”。這只是為了強(qiáng)調(diào)訪問操作數(shù)據(jù)與分析數(shù)據(jù)的意圖之間的區(qū)別。我確實認(rèn)識到,實際上操作 API 是通過更具聲明性的接口實現(xiàn)的,例如訪問 RESTful 資源或 GraphQL 查詢。
02 數(shù)據(jù)作為產(chǎn)品現(xiàn)有分析數(shù)據(jù)架構(gòu)的挑戰(zhàn)之一是發(fā)現(xiàn)、理解、信任和最終使用高質(zhì)量數(shù)據(jù)的高摩擦和成本。如果不解決,這個問題只會隨著數(shù)據(jù)網(wǎng)格的增加而加劇,因為提供數(shù)據(jù)(域)的地方和團(tuán)隊的數(shù)量會增加。這將是我們第一個去中心化原則的結(jié)果。數(shù)據(jù)即產(chǎn)品原則旨在解決數(shù)據(jù)質(zhì)量和古老的數(shù)據(jù)孤島問題;或者正如 Gartner 所說的暗數(shù)據(jù)?——“組織在日常業(yè)務(wù)活動中收集、處理和存儲,但一般不用于其他目的的信息資產(chǎn)”。
域提供的分析數(shù)據(jù)必須被視為一種產(chǎn)品,而該數(shù)據(jù)的消費者應(yīng)該被視為客戶——快樂和高興的客戶。原文中列舉了一系列功能,包括:可發(fā)現(xiàn)性、安全性、可探索性、可理解性、可信賴性等,數(shù)據(jù)網(wǎng)格實現(xiàn)應(yīng)支持將域數(shù)據(jù)視為產(chǎn)品。它還詳細(xì)說明了組織必須引入的領(lǐng)域數(shù)據(jù)產(chǎn)品所有者等角色,負(fù)責(zé)確保數(shù)據(jù)作為產(chǎn)品交付的客觀措施。這些措施包括數(shù)據(jù)質(zhì)量、減少數(shù)據(jù)消耗的前置時間,以及通過凈推薦值獲得的總體數(shù)據(jù)用戶滿意度,領(lǐng)域數(shù)據(jù)產(chǎn)品所有者必須深入了解數(shù)據(jù)用戶是誰,他們?nèi)绾问褂脭?shù)據(jù),以及他們習(xí)慣于使用數(shù)據(jù)的原生方法是什么。這種對數(shù)據(jù)用戶的深入了解導(dǎo)致設(shè)計出滿足他們需求的數(shù)據(jù)產(chǎn)品界面。
實際上,對于網(wǎng)格上的大多數(shù)數(shù)據(jù)產(chǎn)品,都有一些具有獨特工具和期望的傳統(tǒng)角色、數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家。所有數(shù)據(jù)產(chǎn)品都可以開發(fā)標(biāo)準(zhǔn)化的接口來支持它們。數(shù)據(jù)用戶與產(chǎn)品所有者之間的對話是建立數(shù)據(jù)產(chǎn)品接口的必要環(huán)節(jié)。每個域?qū)〝?shù)據(jù)產(chǎn)品開發(fā)人員角色,負(fù)責(zé)構(gòu)建、維護(hù)和服務(wù)域的數(shù)據(jù)產(chǎn)品。數(shù)據(jù)產(chǎn)品開發(fā)人員將與該領(lǐng)域的其他開發(fā)人員一起工作。每個領(lǐng)域團(tuán)隊可以提供一個或多個數(shù)據(jù)產(chǎn)品。也可以組建新的團(tuán)隊來提供不適合現(xiàn)有運(yùn)營領(lǐng)域的數(shù)據(jù)產(chǎn)品。注意:與過去的范例相比,這是一種倒置的責(zé)任模型。數(shù)據(jù)質(zhì)量的責(zé)任在盡可能靠近數(shù)據(jù)源的地方向上游轉(zhuǎn)移。
邏輯架構(gòu):數(shù)據(jù)產(chǎn)品架構(gòu)量子在架構(gòu)上,為了支持?jǐn)?shù)據(jù)作為域可以自主服務(wù)或消費的產(chǎn)品,數(shù)據(jù)網(wǎng)格引入了數(shù)據(jù)產(chǎn)品的概念作為其架構(gòu)量子。由進(jìn)化架構(gòu)定義的架構(gòu)量子?是最小的架構(gòu)單元,可以獨立部署并具有高功能凝聚力,并包括其功能所需的所有結(jié)構(gòu)元素。數(shù)據(jù)產(chǎn)品是網(wǎng)格上的節(jié)點,它封裝了其功能所需的三個結(jié)構(gòu)組件,作為產(chǎn)品提供對域分析數(shù)據(jù)的訪問。代碼:它包括:
a)負(fù)責(zé)消費、轉(zhuǎn)換和服務(wù)上游數(shù)據(jù)的數(shù)據(jù)管道代碼——從域的操作系統(tǒng)或上游數(shù)據(jù)產(chǎn)品接收的數(shù)據(jù);
b) 提供對數(shù)據(jù)、語義和語法模式、可觀察性指標(biāo)和其他元數(shù)據(jù)的訪問的 API 代碼;
c) 用于執(zhí)行特征的代碼,例如訪問控制策略、合規(guī)性、出處等。數(shù)據(jù)和元數(shù)據(jù):這就是我們在這里的目的,以多語言形式提供基礎(chǔ)分析和歷史數(shù)據(jù)。根據(jù)領(lǐng)域數(shù)據(jù)的性質(zhì)及其消費模型,數(shù)據(jù)可以作為事件、批處理文件、關(guān)系表、圖形等,同時保持相同的語義。為了使數(shù)據(jù)可用,有一組相關(guān)的元數(shù)據(jù),包括數(shù)據(jù)計算文檔、語義和語法聲明、質(zhì)量指標(biāo)等;數(shù)據(jù)固有的元數(shù)據(jù),例如其語義定義,以及傳達(dá)?計算治理使用的特征以實現(xiàn)預(yù)期行為的元數(shù)據(jù),例如訪問控制策略。基礎(chǔ)設(shè)施:基礎(chǔ)設(shè)施組件支持構(gòu)建、部署和運(yùn)行數(shù)據(jù)產(chǎn)品的代碼,以及存儲和訪問大數(shù)據(jù)和元數(shù)據(jù)。
圖 6:作為一個架構(gòu)量的數(shù)據(jù)產(chǎn)品組件
以下示例建立在上一節(jié)的基礎(chǔ)上,將數(shù)據(jù)產(chǎn)品演示為架構(gòu)量子。該圖僅包含示例內(nèi)容,并不旨在完整或包含所有設(shè)計和實施細(xì)節(jié)。雖然這仍然是一個邏輯表示,但它越來越接近物理實現(xiàn)。

圖 7:符號:域、其(分析)數(shù)據(jù)產(chǎn)品和操作系統(tǒng)

圖 8:服務(wù)于面向領(lǐng)域的分析數(shù)據(jù)的數(shù)據(jù)產(chǎn)品
注意:數(shù)據(jù)網(wǎng)格模型不同于過去將管道(代碼)作為與其產(chǎn)生的數(shù)據(jù)的獨立組件進(jìn)行管理的范例;通常基礎(chǔ)設(shè)施,如倉庫或湖泊存儲帳戶的實例,在許多數(shù)據(jù)集之間共享。數(shù)據(jù)產(chǎn)品是所有組件(代碼、數(shù)據(jù)和基礎(chǔ)設(shè)施)的組合,以域的有界上下文為粒度。
03 自助數(shù)據(jù)平臺正如您可以想象的那樣,要構(gòu)建、部署、執(zhí)行、監(jiān)控和訪問一個不起眼的六邊形——一種數(shù)據(jù)產(chǎn)品——需要配置和運(yùn)行相當(dāng)多的基礎(chǔ)設(shè)施;提供這種基礎(chǔ)設(shè)施所需的技能是專門的,很難在每個領(lǐng)域中復(fù)制。最重要的是,團(tuán)隊可以自主擁有他們的數(shù)據(jù)產(chǎn)品的唯一方法是訪問高級抽象的基礎(chǔ)設(shè)施,從而消除配置和管理數(shù)據(jù)產(chǎn)品生命周期的復(fù)雜性和摩擦。這需要一個新的原則,將自助數(shù)據(jù)基礎(chǔ)設(shè)施作為實現(xiàn)域自治的平臺。數(shù)據(jù)平臺可以被認(rèn)為是已經(jīng)存在的用于運(yùn)行和監(jiān)控服務(wù)的交付平臺的擴(kuò)展。然而,如今操作數(shù)據(jù)產(chǎn)品的底層技術(shù)堆棧與服務(wù)交付平臺看起來非常不同。這僅僅是由于大數(shù)據(jù)技術(shù)堆棧與操作平臺的差異。例如,領(lǐng)域團(tuán)隊可能將他們的服務(wù)部署為 Docker 容器,而交付平臺使用 Kubernetes 進(jìn)行編排;但是,相鄰的數(shù)據(jù)產(chǎn)品可能會在 Databricks 集群上將其管道代碼作為 Spark 作業(yè)運(yùn)行。這需要配置和連接兩組非常不同的基礎(chǔ)設(shè)施,在數(shù)據(jù)網(wǎng)格之前,它不需要這種級別的互操作性和互連性。我個人的希望是,我們開始看到運(yùn)營和數(shù)據(jù)基礎(chǔ)設(shè)施在有意義的地方融合。例如,可能在同一個編排系統(tǒng)(例如 Kubernetes)上運(yùn)行 Spark。實際上,為了使通才開發(fā)人員可以訪問分析數(shù)據(jù)產(chǎn)品開發(fā),對于現(xiàn)有的域開發(fā)人員配置文件,自助服務(wù)平臺除了簡化配置之外還需要提供一種新的工具和接口。自助數(shù)據(jù)平臺必須創(chuàng)建工具,以支持領(lǐng)域數(shù)據(jù)產(chǎn)品開發(fā)人員創(chuàng)建、維護(hù)和運(yùn)行數(shù)據(jù)產(chǎn)品的工作流程,而現(xiàn)有技術(shù)假定的專業(yè)知識較少;自助式基礎(chǔ)設(shè)施必須具備降低當(dāng)前成本和構(gòu)建數(shù)據(jù)產(chǎn)品所需的專業(yè)化能力。最初的文章包括自助數(shù)據(jù)平臺提供的功能列表,包括訪問可擴(kuò)展的多語言
數(shù)據(jù)存儲、數(shù)據(jù)產(chǎn)品模式、數(shù)據(jù)管道聲明和編排、數(shù)據(jù)產(chǎn)品沿襲、計算和數(shù)據(jù)局部性等。邏輯架構(gòu):多平面數(shù)據(jù)平臺自助平臺功能分為模型中所稱的多個類別或平面。注意:一個位面代表了一個存在層次——既整合又分離。類似于物理和意識平面,或網(wǎng)絡(luò)中的控制和數(shù)據(jù)平面。平面既不是層,也不意味著強(qiáng)大的分層訪問模型。

圖 9:通過自助服務(wù)接口提供許多相關(guān)功能的平臺平面
自助服務(wù)平臺可以有多個平面,每個平面服務(wù)于不同的用戶檔案。在以下示例中,列出了三個不同的數(shù)據(jù)平臺平面:
數(shù)據(jù)基礎(chǔ)設(shè)施供應(yīng)平面:支持運(yùn)行數(shù)據(jù)產(chǎn)品組件和產(chǎn)品網(wǎng)格所需的底層基礎(chǔ)設(shè)施供應(yīng)。這包括提供分布式文件存儲、存儲帳戶、訪問控制管理系統(tǒng)、運(yùn)行數(shù)據(jù)產(chǎn)品內(nèi)部代碼的編排、在數(shù)據(jù)產(chǎn)品圖上提供分布式查詢引擎等。我希望其他數(shù)據(jù)平臺平面或者只有高級數(shù)據(jù)產(chǎn)品開發(fā)人員直接使用此接口。這是一個相當(dāng)?shù)图壍臄?shù)據(jù)基礎(chǔ)設(shè)施生命周期管理平面。
數(shù)據(jù)產(chǎn)品開發(fā)者體驗平面:這是典型的數(shù)據(jù)產(chǎn)品開發(fā)者使用的主要界面。該接口抽象了支持?jǐn)?shù)據(jù)產(chǎn)品開發(fā)人員工作流所需的許多復(fù)雜性。它提供了比“供應(yīng)平面”更高級別的抽象。它使用簡單的聲明式接口來管理數(shù)據(jù)產(chǎn)品的生命周期。它自動實現(xiàn)被定義為一組標(biāo)準(zhǔn)和全局約定的橫切關(guān)注點,適用于所有數(shù)據(jù)產(chǎn)品及其接口。
數(shù)據(jù)網(wǎng)格監(jiān)督平面:有一組最好在網(wǎng)格級別提供的功能 - 連接數(shù)據(jù)產(chǎn)品的圖形 - 全局。雖然這些接口中的每一個的實現(xiàn)都可能依賴于單獨的數(shù)據(jù)產(chǎn)品功能,但在網(wǎng)格級別提供這些功能會更方便。例如,發(fā)現(xiàn)特定用例的數(shù)據(jù)產(chǎn)品的能力最好通過搜索或瀏覽數(shù)據(jù)產(chǎn)品的網(wǎng)格來提供;或關(guān)聯(lián)多個數(shù)據(jù)產(chǎn)品以創(chuàng)建更高階的洞察力,最好通過執(zhí)行可以跨網(wǎng)格上的多個數(shù)據(jù)產(chǎn)品操作的數(shù)據(jù)語義查詢來提供。以下模型僅是示例性的,并不打算完整,雖然平面的層次結(jié)構(gòu)是可取的,但下面沒有暗示嚴(yán)格的分層。
圖10:多平面自助數(shù)據(jù)平臺 *DP代表數(shù)據(jù)產(chǎn)品
04 聯(lián)合計算治理如您所見,數(shù)據(jù)網(wǎng)格遵循分布式系統(tǒng)架構(gòu),一組具有獨立生命周期的獨立數(shù)據(jù)產(chǎn)品,由可能的獨立團(tuán)隊構(gòu)建和部署。然而,對于大多數(shù)用例而言,為了以高階數(shù)據(jù)集、洞察力或機(jī)器智能的形式獲得價值,這些獨立的數(shù)據(jù)產(chǎn)品需要互操作;能夠關(guān)聯(lián)它們、創(chuàng)建聯(lián)合、查找交點或執(zhí)行其他圖形或?qū)λ鼈冞M(jìn)行大規(guī)模設(shè)置操作。為了使任何這些操作成為可能,數(shù)據(jù)網(wǎng)格實現(xiàn)需要一個治理模型,該模型包含去中心化和域自主權(quán)、通過全球標(biāo)準(zhǔn)化的互操作性、動態(tài)拓?fù)渥钪匾氖瞧脚_自動執(zhí)行決策。我稱之為聯(lián)合計算治理。由域數(shù)據(jù)產(chǎn)品所有者和數(shù)據(jù)平臺產(chǎn)品所有者聯(lián)合領(lǐng)導(dǎo)的決策模型,具有自治和域本地決策權(quán),同時創(chuàng)建并遵守一組全局規(guī)則——適用于所有數(shù)據(jù)產(chǎn)品及其接口的規(guī)則——以確保健康和可互操作的生態(tài)系統(tǒng)。該集團(tuán)有一項艱巨的工作:保持中心化和去中心化之間的平衡;?哪些決策需要本地化到每個域,哪些決策應(yīng)該針對所有域全局進(jìn)行。最終,全球決策只有一個目的,即通過數(shù)據(jù)產(chǎn)品的發(fā)現(xiàn)和組合創(chuàng)造互操作性和復(fù)合網(wǎng)絡(luò)效應(yīng)。數(shù)據(jù)網(wǎng)格中治理的優(yōu)先級不同于分析數(shù)據(jù)管理系統(tǒng)的傳統(tǒng)治理。雖然他們最終都開始從數(shù)據(jù)中獲取價值,但傳統(tǒng)的數(shù)據(jù)治理試圖通過集中決策來實現(xiàn)這一目標(biāo),并在對變更的支持最少的情況下建立數(shù)據(jù)的全球規(guī)范表示。相比之下,數(shù)據(jù)網(wǎng)格的聯(lián)合計算治理包含變化和多種解釋上下文。將系統(tǒng)置于恒定的緊身衣中可能會導(dǎo)致脆弱性演變。—— CS Holling,生態(tài)學(xué)家
邏輯架構(gòu):嵌入在網(wǎng)格中的計算策略支持性的組織結(jié)構(gòu)、激勵模型和?架構(gòu)對于聯(lián)邦治理模型的運(yùn)作是必要的:達(dá)成互操作性的全球決策和標(biāo)準(zhǔn),同時尊重本地域的自主權(quán),并有效地實施全球政策。

圖 11:符號:聯(lián)合計算治理模型
如前所述,在全球標(biāo)準(zhǔn)化、平臺對所有領(lǐng)域及其數(shù)據(jù)產(chǎn)品實施和強(qiáng)制執(zhí)行的內(nèi)容與由領(lǐng)域決定的內(nèi)容之間取得平衡,是一門藝術(shù)。例如,域數(shù)據(jù)模型是一個應(yīng)該本地化到最熟悉它的域的關(guān)注點。例如,“播客受眾”數(shù)據(jù)模型的語義和語法如何定義必須留給“播客領(lǐng)域”團(tuán)隊。然而相比之下,關(guān)于如何識別“播客聽眾”的決定是一個全球關(guān)注的問題。播客聽眾是“用戶”群體中的一員——它的?上游有界上下文- 誰可以跨越域的邊界并在其他域中找到,例如“用戶播放流”。統(tǒng)一標(biāo)識允許關(guān)聯(lián)關(guān)于既是“播客聽眾”又是“蒸汽聽眾”的“用戶”的信息。以下是數(shù)據(jù)網(wǎng)格治理模型中涉及的元素示例。這不是一個全面的例子,只是說明了全球?qū)用娴南嚓P(guān)問題。
圖 12::聯(lián)合計算治理元素示例:團(tuán)隊、激勵措施、自動化實施和數(shù)據(jù)網(wǎng)格的全球標(biāo)準(zhǔn)化方面
數(shù)據(jù)網(wǎng)格前治理的許多實踐,作為一個集中的功能,不再適用于數(shù)據(jù)網(wǎng)格范式。例如,過去強(qiáng)調(diào)黃金數(shù)據(jù)集的認(rèn)證——經(jīng)過集中質(zhì)量控制和認(rèn)證并被標(biāo)記為可信賴的數(shù)據(jù)集——作為治理的核心功能不再相關(guān)。這源于這樣一個事實,即在以前的數(shù)據(jù)管理范例中,無論質(zhì)量和格式如何,數(shù)據(jù)都從運(yùn)營域的數(shù)據(jù)庫中提取并集中存儲在倉庫或湖泊中,現(xiàn)在需要一個集中的團(tuán)隊進(jìn)行清理、協(xié)調(diào)及其加密過程;通常在集中治理組的監(jiān)管下。數(shù)據(jù)網(wǎng)格完全分散了這種擔(dān)憂。領(lǐng)域數(shù)據(jù)集只有在域內(nèi),根據(jù)預(yù)期的數(shù)據(jù)產(chǎn)品質(zhì)量指標(biāo)和全球標(biāo)準(zhǔn)化規(guī)則,經(jīng)過質(zhì)量保證過程后,才成為數(shù)據(jù)產(chǎn)品。領(lǐng)域數(shù)據(jù)產(chǎn)品所有者最適合決定如何衡量其領(lǐng)域的數(shù)據(jù)質(zhì)量,首先要了解產(chǎn)生數(shù)據(jù)的領(lǐng)域操作的細(xì)節(jié)。盡管有這樣的本地化決策和自主權(quán),但他們需要遵守基于全球聯(lián)合治理團(tuán)隊定義的全球標(biāo)準(zhǔn)的 SLO 質(zhì)量和規(guī)范建模。下表顯示了數(shù)據(jù)治理的集中式(數(shù)據(jù)湖、數(shù)據(jù)倉庫)模型與數(shù)據(jù)網(wǎng)格之間的對比。
|
集中式的數(shù)據(jù)治理方面
|
數(shù)據(jù)網(wǎng)格的數(shù)據(jù)治理方面
|
|
中心化團(tuán)隊
|
聯(lián)合團(tuán)隊
|
|
負(fù)責(zé)數(shù)據(jù)質(zhì)量
|
負(fù)責(zé)定義如何對構(gòu)成質(zhì)量的內(nèi)容進(jìn)行建模
|
|
負(fù)責(zé)數(shù)據(jù)安全
|
負(fù)責(zé)定義數(shù)據(jù)安全的各個方面,即平臺自動構(gòu)建和監(jiān)控的數(shù)據(jù)敏感度級別
|
|
負(fù)責(zé)遵守法規(guī)
|
負(fù)責(zé)定義平臺自動構(gòu)建和監(jiān)控的法規(guī)要求
|
|
數(shù)據(jù)集中保管
|
按域?qū)?shù)據(jù)進(jìn)行聯(lián)合托管
|
|
負(fù)責(zé)全球規(guī)范數(shù)據(jù)建模
|
負(fù)責(zé)建模——跨越多個領(lǐng)域邊界的數(shù)據(jù)元素
|
|
團(tuán)隊獨立于域
|
團(tuán)隊由領(lǐng)域代表組成
|
|
以定義明確的靜態(tài)數(shù)據(jù)結(jié)構(gòu)為目標(biāo)
|
旨在實現(xiàn)有效的網(wǎng)格操作,包括網(wǎng)格的連續(xù)變化和動態(tài)拓?fù)?
|
|
單體湖/倉庫使用的集中技術(shù)
|
每個域使用的自助平臺技術(shù)
|
|
根據(jù)管理數(shù)據(jù)(表格)的數(shù)量或數(shù)量衡量成功
|
基于網(wǎng)絡(luò)效應(yīng)衡量成功 - 表示網(wǎng)格上數(shù)據(jù)消耗的連接
|
|
人工干預(yù)的手動流程
|
平臺實現(xiàn)的自動化流程
|
|
防止錯誤
|
通過平臺的自動化處理檢測錯誤并恢復(fù)
|
四、原理總結(jié)和高層邏輯架構(gòu)
讓我們把它們放在一起,我們討論了支撐數(shù)據(jù)網(wǎng)格的四個原則:
|
面向領(lǐng)域的去中心化數(shù)據(jù)所有權(quán)和架構(gòu)
|
因此,
創(chuàng)建和消費數(shù)據(jù)的生態(tài)系統(tǒng)可以隨著數(shù)據(jù)源數(shù)量、用例數(shù)量和數(shù)據(jù)訪問模型多樣性的增加而擴(kuò)展;
只需增加網(wǎng)格上的自治節(jié)點。
|
|
數(shù)據(jù)作為產(chǎn)品
|
因此,
數(shù)據(jù)用戶能夠輕松發(fā)現(xiàn)、理解和安全使用高質(zhì)量數(shù)據(jù),體驗愉悅;
分布在多個域中的數(shù)據(jù)。
|
|
作為平臺的自助數(shù)據(jù)基礎(chǔ)設(shè)施
|
因此,
領(lǐng)域團(tuán)隊可以使用平臺抽象自主創(chuàng)建和使用數(shù)據(jù)產(chǎn)品,隱藏構(gòu)建、執(zhí)行和維護(hù)安全且可互操作的數(shù)據(jù)產(chǎn)品的復(fù)雜性。
|
|
聯(lián)合計算治理
|
因此,
數(shù)據(jù)用戶可以從獨立數(shù)據(jù)產(chǎn)品的聚合和關(guān)聯(lián)中獲得價值——網(wǎng)格表現(xiàn)為遵循全球互操作標(biāo)準(zhǔn)的生態(tài)系統(tǒng);
以計算方式融入平臺的標(biāo)準(zhǔn)。
|
這些原則推動了一個邏輯架構(gòu)模型,該模型在將分析數(shù)據(jù)和操作數(shù)據(jù)在同一域下更緊密地結(jié)合在一起的同時,尊重它們的基礎(chǔ)技術(shù)差異。這些差異包括分析數(shù)據(jù)的托管位置、用于處理操作服務(wù)與分析服務(wù)的不同計算技術(shù)、查詢和訪問數(shù)據(jù)的不同方式等。
圖 13:數(shù)據(jù)網(wǎng)格方法的邏輯架構(gòu)
我希望到此為止,我們現(xiàn)在已經(jīng)建立了一種共同的語言和邏輯思維模型,我們可以共同推進(jìn)網(wǎng)格組件的詳細(xì)藍(lán)圖,例如數(shù)據(jù)產(chǎn)品、平臺和所需的標(biāo)準(zhǔn)化。
致謝
感謝 Martin Fowler 幫助我完善了這篇文章的敘述和結(jié)構(gòu),并主持了這篇文章。特別感謝許多通過客戶實施和研討會幫助創(chuàng)建和提煉本文中的想法的 ThoughtWorker。還要感謝以下提供寶貴反饋的早期審稿人:Chris Ford、David Colls 和 Pramod Sadalage。
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除)