隨著數(shù)字化時代的到來,近幾年數(shù)據(jù)領(lǐng)域的新技術(shù)概念不斷涌現(xiàn),無論是數(shù)據(jù)湖、湖倉一體、流批一體、存算一體、數(shù)據(jù)編織抑或數(shù)據(jù)網(wǎng)格,很多還爬上了Gartner曲線,其中數(shù)據(jù)網(wǎng)格備受關(guān)注,數(shù)據(jù)網(wǎng)格從字面意思來看挺抽象的,會勸退很多人,但當你深入去理解這個概念時,才發(fā)現(xiàn)奧妙無窮。
一、數(shù)據(jù)平臺架構(gòu)演進歷史
要理解數(shù)據(jù)網(wǎng)格,先得回顧下數(shù)據(jù)平臺的發(fā)展歷史,它們的典型代表分別是數(shù)據(jù)倉庫、數(shù)據(jù)湖及湖倉一體。

第一代:數(shù)據(jù)倉庫

1980年代中后期,為解決數(shù)據(jù)庫面對數(shù)據(jù)分析的不足,孕育出新一類產(chǎn)品數(shù)據(jù)倉庫。讓我們先來看下數(shù)據(jù)倉庫的定義,數(shù)據(jù)倉庫(Data Warehouse)是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策和信息的全局共享。
數(shù)據(jù)倉庫對于數(shù)據(jù)的處理可分為數(shù)據(jù)集成(裝載)、數(shù)據(jù)加工(ETL)、數(shù)據(jù)匯聚、數(shù)據(jù)展示及挖掘。數(shù)據(jù)經(jīng)過這一過程,被抽取到數(shù)據(jù)倉庫中,并嚴格按照預(yù)先定義的模式被裝載進來,經(jīng)過多層加工形成數(shù)據(jù)集市,并最終提供給終端應(yīng)用或進一步供挖掘使用,主要場景包括編制報表、發(fā)布下游數(shù)據(jù)集市(Data Marts),以及支持自助式商業(yè)智能等。
第二代:數(shù)據(jù)湖

隨著數(shù)據(jù)規(guī)模擴大,對數(shù)據(jù)承載能力(容量、算力)的要求也不斷增大,數(shù)倉架構(gòu)的擴展能力面臨考驗,規(guī)模的擴展會面臨大量資源的投入,但硬件資源缺乏彈性,會導(dǎo)致高峰時資源不足,低谷時資源閑置浪費問題。針對數(shù)據(jù)類型,也不再局限于結(jié)構(gòu)化數(shù)據(jù),更多半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)需要被利用起來,傳統(tǒng)的數(shù)據(jù)倉庫架構(gòu)面臨諸多的挑戰(zhàn)。
相比于數(shù)據(jù)倉庫,數(shù)據(jù)湖是一種不斷演進中、可擴展的大數(shù)據(jù)存儲、處理、分析的基礎(chǔ)設(shè)施。它就像一個大型倉庫,可以存儲任何形式(包括結(jié)構(gòu)化和非結(jié)構(gòu)化)和任何格式(包括文本、音頻、視頻和圖像)的原始數(shù)據(jù),數(shù)據(jù)湖通常更大,存儲成本也更為廉價。結(jié)合先進的數(shù)據(jù)科學(xué)與機器學(xué)習(xí)技術(shù),能提供預(yù)測分析、推薦模型等能力。
數(shù)據(jù)湖與數(shù)據(jù)倉庫核心區(qū)別在于:數(shù)據(jù)倉庫中,數(shù)據(jù)存儲的結(jié)構(gòu)與其定義的schema是強匹配的,也就是先建模再使用,簡單點說,數(shù)據(jù)倉庫就像是一個大型圖書館,里面的數(shù)據(jù)需要按照規(guī)范放好,你可以按照類別找到想要的信息,存儲在倉庫中都是結(jié)構(gòu)化數(shù)據(jù),可以直接消費。
而數(shù)據(jù)湖存儲其中的數(shù)據(jù)不需要滿足特定的schema,數(shù)據(jù)湖也不會嘗試去將特定的schema施行其上,任何格式的數(shù)據(jù)都可以扔進數(shù)據(jù)湖。數(shù)據(jù)使用通常會在讀取數(shù)據(jù)的時候解析schema(schema-on-read),當處理相應(yīng)的數(shù)據(jù)時,將轉(zhuǎn)換施加其上,也就是說,數(shù)據(jù)湖對于入湖的數(shù)據(jù)不做任何規(guī)范,只有在于使用時才定義存儲格式以便分析使用。
第三代:湖倉一體

可以看到,數(shù)據(jù)湖和數(shù)據(jù)倉庫都有各自的優(yōu)勢和不足,但不難發(fā)現(xiàn),二者在某些層面是非常互補的,于是乎,2020年,大數(shù)據(jù)DataBricks公司首次提出了湖倉一體(Data Lakehouse)概念,希望將數(shù)據(jù)湖和數(shù)據(jù)倉庫技術(shù)合而為一,依據(jù)DataBricks公司對Lakehouse 的定義,湖倉一體是一種結(jié)合了數(shù)據(jù)湖和數(shù)據(jù)倉庫優(yōu)勢的新范式,在用于數(shù)據(jù)湖的低成本存儲上,實現(xiàn)與數(shù)據(jù)倉庫中類似的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理功能。
湖倉一體是一種更開放的新型架構(gòu),有人把它做了一個比喻,就類似于在湖邊搭建了很多小房子,有的負責(zé)數(shù)據(jù)分析,有的運轉(zhuǎn)機器學(xué)習(xí),有的來檢索音視頻等,至于那些數(shù)據(jù)源流,都可以從數(shù)據(jù)湖里輕松獲取。
二、數(shù)據(jù)平臺遵循集中化的范式
但無論是數(shù)據(jù)倉庫,數(shù)據(jù)湖還是湖倉一體,它們都有一個共同的范式,就是以數(shù)據(jù)物理集中化為原則的、中心式,單體式的架構(gòu)。
這種集中化的架構(gòu)有三個特點,如下所示:

第一、統(tǒng)一采集企業(yè)的所有數(shù)據(jù)到一個數(shù)據(jù)平臺。
第二、統(tǒng)一對數(shù)據(jù)進行清洗、轉(zhuǎn)化、處理及分析。
第三、統(tǒng)一對外提供數(shù)據(jù)服務(wù),包括數(shù)據(jù)集、API等等。
雖然為了適應(yīng)業(yè)務(wù)靈活分析的需要會產(chǎn)生各種數(shù)據(jù)集市,但這些數(shù)據(jù)集市的數(shù)據(jù)都是基于集中化的數(shù)據(jù)平臺打造的,本質(zhì)上仍然是集中化架構(gòu)的延續(xù)。
為什么數(shù)據(jù)一定要集中到一起呢?
因為大家對于數(shù)據(jù)分析有一個根深蒂固的認知,即數(shù)據(jù)具有網(wǎng)絡(luò)效應(yīng),多維度的數(shù)據(jù)只有融合分析才能產(chǎn)生發(fā)揮出數(shù)據(jù)的最大價值,而要實現(xiàn)融合分析的前提是數(shù)據(jù)要進行集中化的管理,如果數(shù)據(jù)以物理隔離的形式存在,以現(xiàn)有的技術(shù)手段不足以實現(xiàn)數(shù)據(jù)的融合分析,打破數(shù)據(jù)孤島也是數(shù)據(jù)治理領(lǐng)域最為重要的課題。
三、集中化數(shù)據(jù)平臺面臨的挑戰(zhàn)
數(shù)字化時代的使得使得集中化數(shù)據(jù)平臺面臨體系架構(gòu)、技術(shù)架構(gòu)、組織架構(gòu)等多方面的巨大挑戰(zhàn)。
第一、無處不在的數(shù)據(jù)使得集中化數(shù)據(jù)平臺對各類數(shù)據(jù)進行采集的響應(yīng)能力變?nèi)酰髽I(yè)擁有越多來源的數(shù)據(jù),集中化管理的壓力就越大,比如某些企業(yè)大數(shù)據(jù)平臺建設(shè)了很久,但新增的數(shù)據(jù)寥寥無幾,并不是說沒有新數(shù)據(jù),主要在于根本沒有能力去實時感知數(shù)據(jù)源和數(shù)據(jù)的變化。
第二、集中化的數(shù)據(jù)平臺意味著要進行大量的數(shù)據(jù)搬遷,傳統(tǒng)的批處理方式很容易造成數(shù)據(jù)延遲、不一致的現(xiàn)象,這影響到了下游應(yīng)用的準確性。

第三、數(shù)據(jù)應(yīng)用需求的大幅增加使得集中化平臺對各類數(shù)據(jù)進行處理和分析的響應(yīng)速度變慢,大量的領(lǐng)域需求被耽擱或拒絕,各個領(lǐng)域想盡辦法另起爐灶。
第四、數(shù)據(jù)工程師原來以創(chuàng)建最大的整體(即大數(shù)據(jù)平臺)而自豪,現(xiàn)在卻處于業(yè)務(wù)孤立的境地,因為企業(yè)將面向領(lǐng)域的數(shù)據(jù)所有權(quán)轉(zhuǎn)移到了集中化平臺上的數(shù)據(jù)工程師,集中化平臺上的數(shù)據(jù)工程師對各領(lǐng)域的來源數(shù)據(jù)缺乏了解,也缺乏領(lǐng)域?qū)I(yè)知識,越來越難以滿足各領(lǐng)域的數(shù)據(jù)消費需求。
四、領(lǐng)域驅(qū)動設(shè)計的啟示
OLTP領(lǐng)域總是變革的先行者,Devops首先在OLTP大行其道,然后敏捷的春風(fēng)刮到OLAP領(lǐng)域,導(dǎo)致了DataOps的出現(xiàn),同樣的情形估計又要發(fā)生一遍。
埃里克·埃文斯(Eric Evans)的著作《領(lǐng)域驅(qū)動設(shè)計》(Domain-Driven Design)對現(xiàn)代架構(gòu)思想以及組織建模產(chǎn)生了深遠的影響。它通過將系統(tǒng)分解為圍繞業(yè)務(wù)領(lǐng)域功能構(gòu)建的分布式服務(wù)來影響微服務(wù)體系結(jié)構(gòu),從根本上改變了團隊的組成方式,從而使團隊可以獨立自主地擁有領(lǐng)域能力。盡管在OLTP引入了定向領(lǐng)域分解和所有權(quán),但在OLAP卻忽略了領(lǐng)域的概念,DDD提倡的領(lǐng)域綁定上下文是一種強大的工具,實際可以用來設(shè)計數(shù)據(jù)集的所有權(quán)。
設(shè)想一下阿里這個龐大的數(shù)據(jù)帝國的推薦引擎設(shè)計,如果在優(yōu)酷上需要基于淘寶商品的交易數(shù)據(jù)進行推薦,與其將淘寶、優(yōu)酷的數(shù)據(jù)統(tǒng)一采集到中央數(shù)據(jù)中臺然后打造推薦模型以供優(yōu)酷調(diào)用,還不如淘寶這邊提供交易數(shù)據(jù)的服務(wù)接口由優(yōu)酷來統(tǒng)一調(diào)用來得方便,當然物理存儲啥的肯定可以采用諸如阿里云之類的中心式架構(gòu),我不知道阿里具體是怎么干的,但在業(yè)務(wù)規(guī)模和數(shù)據(jù)規(guī)模巨大的企業(yè),領(lǐng)域驅(qū)動的數(shù)據(jù)服務(wù)實踐也許早就存在,因為沒有一個數(shù)據(jù)團隊能同時搞定多個領(lǐng)域的業(yè)務(wù)。
下面這張圖是個示例,對于“推薦領(lǐng)域”圖數(shù)據(jù)集來說,如果還有其它領(lǐng)域(例如“新藝術(shù)家發(fā)現(xiàn)領(lǐng)域”)對其有用,則可以選擇提取和訪問該領(lǐng)域,這要求我們從傳統(tǒng)ETL模式轉(zhuǎn)移到跨所有域的服務(wù)調(diào)用。

五、數(shù)據(jù)網(wǎng)格的定義和原則
針對傳統(tǒng)集中化數(shù)據(jù)平臺的困境,Zhamak Dehghani 于 2019 年 5 月撰寫了一篇論文,提出了數(shù)據(jù)網(wǎng)格的概念。在這篇文章中,Thoughtworks 顧問描述了集中式、單體式和與域無關(guān)的數(shù)據(jù)平臺的局限性。
這些平臺通常采用專有企業(yè)數(shù)據(jù)倉庫的形式或復(fù)雜的數(shù)據(jù)湖,其中包含“數(shù)千個無法維護的 ETL 作業(yè)、表格和報告,只有一小部分專業(yè)人員才能理解,從而導(dǎo)致對業(yè)務(wù)的積極影響未充分實現(xiàn)”,根據(jù) Dehghani 的說法,這些數(shù)據(jù)“由一個由超專業(yè)數(shù)據(jù)工程師組成的中央團隊運營,這些工程師充其量只能支持一些研發(fā)分析”。數(shù)據(jù)網(wǎng)格旨在通過專注于領(lǐng)域驅(qū)動的設(shè)計來解決這些問題,并引導(dǎo)領(lǐng)導(dǎo)者走向“現(xiàn)代數(shù)據(jù)堆棧”,以實現(xiàn)元數(shù)據(jù)和數(shù)據(jù)管理的集中化和分散化之間的平衡。
Thoughtworks認為,數(shù)據(jù)網(wǎng)格是一種面向分析和機器學(xué)習(xí)的技術(shù)方法,以去中心化的組織和技術(shù)方式分享、訪問和管理數(shù)據(jù)。數(shù)據(jù)網(wǎng)格希望創(chuàng)建一種社會技術(shù)方法,旨在規(guī)模化的獲取數(shù)據(jù)中的價值。從本質(zhì)上講,它創(chuàng)建了一個可靠的數(shù)據(jù)共享模式,與組織同步發(fā)展并持續(xù)擁抱變化。
數(shù)據(jù)網(wǎng)格是一種去中心化的數(shù)據(jù)體系結(jié)構(gòu),按特定業(yè)務(wù)領(lǐng)域(例如營銷、銷售、客戶服務(wù)等)來組織數(shù)據(jù),為給定數(shù)據(jù)集的生產(chǎn)者提供更多所有權(quán)。?生產(chǎn)者對領(lǐng)域數(shù)據(jù)的理解使他們能夠設(shè)定專注于文檔、質(zhì)量和訪問的數(shù)據(jù)治理策略。反過來,這可以在整個組織中實現(xiàn)自助服務(wù)。雖然這種聯(lián)合方法消除了與集中式單體系統(tǒng)相關(guān)的許多操作瓶頸,但并不一定意味著您不能使用傳統(tǒng)的存儲系統(tǒng),如數(shù)據(jù)湖或數(shù)據(jù)倉庫。這只是意味著它們的使用已經(jīng)從單一的集中式數(shù)據(jù)平臺轉(zhuǎn)變?yōu)槎鄠€去中心化的數(shù)據(jù)存儲庫。
為了實現(xiàn)數(shù)據(jù)網(wǎng)格的目標,Dehghani提出了數(shù)據(jù)網(wǎng)格的四個原則,包括按領(lǐng)域?qū)?shù)據(jù)的所有權(quán)和架構(gòu)去中心化、數(shù)據(jù)即產(chǎn)品、自助式數(shù)據(jù)基礎(chǔ)設(shè)施及聯(lián)邦式計算治理。
1、按領(lǐng)域?qū)?shù)據(jù)的所有權(quán)和架構(gòu)去中心化
數(shù)據(jù)網(wǎng)格的核心是去中心化的,并將權(quán)力下放,將其分配給最接近數(shù)據(jù)的人,從而能夠支持持續(xù)的變更和擴張,它比數(shù)據(jù)湖具有更好的擴展性,因為新的數(shù)據(jù)源或新的數(shù)據(jù)消費者只意味著添加一個新的域(數(shù)據(jù)產(chǎn)品),而不是重新訪問整個數(shù)據(jù)湖。
為了實現(xiàn)這個目標,我們需要構(gòu)建一個按域劃分的數(shù)據(jù)架構(gòu)。在此架構(gòu)中,領(lǐng)域與組織其他部分的接口不僅包括交易操作能力,還包括對域所服務(wù)的分析數(shù)據(jù)的訪問。以下示例演示了面向領(lǐng)域的數(shù)據(jù)所有權(quán)原則,每個域可以公開一個或多個操作型 API,以及一個或多個數(shù)據(jù)API:


這種去中心化的組織架構(gòu)有點像華為數(shù)據(jù)之道中提到的業(yè)務(wù)負責(zé)制的數(shù)據(jù)管理責(zé)任體系,華為按分層分級原則任命數(shù)據(jù)Owner,在公司層面設(shè)置公司數(shù)據(jù)Owner,在各業(yè)務(wù)領(lǐng)域設(shè)置領(lǐng)域數(shù)據(jù)Owner,這樣既能確保公司數(shù)據(jù)工作統(tǒng)籌規(guī)劃,也能同時兼顧各業(yè)務(wù)領(lǐng)域靈活多變的特征。
各領(lǐng)域數(shù)據(jù)Owner在公司數(shù)據(jù)Owner的統(tǒng)籌下負責(zé)所轄領(lǐng)域的數(shù)據(jù)管理體系的建設(shè)和優(yōu)化。各業(yè)務(wù)部門是執(zhí)行規(guī)則、保證數(shù)據(jù)質(zhì)量,進而推動規(guī)則優(yōu)化的關(guān)鍵環(huán)節(jié)。通過主管結(jié)構(gòu)正式任命各數(shù)據(jù)主題域和業(yè)務(wù)對象的數(shù)據(jù)Owner和數(shù)據(jù)管理,數(shù)據(jù)Owner的職責(zé)包括數(shù)據(jù)管理體系建設(shè)、信息架構(gòu)建設(shè)、數(shù)據(jù)質(zhì)量管理、數(shù)據(jù)入湖和數(shù)據(jù)服務(wù)建設(shè)等等。
大家肯定很困惑,領(lǐng)域擁有數(shù)據(jù)的所有權(quán)似乎是天然的,怎么能說是進步的理念呢?現(xiàn)在數(shù)據(jù)集中化的目的不就是為了剝奪這種權(quán)力以便讓其它領(lǐng)域也可以訪問到領(lǐng)域的數(shù)據(jù)嗎?
問題的關(guān)鍵在于原來的領(lǐng)域雖然擁有數(shù)據(jù)的權(quán)力,但并沒有承擔分享的義務(wù),這引發(fā)了數(shù)據(jù)集中化管理的變革,但傳統(tǒng)集中化的數(shù)據(jù)平臺做過了頭,在各領(lǐng)域數(shù)據(jù)支撐上力不從心,數(shù)據(jù)網(wǎng)格希望采用分布式的架構(gòu)來解決集約化和靈活性的矛盾,讓數(shù)據(jù)所有權(quán)回歸領(lǐng)域,但需要承擔對外數(shù)據(jù)服務(wù)的義務(wù)。
2、數(shù)據(jù)即產(chǎn)品
傳統(tǒng)對集中化數(shù)據(jù)的訪問通常需要先進行多次溝通,提交工單等待批準,數(shù)據(jù)網(wǎng)格希望減少生產(chǎn)者交付高質(zhì)量數(shù)據(jù)的阻力,同時使消費者能快速地探索、理解和使用數(shù)據(jù)。
在過去的十年中,OLTP致力于用產(chǎn)品思維提升對外服務(wù)能力,包括打造豐富的 API(應(yīng)用程序接口)體系、提供優(yōu)秀的開發(fā)體驗(可發(fā)現(xiàn)且易于理解的 API 文檔,API 測試箱及密切跟蹤質(zhì)量的關(guān)鍵績效指標)等等。
為了使分布式數(shù)據(jù)平臺獲得成功,領(lǐng)域數(shù)據(jù)團隊也必須將產(chǎn)品思維應(yīng)用于他們提供的數(shù)據(jù)集,將數(shù)據(jù)視為獨立的產(chǎn)品,承擔起提升數(shù)據(jù)質(zhì)量的責(zé)任,包括準確性、一致性等,確保數(shù)據(jù)可供發(fā)現(xiàn)、檢索、理解、值得信賴并有安全性的保障,領(lǐng)域數(shù)據(jù)產(chǎn)品需要具有以下基本特征:
(1)可發(fā)現(xiàn)的
數(shù)據(jù)產(chǎn)品必須易于發(fā)現(xiàn)。常見的實現(xiàn)方式是對所有可用的數(shù)據(jù)產(chǎn)品及其元信息(例如其所有者,來源,樣本數(shù)據(jù)集等)編寫目錄。此中心式可發(fā)現(xiàn)性服務(wù)使組織里的數(shù)據(jù)消費者,工程師和科學(xué)家能夠輕松找到他們需要的數(shù)據(jù)集。每個領(lǐng)域數(shù)據(jù)產(chǎn)品都必須在此中心式數(shù)據(jù)目錄中注冊以方便查詢。請注意,這里的觀點轉(zhuǎn)變是從單一平臺提取數(shù)據(jù),到以可發(fā)現(xiàn)的方式將其數(shù)據(jù)作為產(chǎn)品提供到每個領(lǐng)域。
(2)可尋址的
在分布式體系架構(gòu)中要制定通用的標準,確保數(shù)據(jù)產(chǎn)品有一個唯一的訪問地址,不同領(lǐng)域存儲和提供數(shù)據(jù)集的格式不同,事件可通過 Kafka 進行存儲和訪問,而數(shù)據(jù)集可使用 CSV 文件或序列化 Parquet 文件的 AWS S3 進行存儲和訪問。
(3)可信賴且真實的
沒有人會使用他們不信任的產(chǎn)品。在傳統(tǒng)集中化數(shù)據(jù)平臺中,采集的原始數(shù)據(jù)質(zhì)量往往參差不齊,需要花費大量時間進行清洗和轉(zhuǎn)化。為了實現(xiàn)根本性的提升,領(lǐng)域數(shù)據(jù)產(chǎn)品的所有者要從源頭解決數(shù)據(jù)質(zhì)量問題,并通過元數(shù)據(jù)服務(wù)(比如血緣分析)來提升信任度和使用體驗。
(4)自描述的語義和語法
優(yōu)質(zhì)的產(chǎn)品往往所見即所得。為了降低數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家使用數(shù)據(jù)集產(chǎn)品的門檻,需要對數(shù)據(jù)集的含義進行充分描述,最好以樣本數(shù)據(jù)集作為示例,數(shù)據(jù)schemas 即域元數(shù)據(jù)是提供自助服務(wù)的起點。
(5)可互操作并受全球標準約束
分布式領(lǐng)域數(shù)據(jù)體系結(jié)構(gòu)需要具備對跨領(lǐng)域的數(shù)據(jù)進行連接、過濾、整合的能力,其中的關(guān)鍵是遵循統(tǒng)一的標準和規(guī)則,這種標準化工作的共同關(guān)注點包括字段類型格式化,跨不同領(lǐng)域識別多義詞,數(shù)據(jù)集地址約定,通用元數(shù)據(jù)字段,事件格式(例如 CloudEvents)等,互操作性和標準化是構(gòu)建分布式系統(tǒng)的基礎(chǔ)支柱之一。
(6)安全并受全局訪問控制
無論架構(gòu)是否中心化都必須確保產(chǎn)品數(shù)據(jù)集的安全性。在分布式的面向領(lǐng)域的數(shù)據(jù)產(chǎn)品中,對每個領(lǐng)域數(shù)據(jù)產(chǎn)品都要進行精細的訪問控制,訪問控制策略可以被集中定義但也可以應(yīng)用到每個單獨的數(shù)據(jù)集產(chǎn)品上。使用企業(yè)身份管理系統(tǒng)(SSO)和基于角色的訪問控制策略是實現(xiàn)產(chǎn)品數(shù)據(jù)集訪問控制的便捷方法。
(7)領(lǐng)域數(shù)據(jù)跨職能團隊
領(lǐng)域需要增加數(shù)據(jù)產(chǎn)品經(jīng)理和數(shù)據(jù)工程師。數(shù)據(jù)產(chǎn)品經(jīng)理要圍繞數(shù)據(jù)產(chǎn)品的愿景和路線圖做出決策,要關(guān)注消費者的滿意度,不斷衡量和改進其領(lǐng)域擁有和生產(chǎn)的數(shù)據(jù)的質(zhì)量和豐富性,要負責(zé)域數(shù)據(jù)集的生命周期管理,在域數(shù)據(jù)消費者的需求之間取得平衡,要為數(shù)據(jù)產(chǎn)品成功定義關(guān)鍵績效指標 (KPI),比如數(shù)據(jù)產(chǎn)品實現(xiàn)周期。
為了對域內(nèi)數(shù)據(jù)進行優(yōu)化改造,領(lǐng)域必須擁有數(shù)據(jù)工程師,從而與軟件工程師形成互補,數(shù)據(jù)工程師雖然擁有數(shù)據(jù)開發(fā)和建模技能,但在構(gòu)建數(shù)據(jù)資產(chǎn)時缺乏軟件工程標準實踐,比如持續(xù)交付和自動化測試,同樣,軟件工程師通常也沒有使用數(shù)據(jù)工程工具集的經(jīng)驗,消除技能孤島有助于創(chuàng)建更大的數(shù)據(jù)工程技能庫。在這方面,我們已經(jīng)觀察到DevOps運動產(chǎn)生的授粉效應(yīng),比如SRE新型工程師的產(chǎn)生。
數(shù)據(jù)產(chǎn)品涉及數(shù)據(jù)、代碼資產(chǎn)(包括生成它的代碼和交付它的代碼)、元數(shù)據(jù)和相關(guān)策略。數(shù)據(jù)產(chǎn)品可以作為 API、報表、表或數(shù)據(jù)集在數(shù)據(jù)湖中傳遞,數(shù)據(jù)產(chǎn)品應(yīng)由相同的組件構(gòu)成,具體包括:
(1)數(shù)據(jù)
不同數(shù)據(jù)庫、數(shù)倉以及數(shù)據(jù)湖內(nèi)的運營、分析和交互數(shù)據(jù),按照產(chǎn)品所有者各自負責(zé)的域進行組織。
(2)數(shù)據(jù)事件
定義和描述與數(shù)據(jù)產(chǎn)品相關(guān)的所有狀態(tài)變化、命令或數(shù)據(jù)傳輸;這類事件可能由多種來源觸發(fā),包括數(shù)據(jù)產(chǎn)品 API(每個請求都可以是一個事件),數(shù)據(jù)變更捕獲(數(shù)據(jù)中的每個變化都是一個事件),以及數(shù)據(jù)目錄變更(元數(shù)據(jù)的變更事件只會向訂閱者發(fā)布)。
(3)數(shù)據(jù)產(chǎn)品 API
使數(shù)據(jù)產(chǎn)品內(nèi)的數(shù)據(jù)可以按照統(tǒng)一、一致、符合行業(yè)標準規(guī)范的約定進行訪問,比如 OpenAPI 或 GraphQL、MQQT、gRPC 等機制。
(4)數(shù)據(jù)產(chǎn)品目錄
描述位于數(shù)據(jù)產(chǎn)品中的數(shù)據(jù),同時提供用戶界面和 API 接口,方便用戶和機器消費數(shù)據(jù)產(chǎn)品;數(shù)據(jù)產(chǎn)品目錄整合在企業(yè)數(shù)據(jù)目錄中,對所有數(shù)據(jù)產(chǎn)品提供統(tǒng)一的企業(yè)視圖。
(5)數(shù)據(jù)產(chǎn)品變更捕獲
捕獲數(shù)據(jù)產(chǎn)品中所有的數(shù)據(jù)變化,并將這些變化通知訂閱用戶,從而簡化數(shù)據(jù)產(chǎn)品元素在組織內(nèi)和更大范圍間的傳播,例如公司內(nèi)需要保證分析和運營數(shù)據(jù)庫的一致、例如,“賬戶”域就有可能觸發(fā)對單個“客戶”域內(nèi)的數(shù)據(jù)變更。
(6)數(shù)據(jù)產(chǎn)品變更/審計日志
跟蹤和記錄數(shù)據(jù)產(chǎn)品的所有變化,以支持聯(lián)邦治理和審計要求。
3、作為平臺的自助數(shù)據(jù)基礎(chǔ)設(shè)施
將數(shù)據(jù)所有權(quán)分配給領(lǐng)域的主要問題之一是可能存在重復(fù)工作。幸運的是,將通用基礎(chǔ)架構(gòu)構(gòu)建為平臺已經(jīng)是眾所周知的問題,將領(lǐng)域不可知的基礎(chǔ)架構(gòu)功能收集和提取到數(shù)據(jù)基礎(chǔ)架構(gòu)平臺中,使數(shù)據(jù)域能夠自行生成其數(shù)據(jù)產(chǎn)品。他們需要能夠使用與用戶相關(guān)的工具和流程來定義其數(shù)據(jù)產(chǎn)品,而無需對中央平臺或中心平臺團隊具有很強的依賴性。
在數(shù)據(jù)網(wǎng)格中,你擁有自主團隊開發(fā)和管理自治產(chǎn)品,你不能有需要專業(yè)知識才能操作的專用工具是基于網(wǎng)格的平臺的核心基礎(chǔ)。自助數(shù)據(jù)基礎(chǔ)架構(gòu)的成功標準是減少“創(chuàng)建新數(shù)據(jù)產(chǎn)品的時間”,這將引導(dǎo)“數(shù)據(jù)產(chǎn)品”功能所需的自動化。

將數(shù)據(jù)基礎(chǔ)架構(gòu)構(gòu)建為平臺的關(guān)鍵是(a)不包含任何特定于領(lǐng)域的概念或業(yè)務(wù)邏輯,使其保持領(lǐng)域不可知性(b)確保平臺隱藏了所有潛在的復(fù)雜性和提供了數(shù)據(jù)基礎(chǔ)架構(gòu)組件自助服務(wù)的方式。自助數(shù)據(jù)基礎(chǔ)架構(gòu)作為平臺向用戶(領(lǐng)域的數(shù)據(jù)工程師)提供的功能種類繁多,比如:
可擴展的多語言大數(shù)據(jù)存儲
加密靜態(tài)和動態(tài)數(shù)據(jù)
數(shù)據(jù)產(chǎn)品版本控制
數(shù)據(jù)產(chǎn)品架構(gòu)
統(tǒng)一的數(shù)據(jù)訪問控制和記錄
數(shù)據(jù)管道的實現(xiàn)和編排
數(shù)據(jù)產(chǎn)品發(fā)現(xiàn),目錄注冊和發(fā)布
數(shù)據(jù)治理與標準化
數(shù)據(jù)產(chǎn)品監(jiān)控/報警/日志
數(shù)據(jù)產(chǎn)品質(zhì)量指標(收集和共享)
內(nèi)存中數(shù)據(jù)緩存
聯(lián)合身份管理
4、聯(lián)邦式計算治理
如前所述,數(shù)據(jù)網(wǎng)格遵循分布式系統(tǒng)架構(gòu),包括一組具有獨立生命周期的獨立數(shù)據(jù)產(chǎn)品,由可能的獨立團隊構(gòu)建和部署。然而,對于大多數(shù)用例而言,為了以高階數(shù)據(jù)集、洞察力或機器智能的形式獲得價值,這些獨立的數(shù)據(jù)產(chǎn)品需要互操作,能夠關(guān)聯(lián)它們、創(chuàng)建聯(lián)合及查找交點等等。
為了使任何這些操作成為可能,數(shù)據(jù)網(wǎng)格實現(xiàn)需要一個治理模型,該模型包含去中心化和域自主權(quán)、全局標準化的互操作性、基于動態(tài)拓撲的平臺自動執(zhí)行決策。由域數(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)。
這是一項艱巨的工作,要思考如何保持中心化和去中心化之間的平衡,哪些決策需要本地化到每個域,哪些決策應(yīng)該針對所有域全局進行,最終,全局決策只有一個目的,即通過數(shù)據(jù)產(chǎn)品的發(fā)現(xiàn)和組合創(chuàng)造互操作性和復(fù)合網(wǎng)絡(luò)效應(yīng)。
六、總結(jié)
數(shù)據(jù)網(wǎng)格是一種架構(gòu)和組織范式,它挑戰(zhàn)了我們的傳統(tǒng)觀念 , 即必須將大量的可分析數(shù)據(jù)集中起來才能使用,將數(shù)據(jù)放在一起或讓專門的數(shù)據(jù)團隊來維護。數(shù)據(jù)網(wǎng)格認為,為了推動大數(shù)據(jù)創(chuàng)新,領(lǐng)域必須是數(shù)據(jù)的所有者并將數(shù)據(jù)作為產(chǎn)品以提供服務(wù)(在自助數(shù)據(jù)平臺的支持下,抽象數(shù)據(jù)產(chǎn)品服務(wù)所涉及的技術(shù)復(fù)雜性),還必須通過自動化的方式實現(xiàn)一種新的聯(lián)合治理形式,以支持面向領(lǐng)域的數(shù)據(jù)產(chǎn)品間的互操作性、去中心化、互操作性以及數(shù)據(jù)消費者體驗,這是數(shù)據(jù)創(chuàng)新民主化的關(guān)鍵。
如果組織擁有大量的領(lǐng)域,包括大量產(chǎn)生數(shù)據(jù)的系統(tǒng)和團隊,或者多種數(shù)據(jù)驅(qū)動的用戶場景和訪問模式,那么數(shù)據(jù)網(wǎng)格也許是一種很好的選擇。
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除)