0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

企業(yè)數(shù)據(jù)平臺(tái):從單體數(shù)據(jù)湖到分布式數(shù)據(jù)網(wǎng)格

茶棚小二a ? 來(lái)源:網(wǎng)友茶棚小二發(fā)布 ? 作者:網(wǎng)友茶棚小二發(fā)布 ? 2021-11-17 10:10 ? 次閱讀

我工作過(guò)的許多公司,都把成為數(shù)據(jù)驅(qū)動(dòng)型組織設(shè)定為它們的首要戰(zhàn)略目標(biāo)之一。我的客戶深知AI賦能的益處:可以提供基于數(shù)據(jù)和超個(gè)性化(hyper-personalization)的最佳客戶體驗(yàn);同時(shí)通過(guò)數(shù)據(jù)驅(qū)動(dòng)的優(yōu)化減少運(yùn)營(yíng)成本和時(shí)間;還可以為員工提供更強(qiáng)大的趨勢(shì)分析和BI能力。他們一直在大力投資數(shù)據(jù)和智能平臺(tái)等賦能引擎。遺憾的是,盡管這些企業(yè)在構(gòu)建此類(lèi)賦能平臺(tái)方面付出了更多的努力和投入,但結(jié)果往往不盡人意。

我理解企業(yè)在轉(zhuǎn)變成為數(shù)據(jù)驅(qū)動(dòng)的組織的過(guò)程中面臨著多方面的難題。因?yàn)樗麄儚臄?shù)十年的遺留系統(tǒng)遷移而來(lái)的同時(shí),也會(huì)被反對(duì)依賴(lài)數(shù)據(jù)的遺留文化影響,同時(shí),競(jìng)爭(zhēng)激烈的業(yè)務(wù)優(yōu)先級(jí)排序也阻礙了這種轉(zhuǎn)變。但是,我想分享一種導(dǎo)致數(shù)據(jù)平臺(tái)計(jì)劃失敗的架構(gòu)視角。我將展示如何將過(guò)去十年在分布式架構(gòu)中的學(xué)習(xí)成果應(yīng)到數(shù)據(jù)領(lǐng)域中。我也會(huì)介紹一種新的企業(yè)數(shù)據(jù)架構(gòu),稱(chēng)為數(shù)據(jù)網(wǎng)格(即Data Mesh)。

在閱讀之前,我的建議是暫時(shí)先放下“基于當(dāng)前數(shù)據(jù)平臺(tái)體系構(gòu)建范式”的假設(shè)和偏見(jiàn);對(duì)從單體式和中心化數(shù)據(jù)湖轉(zhuǎn)變到數(shù)據(jù)網(wǎng)格架構(gòu)的可能性持開(kāi)放態(tài)度;擁抱數(shù)據(jù)永遠(yuǎn)存在、無(wú)處不在、天然具有分布性特征的現(xiàn)實(shí)。

當(dāng)前的企業(yè)數(shù)據(jù)平臺(tái)架構(gòu)

它是中心式,單體式和領(lǐng)域不可知的,又被稱(chēng)為數(shù)據(jù)湖。

幾乎每個(gè)與我合作的客戶都在計(jì)劃或正在構(gòu)建他們的第三代數(shù)據(jù)和智能平臺(tái),同時(shí)也承認(rèn)過(guò)去幾代的失?。?/p>

第一代:專(zhuān)有的企業(yè)數(shù)據(jù)倉(cāng)庫(kù)和商業(yè)智能平臺(tái);這些高價(jià)的解決方案使公司承擔(dān)了巨大的技術(shù)債務(wù)。這數(shù)千個(gè)無(wú)法維護(hù)的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)作業(yè)、表格和報(bào)告中的技術(shù)債務(wù),卻只有一小部分專(zhuān)業(yè)人員能夠理解,這使得其對(duì)業(yè)務(wù)產(chǎn)生的積極影響被低估。

第二代:以數(shù)據(jù)湖為”特效藥“的大數(shù)據(jù)生態(tài)系統(tǒng);在復(fù)雜的大數(shù)據(jù)生態(tài)系統(tǒng)中,超專(zhuān)業(yè)數(shù)據(jù)工程師團(tuán)隊(duì)經(jīng)過(guò)長(zhǎng)期運(yùn)行,已經(jīng)創(chuàng)建了“數(shù)據(jù)湖怪獸”,這些龐然大物充其量可以實(shí)現(xiàn)大量的“研究與開(kāi)發(fā)”分析,但是存在“承諾有余、實(shí)現(xiàn)不足”的情況。

第三代和當(dāng)前的數(shù)據(jù)平臺(tái)或多或少與上一代相似,但在現(xiàn)代方向上轉(zhuǎn)變?nèi)缦?(a)通過(guò)Kappa等架構(gòu)進(jìn)行流傳輸以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)可用性,(b)使用Apache Beam等框架統(tǒng)一批處理和流處理以進(jìn)行數(shù)據(jù)轉(zhuǎn)換,(c)全面采用基于云的托管服務(wù),用于存儲(chǔ),數(shù)據(jù)管道執(zhí)行引擎和機(jī)器學(xué)習(xí)平臺(tái)。

顯然,第三代數(shù)據(jù)平臺(tái)正在填補(bǔ)前幾代的空白,并在降低管理大數(shù)據(jù)基礎(chǔ)架構(gòu)的成本,例如實(shí)時(shí)數(shù)據(jù)分析。但是,它同樣具有許多導(dǎo)致上一代失敗的潛在特征。

架構(gòu)故障模式

為說(shuō)明各代數(shù)據(jù)平臺(tái)所面臨的潛在限制,讓我們先看一下它們的體系結(jié)構(gòu)和特征。在本文中,我以互聯(lián)網(wǎng)媒體流業(yè)務(wù)領(lǐng)域(例如Spotify,SoundCloud,Apple iTunes等)為例來(lái)闡明一些概念。

中心式和單體式

宏觀來(lái)看,數(shù)據(jù)平臺(tái)架構(gòu)如下圖1所示。中心式架構(gòu),其目標(biāo)是:

從企業(yè)的各個(gè)角落提取數(shù)據(jù),這些數(shù)據(jù)的范圍包括企業(yè)的運(yùn)營(yíng)和交易系統(tǒng)以及經(jīng)營(yíng)業(yè)務(wù)的領(lǐng)域,還有擴(kuò)展企業(yè)知識(shí)的外部數(shù)據(jù)提供商。例如,在流媒體業(yè)務(wù)中,數(shù)據(jù)平臺(tái)負(fù)責(zé)攝取各種數(shù)據(jù):“媒體播放器性能”,“用戶與播放器的交互方式”,“被演奏的歌曲”,“被關(guān)注的藝術(shù)家”以及作為企業(yè)已加入的“標(biāo)簽和藝術(shù)家”,與藝術(shù)家的“經(jīng)濟(jì)往來(lái)”以及外部市場(chǎng)研究數(shù)據(jù)(例如“客戶人口統(tǒng)計(jì)”信息)。

平臺(tái)清理、豐富源數(shù)據(jù)并將其轉(zhuǎn)換為可滿足各種消費(fèi)者需求的可信賴(lài)數(shù)據(jù)。在我們的示例中,其中一種轉(zhuǎn)換是將用戶交互的點(diǎn)擊流變成了帶有用戶詳細(xì)信息的數(shù)據(jù)。這試圖在聚合中重構(gòu)用戶的行為。

平臺(tái)將數(shù)據(jù)集提供給具有各種需求的消費(fèi)者,達(dá)到分析消費(fèi),探索數(shù)據(jù)以尋找洞見(jiàn)的目的,同時(shí)也可以實(shí)現(xiàn)基于機(jī)器學(xué)習(xí)的決策制定,撰寫(xiě)總結(jié)業(yè)務(wù)績(jī)效的商業(yè)智能報(bào)告等。在我們的流媒體示例中,該平臺(tái)可以通過(guò)分布式日志界面(例如Kafka)提供有關(guān)全球媒體播放器的實(shí)時(shí)信息,或提供正在播放的特定藝術(shù)家靜態(tài)匯總視圖,以幫助財(cái)務(wù)理清給藝術(shù)家和唱片公司的付款。

poYBAGGUZKiAd0uJAACi-kE0gcE199.png

圖1:宏觀視角下整體數(shù)據(jù)平臺(tái)視圖

一般來(lái)說(shuō),整體數(shù)據(jù)平臺(tái)會(huì)托管邏輯上屬于不同領(lǐng)域的數(shù)據(jù)。例如“播放事件”,“銷(xiāo)售KPI”,“藝術(shù)家”,“專(zhuān)輯”,“標(biāo)簽”,“音頻”,“播客”,“音樂(lè)事件”等;來(lái)自大量不同領(lǐng)域的數(shù)據(jù)。

在過(guò)去的十年中,盡管我們已成功將領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)和有限的上下文應(yīng)用于我們的操作系統(tǒng),但我們?cè)诤艽蟪潭壬虾雎粤藬?shù)據(jù)平臺(tái)中的領(lǐng)域概念。我們已經(jīng)從面向領(lǐng)域的數(shù)據(jù)所有權(quán)轉(zhuǎn)移到中心式的不可知數(shù)據(jù)所有權(quán)的域。我們以創(chuàng)建最大的整體(即大數(shù)據(jù)平臺(tái))而自豪。

pYYBAGGUZKiAKRbfAADgNmDoxBM845.png

圖2:領(lǐng)域數(shù)據(jù)界限和所有權(quán)不清的數(shù)據(jù)平臺(tái)

盡管此中心式模型可用于領(lǐng)域更簡(jiǎn)單、消費(fèi)案例數(shù)量較少的企業(yè),但對(duì)于領(lǐng)域豐富,來(lái)源眾多且消費(fèi)者多樣化的企業(yè)卻不適用。

中心式數(shù)據(jù)平臺(tái)的體系結(jié)構(gòu)和組織結(jié)構(gòu)上存在兩個(gè)壓力點(diǎn),這些壓力點(diǎn)通常會(huì)導(dǎo)致失?。?/p>

無(wú)處不在的數(shù)據(jù)和源擴(kuò)散:隨著越來(lái)越多的數(shù)據(jù)變得無(wú)處不在,在一個(gè)平臺(tái)的控制下,在一個(gè)地方使用所有數(shù)據(jù)并進(jìn)行協(xié)調(diào)的能力將減弱。想象一下,僅在“客戶信息”領(lǐng)域,在企業(yè)內(nèi)外都有越來(lái)越多的提供有關(guān)現(xiàn)有和潛在客戶的信息來(lái)源。如果假設(shè)我們需要在一個(gè)地方攝取和存儲(chǔ)數(shù)據(jù)以從各種來(lái)源中獲取價(jià)值,我們對(duì)數(shù)據(jù)來(lái)源擴(kuò)散的響應(yīng)能力將被限制。我認(rèn)為需要數(shù)據(jù)用戶(例如數(shù)據(jù)科學(xué)家和分析師)以低成本來(lái)處理各種數(shù)據(jù)集,并且需要將操作系統(tǒng)數(shù)據(jù)使用的數(shù)據(jù)與用于分析目的的數(shù)據(jù)區(qū)分開(kāi)來(lái)。但是我認(rèn)為,如果企業(yè)是具有豐富領(lǐng)域和不斷添加新資源的大型組織,現(xiàn)有的中心式解決方案不是最佳解決方案。

組織的創(chuàng)新計(jì)劃和消費(fèi)者激增:組織對(duì)快速試驗(yàn)的需求引入了大量用例來(lái)消費(fèi)平臺(tái)中的數(shù)據(jù)。這意味著數(shù)據(jù)轉(zhuǎn)換(可以滿足創(chuàng)新的測(cè)試和學(xué)習(xí)周期的聚合,投影和切片)的數(shù)量正在不斷增長(zhǎng)。滿足數(shù)據(jù)消費(fèi)者需求的響應(yīng)時(shí)間過(guò)長(zhǎng)一直是企業(yè)面臨的一個(gè)問(wèn)題,而在現(xiàn)代數(shù)據(jù)平臺(tái)體系結(jié)構(gòu)中仍然如此。

盡管我現(xiàn)在還不想放棄我的解決方案,但我需要澄清的是,我倡導(dǎo)的領(lǐng)域數(shù)據(jù)不是隱藏在操作系統(tǒng)中的,分散的,孤立的,也不是難以發(fā)現(xiàn),理解和使用的。我不支持技術(shù)債務(wù)中形成的分散數(shù)據(jù)倉(cāng)庫(kù)。這是行業(yè)領(lǐng)導(dǎo)者的關(guān)注點(diǎn)。但是我認(rèn)為,解決這些問(wèn)題的方法并不是建立一個(gè)中心式的數(shù)據(jù)平臺(tái),而是由一個(gè)中心團(tuán)隊(duì)組成來(lái)管理。正如我們?cè)谏厦嬲撟C的那樣,它沒(méi)有組織化的規(guī)模。

耦合流水線分解

傳統(tǒng)數(shù)據(jù)平臺(tái)體系結(jié)構(gòu)的第二種故障模式與我們?nèi)绾畏纸怏w系結(jié)構(gòu)有關(guān)。放大中心式數(shù)據(jù)平臺(tái)后,我們發(fā)現(xiàn)一個(gè)圍繞攝取,清理,聚合,服務(wù)等機(jī)械功能的架構(gòu)分解。企業(yè)中的架構(gòu)師和技術(shù)領(lǐng)導(dǎo)者會(huì)根據(jù)平臺(tái)的增長(zhǎng)來(lái)分解架構(gòu)。如上一節(jié)所述,引入新資源或應(yīng)對(duì)新消費(fèi)者的需求要求平臺(tái)不斷發(fā)展。架構(gòu)師需要找到一種方法,通過(guò)將其分解為體系結(jié)構(gòu)量子來(lái)擴(kuò)展系統(tǒng)。如《設(shè)計(jì)可進(jìn)化架構(gòu)》中所述,架構(gòu)量子是具有高功能凝聚力的、可獨(dú)立部署的組件,其中包括系統(tǒng)正常運(yùn)行所需的所有結(jié)構(gòu)要素。將系統(tǒng)分解成架構(gòu)量子是為了創(chuàng)建獨(dú)立的團(tuán)隊(duì),團(tuán)隊(duì)里每個(gè)人都可以構(gòu)建和操作架構(gòu)量子。這些團(tuán)隊(duì)之間的并行工作可提高的運(yùn)營(yíng)可擴(kuò)展性和速度。

鑒于前幾代數(shù)據(jù)平臺(tái)體系結(jié)構(gòu)的影響,架構(gòu)師將數(shù)據(jù)平臺(tái)分解為一系列數(shù)據(jù)處理階段。這邪惡管道在高水平處理數(shù)據(jù)并實(shí)現(xiàn)攝取,準(zhǔn)備,匯總,服務(wù)等功能的凝聚。

poYBAGGUZKmAS_sqAADn3TktO_I774.png

圖3:數(shù)據(jù)平臺(tái)的體系結(jié)構(gòu)分解

盡管此模型通過(guò)將團(tuán)隊(duì)分配到流水線的不同階段擴(kuò)大了規(guī)模,但它具有一個(gè)固有的局限性,那就是使功能交付速度變慢。它在流水線的各個(gè)階段之間具有很高的耦合度,以提供獨(dú)立的功能或價(jià)值。它與變化軸正交分解。

讓我們看一下我們的流媒體示例。 網(wǎng)絡(luò)流媒體平臺(tái)有一個(gè)強(qiáng)大的媒體類(lèi)型領(lǐng)域構(gòu)造。他們通常從“歌曲”和“專(zhuān)輯”等服務(wù)開(kāi)始,然后擴(kuò)展到“音樂(lè)事件”,“播客”,“廣播節(jié)目”,“電影”等。啟用單個(gè)新功能,例如“播客播放率”的可見(jiàn)性,則需要更改管道中的所有組件。團(tuán)隊(duì)必須引入新的攝取服務(wù),新的清理和準(zhǔn)備工作以及用于查看播客播放率的合集。這需要在組件之間進(jìn)行同步,并在團(tuán)隊(duì)之間進(jìn)行發(fā)布管理。許多數(shù)據(jù)平臺(tái)提供的提取服務(wù)可以應(yīng)資源添加擴(kuò)展問(wèn)題,以最大程度地減少開(kāi)銷(xiāo)。但是,這并沒(méi)有從消費(fèi)者角度解決端到端依賴(lài)性問(wèn)題。我們看似已經(jīng)達(dá)到了流水線階段的架構(gòu),但實(shí)際上整個(gè)流水線(即單體式平臺(tái))是必須改成適應(yīng)新功能的最小單元:解鎖新數(shù)據(jù)集并將其用于新的或現(xiàn)有的消費(fèi)。這限制了我們響應(yīng)新的使用者或數(shù)據(jù)源以實(shí)現(xiàn)更高速度和更大規(guī)模的能力。

pYYBAGGUZKqAaOUUAADfnCtVPUE964.png

圖4:引入或增強(qiáng)功能時(shí),架構(gòu)分解與更改軸正交,從而導(dǎo)致耦合和交付速度降低

孤立和超專(zhuān)業(yè)的所有權(quán)

當(dāng)今數(shù)據(jù)平臺(tái)的第三種失敗模式與我們?nèi)绾谓M織構(gòu)建平臺(tái)的團(tuán)隊(duì)有關(guān)。當(dāng)我們實(shí)地觀察數(shù)據(jù)平臺(tái)的人員的生活時(shí),我們發(fā)現(xiàn)他們是一群與組織運(yùn)營(yíng)部門(mén)隔離的超專(zhuān)業(yè)數(shù)據(jù)工程師;對(duì)于數(shù)據(jù)源自何處或在何處使用并付諸行動(dòng)和決策制定并不知情。數(shù)據(jù)平臺(tái)工程師不僅在組織上處于孤立狀態(tài),而且根據(jù)他們?cè)诖髷?shù)據(jù)工具方面的技術(shù)專(zhuān)長(zhǎng)(通常缺乏業(yè)務(wù)和領(lǐng)域知識(shí))分類(lèi)使得他們通常缺乏業(yè)務(wù)和領(lǐng)域知識(shí)。

poYBAGGUZKqAIoFGAAEAh1Ex5YY885.png

圖5:孤立的超專(zhuān)業(yè)數(shù)據(jù)平臺(tái)團(tuán)隊(duì)

我并不羨慕數(shù)據(jù)平臺(tái)工程師的生活。他們需要消費(fèi)來(lái)自團(tuán)隊(duì)的數(shù)據(jù),這個(gè)團(tuán)隊(duì)通常不能提供有意義的、真實(shí)的和正確的數(shù)據(jù)。他們對(duì)生成數(shù)據(jù)的源域了解甚少,并且團(tuán)隊(duì)中缺乏領(lǐng)域?qū)I(yè)知識(shí)。他們需要針對(duì)各種操作或分析的需求提供數(shù)據(jù),但卻不了解數(shù)據(jù)的應(yīng)用,也無(wú)需與使用領(lǐng)域?qū)<衣?lián)系。

在媒體流領(lǐng)域,比如在源端,我們有跨職能的“媒體播放器”團(tuán)隊(duì),可提供有關(guān)用戶如何與他們提供的特定功能進(jìn)行交互的信號(hào),例如“播放歌曲事件”,“購(gòu)買(mǎi)事件”,“播放音頻質(zhì)量”等;另一端是消費(fèi)者跨職能團(tuán)隊(duì),例如“歌曲推薦”團(tuán)隊(duì),報(bào)告銷(xiāo)售KPI的“銷(xiāo)售團(tuán)隊(duì)”,根據(jù)演出計(jì)算和付款給藝人的“藝人支付團(tuán)隊(duì)”等。不幸的是,位于中間的數(shù)據(jù)平臺(tái)團(tuán)隊(duì)則拼命為所有來(lái)源和消費(fèi)提供合適的數(shù)據(jù)。

實(shí)際上,我們還發(fā)現(xiàn)有的源團(tuán)隊(duì)彼此沒(méi)有聯(lián)系,有的互相爭(zhēng)奪,導(dǎo)致過(guò)度拉伸。

我們創(chuàng)建的架構(gòu)和組織結(jié)構(gòu)無(wú)法擴(kuò)展,并且無(wú)法實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)型組織所承諾的價(jià)值。

下一代企業(yè)數(shù)據(jù)平臺(tái)架構(gòu)

它通過(guò)分布式數(shù)據(jù)網(wǎng)格包含了無(wú)處不在的數(shù)據(jù)。

那么,我們上面討論的故障模式和特征的答案是什么?我認(rèn)為有必要進(jìn)行范式轉(zhuǎn)換,以期在大規(guī)模構(gòu)建現(xiàn)代分布式體系結(jié)構(gòu)中發(fā)揮作用。整個(gè)技術(shù)行業(yè)都采用了這些技術(shù),并取得了成功。

我建議下一代企業(yè)數(shù)據(jù)平臺(tái)架構(gòu)是分布式領(lǐng)域驅(qū)動(dòng)架構(gòu)、自助式平臺(tái)設(shè)計(jì)以及產(chǎn)品思維與數(shù)據(jù)的融合。

pYYBAGGUZKuAaCfMAAC-hWx7__I742.png

圖6:融合:構(gòu)建下一個(gè)數(shù)據(jù)平臺(tái)的模式轉(zhuǎn)變

盡管這聽(tīng)起來(lái)像是一句空話,但是這些技術(shù)確實(shí)在現(xiàn)代化操作系統(tǒng)的技術(shù)基礎(chǔ)方面產(chǎn)生了具體的、令人難以置信的積極影響。讓我們來(lái)深入研究一下如何將這些方法應(yīng)用于數(shù)據(jù)世界,以擺脫當(dāng)前的舊范式。

數(shù)據(jù)和分布式領(lǐng)域驅(qū)動(dòng)的架構(gòu)融合

面向領(lǐng)域的數(shù)據(jù)分解和所有權(quán)

埃里克·埃文斯(Eric Evans)的著作《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》(Domain-Driven Design)對(duì)現(xiàn)代架構(gòu)思想以及組織建模產(chǎn)生了深遠(yuǎn)的影響。它通過(guò)將系統(tǒng)分解為圍繞業(yè)務(wù)領(lǐng)域功能構(gòu)建的分布式服務(wù)來(lái)影響微服務(wù)體系結(jié)構(gòu)。它從根本上改變了團(tuán)隊(duì)的組成方式,從而使團(tuán)隊(duì)可以獨(dú)立自主地?fù)碛蓄I(lǐng)域能力。

盡管在實(shí)現(xiàn)運(yùn)營(yíng)功能時(shí)我們采用了定向領(lǐng)域分解和所有權(quán),但奇怪的是,在涉及數(shù)據(jù)時(shí),我們卻忽略了業(yè)務(wù)領(lǐng)域的概念。 DDD在數(shù)據(jù)平臺(tái)體系結(jié)構(gòu)中最接近的應(yīng)用是用于源操作系統(tǒng)發(fā)出其業(yè)務(wù)領(lǐng)域事件,并用于整體數(shù)據(jù)平臺(tái)來(lái)接收它們。但是,超出攝取點(diǎn)的范圍,就失去了領(lǐng)域的概念以及不同團(tuán)隊(duì)對(duì)領(lǐng)域數(shù)據(jù)的所有權(quán)。

領(lǐng)域綁定上下文是一種功能強(qiáng)大的工具,可用于設(shè)計(jì)數(shù)據(jù)集的所有權(quán)。 Ben Stopford的Data Dichotomy文章介紹了通過(guò)流共享領(lǐng)域數(shù)據(jù)集的概念。
為了使單體式數(shù)據(jù)平臺(tái)分散化,我們需要顛覆我們對(duì)數(shù)據(jù)本地性和所有權(quán)的看法。與其將數(shù)據(jù)從領(lǐng)域中流到中央擁有的數(shù)據(jù)湖或平臺(tái)中,不如說(shuō)領(lǐng)域需要以易于使用的方式托管和服務(wù)于其領(lǐng)域數(shù)據(jù)集。

在我們的示例中,與其想象來(lái)自媒體播放器的數(shù)據(jù)流到某個(gè)集中位置以供一個(gè)集中的團(tuán)隊(duì)接收,不如想象我們有一個(gè)擁有并服務(wù)其數(shù)據(jù)集的播放器領(lǐng)域以滿足團(tuán)隊(duì)下游使用的任何目的。數(shù)據(jù)集實(shí)際駐留的物理位置及其流動(dòng)方式是“播放器領(lǐng)域”的技術(shù)實(shí)現(xiàn)。物理存儲(chǔ)肯定可以是諸如Amazon S3存儲(chǔ)桶之類(lèi)的中心式架構(gòu),但播放器數(shù)據(jù)集的內(nèi)容和所有權(quán)仍保留在生成它們的領(lǐng)中。類(lèi)似地,在我們的示例中,“推薦”領(lǐng)域以適合其應(yīng)用的格式創(chuàng)建數(shù)據(jù)集,例如圖形數(shù)據(jù)庫(kù),同時(shí)消化了播放器數(shù)據(jù)集。如果還有其他領(lǐng)域(例如“新藝術(shù)家發(fā)現(xiàn)領(lǐng)域”)對(duì)“推薦領(lǐng)域”圖數(shù)據(jù)集有用,則可以選擇提取和訪問(wèn)該領(lǐng)域。

這意味著當(dāng)我們將數(shù)據(jù)轉(zhuǎn)換為適合該特定領(lǐng)域的形狀時(shí),我們可能會(huì)在不同領(lǐng)域中復(fù)制數(shù)據(jù)。例如,與藝術(shù)家相關(guān)的時(shí)間序列播放事件的圖表。

這就要求我們將思維方式從傳統(tǒng)上通過(guò)ETL、當(dāng)前通過(guò)事件流的推入和獲取模型轉(zhuǎn)移到跨所有域的服務(wù)和提取模型。

面向領(lǐng)域的數(shù)據(jù)平臺(tái)中的體系結(jié)構(gòu)范圍是一個(gè)領(lǐng)域,而不是流水線階段。

poYBAGGUZKuAV_LjAADbn9BRNmI901.png

圖7:根據(jù)域(源域,使用者域和新創(chuàng)建的共享域)分解擁有數(shù)據(jù)的架構(gòu)和團(tuán)隊(duì)

面向源的領(lǐng)域數(shù)據(jù)

一些領(lǐng)域自然地與數(shù)據(jù)起源的源一致。源域數(shù)據(jù)集代表業(yè)務(wù)的現(xiàn)實(shí)情況。源域數(shù)據(jù)集捕獲與其操作系統(tǒng)的來(lái)源和現(xiàn)實(shí)關(guān)聯(lián)非常緊密的數(shù)據(jù)。在我們的示例中,諸如“用戶如何與服務(wù)進(jìn)行交互”或“入職標(biāo)簽流程”之類(lèi)的業(yè)務(wù)事實(shí)導(dǎo)致領(lǐng)域數(shù)據(jù)集的創(chuàng)建,例如“用戶點(diǎn)擊流”,“音頻播放質(zhì)量流”和“內(nèi)置標(biāo)簽”。這些事實(shí)是眾所周知的,并且是由起源處的操作系統(tǒng)生成的。例如,媒體播放器系統(tǒng)最了解“用戶點(diǎn)擊流”。

在理想的情況下,操作系統(tǒng)及其團(tuán)隊(duì)或組織單位不僅負(fù)責(zé)提供業(yè)務(wù)功能,而且還負(fù)責(zé)提供其業(yè)務(wù)領(lǐng)域的真實(shí)情況作為源域數(shù)據(jù)集。在企業(yè)規(guī)模上,領(lǐng)域概念和源系統(tǒng)之間從來(lái)沒(méi)有一對(duì)一的映射。通常,有許多系統(tǒng)可以服務(wù)屬于某個(gè)領(lǐng)域的部分?jǐn)?shù)據(jù),其中一些是舊式的,而某些則易于更改。因此,可能會(huì)有許多源對(duì)齊的數(shù)據(jù)集(也稱(chēng)為現(xiàn)實(shí)數(shù)據(jù)集),最終需要將它們匯總到一個(gè)內(nèi)聚的領(lǐng)域?qū)R的數(shù)據(jù)集中。

商業(yè)事實(shí)最好以商業(yè)領(lǐng)域事件的形式呈現(xiàn),可以將其存儲(chǔ)并作為帶有時(shí)間標(biāo)記的事件的分布式日志,以供任何授權(quán)消費(fèi)者訪問(wèn)。

除了定時(shí)事件外,源數(shù)據(jù)域還應(yīng)提供易于使用的源域數(shù)據(jù)集的歷史快照,這些密切反映其領(lǐng)域的更改間隔的記錄在一定時(shí)間范圍內(nèi)匯總。例如,在向流媒體業(yè)務(wù)提供音樂(lè)的藝術(shù)家的“內(nèi)嵌標(biāo)簽”源域中,每月匯總通過(guò)入職標(biāo)簽生成的事件的內(nèi)嵌標(biāo)簽是一種合理的視圖。

請(qǐng)注意,源對(duì)齊領(lǐng)域數(shù)據(jù)集必須與內(nèi)部源系統(tǒng)的數(shù)據(jù)集分開(kāi)。領(lǐng)域數(shù)據(jù)集的性質(zhì)與操作系統(tǒng)用來(lái)完成其工作的內(nèi)部數(shù)據(jù)有很大不同。與它們的系統(tǒng)相比,它們具有更大的體積,代表著不變的定時(shí)事實(shí),并且變化的頻率更低。因此,實(shí)際的基礎(chǔ)存儲(chǔ)必須適合大數(shù)據(jù),并且必須與現(xiàn)有的操作數(shù)據(jù)庫(kù)分開(kāi)。數(shù)據(jù)和自助平臺(tái)設(shè)計(jì)融合部分將介紹如何創(chuàng)建大數(shù)據(jù)存儲(chǔ)和服務(wù)基礎(chǔ)架構(gòu)。

源域數(shù)據(jù)集是最基礎(chǔ)的數(shù)據(jù)集,由于業(yè)務(wù)事實(shí)并不經(jīng)常更改,所以更改頻率較低。預(yù)計(jì)這些領(lǐng)域數(shù)據(jù)集將被永久儲(chǔ)存使用,以便隨著企業(yè)發(fā)展其數(shù)據(jù)驅(qū)動(dòng)和情報(bào)服務(wù),他們始終可以返回到業(yè)務(wù)事實(shí),并創(chuàng)建新的匯總或預(yù)測(cè)。

請(qǐng)注意,源域數(shù)據(jù)集在創(chuàng)建時(shí)幾乎代表原始數(shù)據(jù),并且未針對(duì)特定使用者進(jìn)行擬合或建模。

面向消費(fèi)者的共享領(lǐng)域數(shù)據(jù)

一些領(lǐng)域與消費(fèi)密切相關(guān)。消費(fèi)者領(lǐng)域數(shù)據(jù)集和擁有它們的團(tuán)隊(duì)的目的是滿足一組密切相關(guān)的用例。例如,“社交推薦領(lǐng)域”側(cè)重于根據(jù)用戶彼此之間的社交聯(lián)系提供推薦,創(chuàng)建適合此特定需求的領(lǐng)域數(shù)據(jù)集;也可以通過(guò)“用戶社交網(wǎng)絡(luò)的圖形”表示。此數(shù)據(jù)集對(duì)于推薦用例很有用,也許對(duì)于“聽(tīng)眾通知”領(lǐng)域也有用,該領(lǐng)域提供給不同聽(tīng)眾發(fā)送通知的數(shù)據(jù),比如其社交網(wǎng)絡(luò)中的人正在聽(tīng)的內(nèi)容。因此,“用戶社交網(wǎng)絡(luò)”有可能成為共享的和新定義的領(lǐng)域數(shù)據(jù)集,供多個(gè)消費(fèi)者使用。 “用戶社交網(wǎng)絡(luò)”領(lǐng)域團(tuán)隊(duì)專(zhuān)注于提供“用戶社交網(wǎng)絡(luò)”的最新視圖。

消費(fèi)者對(duì)齊的領(lǐng)域數(shù)據(jù)集與源域數(shù)據(jù)集相比具有不同的性質(zhì)。它們?cè)诮Y(jié)構(gòu)上經(jīng)歷了更多的變化,并且將源域事件轉(zhuǎn)換為聚合適合特定訪問(wèn)模型的視圖和結(jié)構(gòu),例如我們?cè)谏厦婵吹降膱D形示例。面向領(lǐng)域的數(shù)據(jù)平臺(tái)應(yīng)該能夠輕松地從源頭重新生成這些消費(fèi)者數(shù)據(jù)集。

分布式管道作為領(lǐng)域內(nèi)部實(shí)現(xiàn)

盡管將數(shù)據(jù)集所有權(quán)從中央平臺(tái)委托給領(lǐng)域,但是仍然需要清理,準(zhǔn)備,聚合和提供數(shù)據(jù),數(shù)據(jù)管道的使用也是如此。在這種體系結(jié)構(gòu)中,數(shù)據(jù)管道只是內(nèi)部復(fù)雜性和數(shù)據(jù)域的實(shí)現(xiàn),并在域內(nèi)部進(jìn)行處理。結(jié)果,我們將看到數(shù)據(jù)管道階段分布到每個(gè)領(lǐng)域中。
例如,源域需要包括對(duì)其領(lǐng)域事件的清除,重復(fù)數(shù)據(jù)刪除,擴(kuò)展它們的領(lǐng)域以便其他領(lǐng)域可以使用它們,而無(wú)需復(fù)制清除。每個(gè)領(lǐng)域數(shù)據(jù)集都必須為其提供的數(shù)據(jù)質(zhì)量、及時(shí)性,錯(cuò)誤率等建立服務(wù)水平目標(biāo):。例如,我們提供音頻“播放點(diǎn)擊流”的媒體播放器領(lǐng)域可以包括清理和標(biāo)準(zhǔn)化其領(lǐng)域中的數(shù)據(jù)管道,這樣就可以提供“播放音頻點(diǎn)擊事件”的實(shí)時(shí)數(shù)據(jù)流。

同樣,我們將看到從中心式管道的聚合階段進(jìn)入了消費(fèi)領(lǐng)域的細(xì)節(jié)的實(shí)現(xiàn)。

pYYBAGGUZKyAKYeRAAECKptmDg0583.png

圖8:將管道分配到領(lǐng)域中作為第二類(lèi)關(guān)注點(diǎn),以及領(lǐng)域的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)

有人可能會(huì)爭(zhēng)辯說(shuō),該模型可能會(huì)導(dǎo)致每個(gè)領(lǐng)域在創(chuàng)建自己的數(shù)據(jù)處理管道實(shí)現(xiàn),技術(shù)堆棧和工具方面做出重復(fù)的努力。我將在談?wù)摂?shù)據(jù)和以自助共享數(shù)據(jù)基礎(chǔ)架構(gòu)為平臺(tái)的思維融合時(shí),很快解決這個(gè)問(wèn)題。

數(shù)據(jù)和產(chǎn)品思維融合

將數(shù)據(jù)所有權(quán)和數(shù)據(jù)管道實(shí)施分配到業(yè)務(wù)領(lǐng)域中這件事引起了人們對(duì)分布式數(shù)據(jù)集的關(guān)注可行性,可用性和協(xié)調(diào)性。在這里,學(xué)習(xí)應(yīng)用產(chǎn)品思維和數(shù)據(jù)資產(chǎn)所有權(quán)非常方便。

領(lǐng)域數(shù)據(jù)作為產(chǎn)品

在過(guò)去的十年中,運(yùn)營(yíng)領(lǐng)域已經(jīng)將產(chǎn)品思想融入了他們?yōu)榻M織其他部門(mén)提供的能力中。領(lǐng)域團(tuán)隊(duì)將這些能力作為API(應(yīng)用程序接口)提供給組織中其他開(kāi)發(fā)人員以作為創(chuàng)建更高價(jià)值和功能的基礎(chǔ)。這些團(tuán)隊(duì)致力于為他們的領(lǐng)域API(應(yīng)用程序接口)創(chuàng)建最佳的開(kāi)發(fā)人員體驗(yàn);包括可發(fā)現(xiàn)且易于理解的API文檔,API測(cè)試箱,同時(shí)密切跟蹤質(zhì)量和應(yīng)用的關(guān)鍵績(jī)效指標(biāo)。

為了使分布式數(shù)據(jù)平臺(tái)獲得成功,領(lǐng)域數(shù)據(jù)團(tuán)隊(duì)必須以相似的嚴(yán)格度將產(chǎn)品思維應(yīng)用于他們提供的數(shù)據(jù)集。將其數(shù)據(jù)資產(chǎn)視為產(chǎn)品,并將組織里的其余數(shù)據(jù)科學(xué)家,機(jī)器學(xué)習(xí)和數(shù)據(jù)工程師視為客戶。

pYYBAGGUZK2ASG2AAAE48LdJ7hI408.png

圖9:領(lǐng)域數(shù)據(jù)集作為產(chǎn)品的特征

回顧我們的示例,互聯(lián)網(wǎng)媒體流業(yè)務(wù)。它的關(guān)鍵領(lǐng)域之一是“播放事件”,即誰(shuí),何時(shí),何地播放了哪些歌曲。這個(gè)關(guān)鍵的領(lǐng)域在組織中擁有不同的使用者;例如,近實(shí)時(shí)消費(fèi)者會(huì)對(duì)用戶體驗(yàn)以及可能的錯(cuò)誤感興趣,因此在客戶體驗(yàn)下降或客戶支持電話打入的情況下可以快速響應(yīng)以恢復(fù)錯(cuò)誤。還有一些消費(fèi)者更喜歡每日或每月歌曲播放事件聚合的歷史記錄。

在這種情況下,我們的“播放的歌曲”領(lǐng)域?yàn)榻M織的其他部分提供了兩個(gè)不同的數(shù)據(jù)集作為產(chǎn)品。在事件流上公開(kāi)的實(shí)時(shí)播放事件,以及在對(duì)象存儲(chǔ)中作為序列化文件公開(kāi)的聚合播放事件。

任何技術(shù)產(chǎn)品(這里說(shuō)的是領(lǐng)域數(shù)據(jù)產(chǎn)品)的一項(xiàng)重要素質(zhì)就是使它們的消費(fèi)者滿意。(這里指的是數(shù)據(jù)工程師,機(jī)器學(xué)習(xí)工程師或數(shù)據(jù)科學(xué)家。)為了向消費(fèi)者提供最佳的用戶體驗(yàn),領(lǐng)域數(shù)據(jù)產(chǎn)品需要具有以下基本素質(zhì):

可發(fā)現(xiàn)的

數(shù)據(jù)產(chǎn)品必須易于發(fā)現(xiàn)。常見(jiàn)的實(shí)現(xiàn)方式是對(duì)所有可用的數(shù)據(jù)產(chǎn)品及其元信息(例如其所有者,來(lái)源,樣本數(shù)據(jù)集等)編寫(xiě)目錄。此中心式可發(fā)現(xiàn)性服務(wù)使組織里的數(shù)據(jù)消費(fèi)者,工程師和科學(xué)家能夠輕松找到他們需要的數(shù)據(jù)集。每個(gè)領(lǐng)域數(shù)據(jù)產(chǎn)品都必須在此中心式數(shù)據(jù)目錄中注冊(cè)以方便查詢(xún)。

請(qǐng)注意,這里的觀點(diǎn)轉(zhuǎn)變是從單一平臺(tái)提取數(shù)據(jù),到以可發(fā)現(xiàn)的方式將其數(shù)據(jù)作為產(chǎn)品提供到每個(gè)領(lǐng)域。

可尋址的

數(shù)據(jù)產(chǎn)品一經(jīng)發(fā)現(xiàn),便應(yīng)該遵循國(guó)際慣例,有一個(gè)唯一地址,以幫助其用戶以編程方式訪問(wèn)它。根據(jù)數(shù)據(jù)的基礎(chǔ)存儲(chǔ)和格式,組織可以為數(shù)據(jù)采用不同的命名約定??紤]到易用性,在分散式體系結(jié)構(gòu)中,有必要制定通用的約定。不同的領(lǐng)域存儲(chǔ)和提供數(shù)據(jù)集的格式不同,事件可能通過(guò)諸如Kafka主題之類(lèi)的流進(jìn)行存儲(chǔ)和訪問(wèn),而柱狀數(shù)據(jù)集可能使用CSV文件或序列化Parquet文件的AWSS3存儲(chǔ)桶。多種語(yǔ)言環(huán)境中的數(shù)據(jù)集可尋址性標(biāo)準(zhǔn)消除了查找和訪問(wèn)信息時(shí)的摩擦。

可信賴(lài)且真實(shí)的

沒(méi)有人會(huì)使用他們不信任的產(chǎn)品。在傳統(tǒng)的數(shù)據(jù)平臺(tái)中,存在數(shù)據(jù)有誤、不能反映業(yè)務(wù)真相或者根本無(wú)法信任的情況。在這里,中心式數(shù)據(jù)管道的大部分工作都集中在此,在提取數(shù)據(jù)后清理數(shù)據(jù)。

如果要達(dá)到根本性的轉(zhuǎn)變,數(shù)據(jù)產(chǎn)品的所有者要圍繞數(shù)據(jù)的真實(shí)性提供可接受的服務(wù),以及提供它與事件發(fā)生的真實(shí)性的接近程度。在創(chuàng)建數(shù)據(jù)產(chǎn)品時(shí)應(yīng)該應(yīng)用數(shù)據(jù)清理和自動(dòng)數(shù)據(jù)完整性測(cè)試。提供數(shù)據(jù)源和數(shù)據(jù)沿襲作為與每個(gè)數(shù)據(jù)產(chǎn)品相關(guān)聯(lián)的元數(shù)據(jù)有助于增加消費(fèi)者對(duì)產(chǎn)品及其適用性方面的信任。

數(shù)據(jù)完整性(質(zhì)量)指標(biāo)的目標(biāo)值或范圍在領(lǐng)域數(shù)據(jù)產(chǎn)品之間有所不同。例如,“播放事件”領(lǐng)域可以提供兩種不同的數(shù)據(jù)產(chǎn)品,一種接近實(shí)時(shí),準(zhǔn)確性較低,包括丟失或重復(fù)的事件,而另一種則具有較長(zhǎng)的延遲和較高的事件準(zhǔn)確性。每個(gè)數(shù)據(jù)產(chǎn)品定義并保證其作為一組SLO的完整性和真實(shí)性。

自描述的語(yǔ)義和語(yǔ)法

優(yōu)質(zhì)的產(chǎn)品不需要消費(fèi)者手持即可使用:它們可以被查詢(xún),理解和消費(fèi)。將數(shù)據(jù)集構(gòu)建為具有最小單元的產(chǎn)品,以供數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家使用,這需要對(duì)語(yǔ)義和語(yǔ)法對(duì)數(shù)據(jù)進(jìn)行充分描述,理想情況下將樣本數(shù)據(jù)集作為示例。數(shù)據(jù)模式是提供自助數(shù)據(jù)資產(chǎn)的起點(diǎn)。

可互操作并受全球標(biāo)準(zhǔn)約束

分布式領(lǐng)域數(shù)據(jù)體系結(jié)構(gòu)中的主要問(wèn)題之一是關(guān)聯(lián)跨領(lǐng)域數(shù)據(jù)并將其有機(jī)縫合、連接,過(guò)濾,聚合的能力??珙I(lǐng)域有效關(guān)聯(lián)數(shù)據(jù)的關(guān)鍵是遵循某些標(biāo)準(zhǔn)和統(tǒng)一規(guī)則。這樣的標(biāo)準(zhǔn)化應(yīng)該用于全球治理,以實(shí)現(xiàn)多語(yǔ)言領(lǐng)域數(shù)據(jù)集之間的互操作性。這種標(biāo)準(zhǔn)化工作的共同關(guān)注點(diǎn)是字段類(lèi)型格式化,跨不同領(lǐng)域識(shí)別多義詞,數(shù)據(jù)集地址約定,通用元數(shù)據(jù)字段,事件格式(例如CloudEvents)等。

例如,在媒體流業(yè)務(wù)中,“藝術(shù)家”可能出現(xiàn)在不同的領(lǐng)域中,并且在每個(gè)領(lǐng)域中具有不同的屬性和標(biāo)識(shí)符。 “播放事件流”域?qū)λ囆g(shù)家的識(shí)別可能與負(fù)責(zé)開(kāi)發(fā)票和付款的“藝術(shù)家支付”領(lǐng)域的識(shí)別不同。但是,為了能夠在不同領(lǐng)域的數(shù)據(jù)產(chǎn)品之間關(guān)聯(lián)藝術(shù)家的數(shù)據(jù),我們需要就如何將藝術(shù)家識(shí)別為多義詞達(dá)成共識(shí)。一種方法是考慮具有聯(lián)合實(shí)體的“藝術(shù)家”和“藝術(shù)家”的唯一全局聯(lián)合實(shí)體標(biāo)識(shí)符,這與管理聯(lián)合身份的方式類(lèi)似。

受全球管轄的通信的互操作性和標(biāo)準(zhǔn)化是構(gòu)建分布式系統(tǒng)的基礎(chǔ)支柱之一。

安全并受全局訪問(wèn)控制

無(wú)論架構(gòu)是否中心化,都必須安全地訪問(wèn)產(chǎn)品數(shù)據(jù)集。在分散的面向領(lǐng)域的數(shù)據(jù)產(chǎn)品的世界中,對(duì)每個(gè)領(lǐng)域數(shù)據(jù)產(chǎn)品都被以更小的單元應(yīng)用訪問(wèn)控制。與操作領(lǐng)域類(lèi)似,訪問(wèn)控制策略可以被集中定義,但是也可以應(yīng)用到每個(gè)單獨(dú)的數(shù)據(jù)集產(chǎn)品上。使用企業(yè)身份管理系統(tǒng)(SSO)和基于角色的訪問(wèn)控制策略定義是實(shí)現(xiàn)產(chǎn)品數(shù)據(jù)集訪問(wèn)控制的便捷方法。

數(shù)據(jù)和自助服務(wù)平臺(tái)設(shè)計(jì)的融合部分描述了這一共享的基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)可輕松、自動(dòng)地為每個(gè)數(shù)據(jù)產(chǎn)品啟用上述功能。

領(lǐng)域數(shù)據(jù)跨職能團(tuán)隊(duì)

將數(shù)據(jù)作為產(chǎn)品提供的領(lǐng)域;需要增加新的技能:(a)數(shù)據(jù)產(chǎn)品所有者和(b)數(shù)據(jù)工程師。

數(shù)據(jù)產(chǎn)品所有者根據(jù)數(shù)據(jù)產(chǎn)品的愿景和路線圖做出決策,更多關(guān)注消費(fèi)者的滿意度,并不斷衡量和提高其領(lǐng)域擁有和生產(chǎn)的數(shù)據(jù)的質(zhì)量和豐富性。她負(fù)責(zé)領(lǐng)域數(shù)據(jù)集的生命周期,以及何時(shí)更改,修訂和淘汰數(shù)據(jù)和架構(gòu)。她在領(lǐng)域數(shù)據(jù)使用者的競(jìng)爭(zhēng)需求之間取得了平衡。

數(shù)據(jù)產(chǎn)品所有者必須定義成功標(biāo)準(zhǔn)和與業(yè)務(wù)相關(guān)的關(guān)鍵績(jī)效指標(biāo)(KPI)。例如,數(shù)據(jù)產(chǎn)品的消費(fèi)者成功發(fā)現(xiàn)和使用數(shù)據(jù)產(chǎn)品的交付時(shí)間是可衡量的成功標(biāo)準(zhǔn)。

為了構(gòu)建和運(yùn)行領(lǐng)域的內(nèi)部數(shù)據(jù)管道,團(tuán)隊(duì)必須擁有數(shù)據(jù)工程師。這種跨職能團(tuán)隊(duì)的一個(gè)奇妙的副作用是跨團(tuán)隊(duì)技能互補(bǔ)。我目前的行業(yè)觀察是,一些數(shù)據(jù)工程師雖然能夠使用其交易工具,但在構(gòu)建數(shù)據(jù)資產(chǎn)時(shí)缺乏軟件工程標(biāo)準(zhǔn)實(shí)踐,例如在連續(xù)交付和自動(dòng)化測(cè)試方面。同樣,構(gòu)建操作系統(tǒng)的軟件工程師通常也沒(méi)有使用數(shù)據(jù)工程工具集的經(jīng)驗(yàn)。消除技能孤島有助于創(chuàng)建更大的數(shù)據(jù)工程技能庫(kù)。我們已經(jīng)觀察到與DevOps運(yùn)動(dòng)相同的跨團(tuán)隊(duì)技能互補(bǔ),以及諸如SRE之類(lèi)的新型工程師的誕生。

必須將數(shù)據(jù)視為任何軟件生態(tài)系統(tǒng)的基礎(chǔ),因此軟件工程師和軟件通才必須將數(shù)據(jù)產(chǎn)品開(kāi)發(fā)的經(jīng)驗(yàn)和知識(shí)添加到他們的工具帶中。同樣,基礎(chǔ)架構(gòu)工程師需要增加管理數(shù)據(jù)基礎(chǔ)架構(gòu)的知識(shí)和經(jīng)驗(yàn)。企業(yè)必須提供從通才到數(shù)據(jù)工程師的職業(yè)發(fā)展途徑。由于缺少數(shù)據(jù)工程的技術(shù)從而導(dǎo)致了之前「孤立和超專(zhuān)業(yè)的所有權(quán)」那節(jié)中的中心化的數(shù)據(jù)工程團(tuán)的過(guò)度局部?jī)?yōu)化的問(wèn)題。

pYYBAGGUZK6AaRJBAADCQnoabRA571.png

圖10:具有明確數(shù)據(jù)產(chǎn)品所有權(quán)的跨功能領(lǐng)域數(shù)據(jù)團(tuán)隊(duì)

數(shù)據(jù)和自助平臺(tái)設(shè)計(jì)融合

將數(shù)據(jù)所有權(quán)分配給領(lǐng)域的主要問(wèn)題之一是可能存在重復(fù)工作。幸運(yùn)的是,將通用基礎(chǔ)架構(gòu)構(gòu)建為平臺(tái)已經(jīng)是眾所周知的問(wèn)題,并且已經(jīng)得到解決。

將領(lǐng)域不可知的基礎(chǔ)架構(gòu)功能收集和提取到數(shù)據(jù)基礎(chǔ)架構(gòu)平臺(tái)中,解決了重復(fù)設(shè)置數(shù)據(jù)管道引擎,存儲(chǔ)和流基礎(chǔ)架構(gòu)的工作的問(wèn)題。數(shù)據(jù)基礎(chǔ)架構(gòu)團(tuán)隊(duì)可以擁有并提供域發(fā)現(xiàn),處理,存儲(chǔ)和服務(wù)其數(shù)據(jù)產(chǎn)品所需的必要技術(shù)。

pYYBAGGUZK-Abr6SAAEIy5-v8UI728.png

圖11:提取和收集與領(lǐng)域無(wú)關(guān)的數(shù)據(jù)管道基礎(chǔ)架構(gòu),并將工具構(gòu)建到作為平臺(tái)的獨(dú)立數(shù)據(jù)基礎(chǔ)架構(gòu)中

將數(shù)據(jù)基礎(chǔ)架構(gòu)構(gòu)建為平臺(tái)的關(guān)鍵是(a)不包含任何特定于領(lǐng)域的概念或業(yè)務(wù)邏輯,使其保持領(lǐng)域不可知性;以及(b)確保平臺(tái)隱藏了所有潛在的復(fù)雜性和提供了數(shù)據(jù)基礎(chǔ)架構(gòu)組件自助服務(wù)的方式。自助數(shù)據(jù)基礎(chǔ)架構(gòu)作為平臺(tái)向用戶(領(lǐng)域的數(shù)據(jù)工程師)提供的功能種類(lèi)繁多。這里有幾個(gè):

可擴(kuò)展的多語(yǔ)言大數(shù)據(jù)存儲(chǔ)

加密靜態(tài)和動(dòng)態(tài)數(shù)據(jù)

數(shù)據(jù)產(chǎn)品版本控制

數(shù)據(jù)產(chǎn)品架構(gòu)

數(shù)據(jù)產(chǎn)品去識(shí)別

統(tǒng)一的數(shù)據(jù)訪問(wèn)控制和記錄

數(shù)據(jù)管道的實(shí)現(xiàn)和編排

數(shù)據(jù)產(chǎn)品發(fā)現(xiàn),目錄注冊(cè)和發(fā)布

數(shù)據(jù)治理與標(biāo)準(zhǔn)化

數(shù)據(jù)產(chǎn)品沿襲

數(shù)據(jù)產(chǎn)品監(jiān)控/報(bào)警/日志

數(shù)據(jù)產(chǎn)品質(zhì)量指標(biāo)(收集和共享)

內(nèi)存中數(shù)據(jù)緩存

聯(lián)合身份管理

計(jì)算和數(shù)據(jù)局部性

自助數(shù)據(jù)基礎(chǔ)架構(gòu)的成功標(biāo)準(zhǔn)是減少“創(chuàng)建新數(shù)據(jù)產(chǎn)品的時(shí)間”。這將引導(dǎo)“數(shù)據(jù)產(chǎn)品”功能所需的自動(dòng)化,這在“將領(lǐng)域數(shù)據(jù)作為產(chǎn)品”部分中進(jìn)行了介紹。例如,通過(guò)配置和腳本自動(dòng)執(zhí)行數(shù)據(jù)提取,將腳手架放置在適當(dāng)位置的數(shù)據(jù)產(chǎn)品創(chuàng)建腳本,在目錄中自動(dòng)注冊(cè)數(shù)據(jù)產(chǎn)品等。

使用云基礎(chǔ)架構(gòu)作為基礎(chǔ)可以減少運(yùn)營(yíng)成本和工作量,但是,它并沒(méi)有完全消除需要在業(yè)務(wù)環(huán)境中放置的更高的抽象。無(wú)論云提供商如何,數(shù)據(jù)基礎(chǔ)架構(gòu)團(tuán)隊(duì)都可以使用一組豐富且不斷增長(zhǎng)的數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)服務(wù)。

向數(shù)據(jù)網(wǎng)格轉(zhuǎn)移的范式

讀了這么久了,讓我們總結(jié)一下。我們研究了當(dāng)前數(shù)據(jù)平臺(tái)的一些基本特征:中心式,單體式,高度耦合的管道架構(gòu),由超專(zhuān)業(yè)數(shù)據(jù)工程師的獨(dú)立操作。我們介紹了作為平臺(tái)的無(wú)處不在的數(shù)據(jù)網(wǎng)格的構(gòu)建模塊;面向領(lǐng)域的分布式數(shù)據(jù)產(chǎn)品,由獨(dú)立的跨職能團(tuán)隊(duì)擁有,這些團(tuán)隊(duì)具有嵌入式數(shù)據(jù)工程師和數(shù)據(jù)產(chǎn)品所有者,使用通用數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)作為承載,準(zhǔn)備和服務(wù)其數(shù)據(jù)資產(chǎn)的平臺(tái)。

數(shù)據(jù)網(wǎng)格平臺(tái)是經(jīng)過(guò)精心設(shè)計(jì)的分布式數(shù)據(jù)體系結(jié)構(gòu),在集中管理和標(biāo)準(zhǔn)化下實(shí)現(xiàn)了互操作性,并通過(guò)共享和統(tǒng)一的自助式數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)實(shí)現(xiàn)了此功能。我希望,它與無(wú)法訪問(wèn)的數(shù)據(jù)零散孤島的景象不同。

pYYBAGGUZK-AWwUQAAEJ1pC_Ths828.png

圖12:俯視數(shù)據(jù)網(wǎng)格架構(gòu)

那么,數(shù)據(jù)湖或數(shù)據(jù)倉(cāng)庫(kù)在此體系結(jié)構(gòu)中適合什么位置?它們只是網(wǎng)格上的節(jié)點(diǎn)。我們很有可能不需要數(shù)據(jù)湖,因?yàn)楸4嬖紨?shù)據(jù)的分布式日志和存儲(chǔ)是可用與從作為產(chǎn)品的不同的、可尋址的、不可變的數(shù)據(jù)集中作為產(chǎn)品中進(jìn)行探索。但是,如果我們確實(shí)需要更改數(shù)據(jù)的原始格式以進(jìn)行進(jìn)一步的探索(例如標(biāo)記),則有此需求的領(lǐng)域可能會(huì)創(chuàng)建自己的湖泊或數(shù)據(jù)中心。

因此,數(shù)據(jù)湖不再是整個(gè)體系結(jié)構(gòu)的核心。我們將繼續(xù)應(yīng)用一些數(shù)據(jù)湖的原理,例如使不變的數(shù)據(jù)可用于勘探和分析用途。我們將繼續(xù)使用數(shù)據(jù)湖工具,但是將其用于數(shù)據(jù)產(chǎn)品的內(nèi)部實(shí)施或作為共享數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)的一部分。

實(shí)際上,這使我們回到了一切的起點(diǎn):2010年,James Dixon打算將一個(gè)數(shù)據(jù)湖用于單個(gè)領(lǐng)域,而多個(gè)數(shù)據(jù)域?qū)⑿纬梢粋€(gè)“水上花園”。

主要轉(zhuǎn)變是將領(lǐng)域數(shù)據(jù)產(chǎn)品視為第一類(lèi)關(guān)注點(diǎn),而將數(shù)據(jù)湖工具和管道視為第二類(lèi)關(guān)注點(diǎn)-即實(shí)現(xiàn)細(xì)節(jié)。這將當(dāng)前的思維模型從中心化式數(shù)據(jù)湖轉(zhuǎn)變?yōu)榭梢院芎玫貐f(xié)同工作的數(shù)據(jù)產(chǎn)品生態(tài)系統(tǒng),即數(shù)據(jù)網(wǎng)格

相同的原則適用于用于業(yè)務(wù)報(bào)告和可視化的數(shù)據(jù)倉(cāng)庫(kù)。它只是網(wǎng)格上的一個(gè)節(jié)點(diǎn),并且可能位于網(wǎng)格的面向消費(fèi)者的邊緣上。

我承認(rèn),盡管我看到數(shù)據(jù)網(wǎng)格實(shí)踐已在我的客戶中應(yīng)用,但企業(yè)規(guī)模的采用仍然有很長(zhǎng)的路要走。我不認(rèn)為技術(shù)是這里的局限性,我們今天使用的所有工具都可以容納多個(gè)團(tuán)隊(duì)的分配和所有權(quán)。尤其是向批處理和流傳輸以及諸如Apache Beam或Google Cloud Dataflow之類(lèi)的工具統(tǒng)一的轉(zhuǎn)變,可以處理多種類(lèi)型的數(shù)據(jù)集。

諸如Google Cloud Data Catalog之類(lèi)的數(shù)據(jù)目錄平臺(tái)提供了中心化的可發(fā)現(xiàn)性,訪問(wèn)控制和分布式領(lǐng)域數(shù)據(jù)集的治理。多種云數(shù)據(jù)存儲(chǔ)選項(xiàng)使領(lǐng)域數(shù)據(jù)產(chǎn)品可以選擇適合用途的多語(yǔ)言存儲(chǔ)。

需求是真實(shí)的,工具已經(jīng)準(zhǔn)備就緒。這需要組織的工程師和領(lǐng)導(dǎo)者來(lái)認(rèn)識(shí)到,僅使用新的基于云的工具,現(xiàn)有的大數(shù)據(jù)范例和一個(gè)真正的大數(shù)據(jù)平臺(tái)或數(shù)據(jù)湖就只會(huì)重復(fù)過(guò)去的失敗。

這種范式轉(zhuǎn)換需要一套新的管理原則以及一種新的語(yǔ)言:

服務(wù)而不是提取

發(fā)現(xiàn)和使用而不是提取和載入

發(fā)布事件流而不是利用中心化的管道來(lái)管理數(shù)據(jù)

數(shù)據(jù)產(chǎn)品生態(tài)而不是中心化數(shù)據(jù)平臺(tái)

讓我們將大數(shù)據(jù)單體分解為一個(gè)統(tǒng)一,協(xié)作和分布式的數(shù)據(jù)網(wǎng)格生態(tài)系統(tǒng)。

來(lái)源:https://insights.thoughtworks.cn/data-monolith-to-mesh/

編輯:fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于分布式對(duì)象存儲(chǔ)WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺(tái)

    基于分布式對(duì)象存儲(chǔ)WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺(tái)
    的頭像 發(fā)表于 08-28 09:56 ?141次閱讀
    基于<b class='flag-5'>分布式</b>對(duì)象存儲(chǔ)WDS的信托非結(jié)構(gòu)化<b class='flag-5'>數(shù)據(jù)</b>整合<b class='flag-5'>平臺(tái)</b>

    鴻蒙開(kāi)發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】

    分布式數(shù)據(jù)管理為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)庫(kù)的分布式協(xié)同能力。通過(guò)調(diào)用分布式數(shù)據(jù)各個(gè)接口,應(yīng)用程
    的頭像 發(fā)表于 06-07 09:30 ?719次閱讀
    鴻蒙開(kāi)發(fā)接口<b class='flag-5'>數(shù)據(jù)</b>管理:【@ohos.data.distributedData (<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>管理)】

    什么是數(shù)據(jù)?數(shù)據(jù)數(shù)據(jù)倉(cāng)庫(kù)有什么區(qū)別?

    本質(zhì)上說(shuō),數(shù)據(jù)就是一個(gè)信息資源庫(kù)。人們常常將數(shù)據(jù)數(shù)據(jù)倉(cāng)庫(kù)混為一談,但兩者在架構(gòu)和滿足的業(yè)
    的頭像 發(fā)表于 05-20 12:38 ?477次閱讀
    什么是<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>湖</b>?<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>湖</b>和<b class='flag-5'>數(shù)據(jù)</b>倉(cāng)庫(kù)有什么區(qū)別?

    HarmonyOS開(kāi)發(fā)實(shí)例:【分布式數(shù)據(jù)服務(wù)】

    分布式數(shù)據(jù)服務(wù)(Distributed Data Service,DDS)為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)分布式的能力。
    的頭像 發(fā)表于 04-18 10:18 ?556次閱讀
    HarmonyOS開(kāi)發(fā)實(shí)例:【<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>服務(wù)】

    HarmonyOS開(kāi)發(fā)實(shí)例:【分布式數(shù)據(jù)管理】

    eTS中分布式數(shù)據(jù)管理的使用,包括KVManager對(duì)象實(shí)例的創(chuàng)建和KVStore數(shù)據(jù)流轉(zhuǎn)的使用。
    的頭像 發(fā)表于 04-11 09:57 ?790次閱讀
    HarmonyOS開(kāi)發(fā)實(shí)例:【<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>管理】

    分布式運(yùn)維管理平臺(tái)在跨地域企業(yè)中的部署與運(yùn)維案例

    問(wèn)題,某跨地域企業(yè)決定引入分布式運(yùn)維管理平臺(tái),以提升其運(yùn)維效率和管理水平。 二、平臺(tái)部署與優(yōu)勢(shì) 統(tǒng)一化管理與監(jiān)控 分布式運(yùn)維管理
    的頭像 發(fā)表于 03-26 16:11 ?334次閱讀

    分布式運(yùn)維管理平臺(tái)解決大型數(shù)據(jù)中心運(yùn)維難題的案例

    。因此,某大型數(shù)據(jù)中心決定引入分布式運(yùn)維管理平臺(tái),以解決運(yùn)維過(guò)程中的諸多難題。 來(lái)百度APP暢享高清圖片 二、平臺(tái)實(shí)施與功能 資源整合與統(tǒng)一調(diào)度
    的頭像 發(fā)表于 03-26 16:10 ?299次閱讀
    <b class='flag-5'>分布式</b>運(yùn)維管理<b class='flag-5'>平臺(tái)</b>解決大型<b class='flag-5'>數(shù)據(jù)</b>中心運(yùn)維難題的案例

    分布式存儲(chǔ)與計(jì)算:大數(shù)據(jù)時(shí)代的解決方案

    分布式存儲(chǔ)和計(jì)算技術(shù)應(yīng)運(yùn)而生,并迅速成為處理大數(shù)據(jù)的首選方案。本文將深入探討分布式存儲(chǔ)和計(jì)算的概念、優(yōu)勢(shì)及其在各個(gè)領(lǐng)域的應(yīng)用情況。 1.分布式存儲(chǔ)和計(jì)算的概念與優(yōu)勢(shì)
    的頭像 發(fā)表于 03-07 14:42 ?565次閱讀

    構(gòu)建高效數(shù)據(jù)生態(tài):數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)、大數(shù)據(jù)平臺(tái)數(shù)據(jù)中臺(tái)解析_光點(diǎn)科技

    在數(shù)字化的浪潮中,一套高效的數(shù)據(jù)管理系統(tǒng)是企業(yè)競(jìng)爭(zhēng)力的核心。傳統(tǒng)的數(shù)據(jù)庫(kù)現(xiàn)代的數(shù)據(jù)中臺(tái),每一
    的頭像 發(fā)表于 01-17 10:20 ?280次閱讀

    分布式IO工業(yè)自動(dòng)化數(shù)據(jù)采集與分析的核心

    工業(yè)自動(dòng)化生產(chǎn)的效率。在傳統(tǒng)的工業(yè)自動(dòng)化生產(chǎn)中,設(shè)備的控制和監(jiān)測(cè)通常采用集中式控制方式,這種方式存在著設(shè)備連接復(fù)雜、數(shù)據(jù)傳輸速度慢、故障率高和擴(kuò)展性差等問(wèn)題。而分布式IO采用分布式控制方式,將設(shè)備按照
    發(fā)表于 12-28 14:47

    鴻蒙原生應(yīng)用開(kāi)發(fā)——分布式數(shù)據(jù)對(duì)象

    01、什么是分布式數(shù)據(jù)對(duì)象 在可信組網(wǎng)環(huán)境下,多個(gè)相互組網(wǎng)認(rèn)證的設(shè)備將各自創(chuàng)建的對(duì)象加入同一個(gè) sessionId,使得加入的多個(gè)數(shù)據(jù)對(duì)象之間可以同步數(shù)據(jù),也就是說(shuō),當(dāng)某一
    發(fā)表于 12-08 10:01

    分布式數(shù)據(jù)恢復(fù)-hbase+hive分布式存儲(chǔ)誤刪除文件的數(shù)據(jù)恢復(fù)方案

    hbase+hive分布式存儲(chǔ)數(shù)據(jù)恢復(fù)環(huán)境: 16臺(tái)某品牌R730XD服務(wù)器節(jié)點(diǎn),每臺(tái)物理服務(wù)器節(jié)點(diǎn)上有數(shù)臺(tái)虛擬機(jī),虛擬機(jī)上配置的分布式,上層部署hbase數(shù)據(jù)庫(kù)+hive
    的頭像 發(fā)表于 11-24 15:55 ?329次閱讀

    基于CAN總線的遠(yuǎn)程數(shù)據(jù)分布式測(cè)控系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于CAN總線的遠(yuǎn)程數(shù)據(jù)分布式測(cè)控系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-23 08:31 ?0次下載
    基于CAN總線的遠(yuǎn)程<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>分布式</b>測(cè)控系統(tǒng)

    分布式文件系統(tǒng)的設(shè)計(jì)原理是什么?

    什么是分布式文件系統(tǒng)?分布式文件系統(tǒng)(DFS)是一種計(jì)算機(jī)文件系統(tǒng),使用戶能夠多個(gè)分布式位置存儲(chǔ)和訪問(wèn)數(shù)據(jù)。它是在
    的頭像 發(fā)表于 10-17 17:35 ?677次閱讀

    基于ARM和CAN總線的分布式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于ARM和CAN總線的分布式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 11:30 ?0次下載
    基于ARM和CAN總線的<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>采集系統(tǒng)設(shè)計(jì)