数据服务基础能力之元数据管理
一、業(yè)務(wù)背景
1、應(yīng)用場(chǎng)景
在多變的數(shù)據(jù)服務(wù)場(chǎng)景中,應(yīng)用中常見如下的業(yè)務(wù)需求,通過對(duì)多種數(shù)據(jù)結(jié)構(gòu)的靈活組合,快速實(shí)現(xiàn)業(yè)務(wù)模型構(gòu)建,整體示意圖如下:
像常用的畫圖工具,左邊提供基礎(chǔ)圖形庫,中間是畫布,右邊是組件的控制細(xì)節(jié),對(duì)比到這里的邏輯如下:
-
字段面板:提供業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)的字段映射,和常規(guī)字段類型配置,用來支撐組合面板的表單配置。
- 數(shù)據(jù)結(jié)構(gòu):對(duì)現(xiàn)有業(yè)務(wù)結(jié)構(gòu)做映射,可能是文件、數(shù)據(jù)表、JSON等,生成相對(duì)標(biāo)準(zhǔn)的字段選項(xiàng);
- 拓補(bǔ)字段:維護(hù)一批基礎(chǔ)的字段類型,用來做拓補(bǔ)操作,完善整個(gè)業(yè)務(wù)結(jié)構(gòu);
-
組合面板:承載字段的組合管理,生成新的數(shù)據(jù)結(jié)構(gòu),根據(jù)業(yè)務(wù)場(chǎng)景,完成底層數(shù)據(jù)的抽取存儲(chǔ)或者API服務(wù)生成。
- 業(yè)務(wù)主體:通過業(yè)務(wù)需求的判斷,明確面板支撐的業(yè)務(wù)屬性,通過基礎(chǔ)結(jié)構(gòu)組合新的業(yè)務(wù)主體;
- 組合結(jié)構(gòu):面板上呈現(xiàn)的字段,是多個(gè)業(yè)務(wù)結(jié)構(gòu)的抽取,即不同業(yè)務(wù)結(jié)構(gòu)中的部分字段組合;
-
規(guī)則面板:對(duì)組合面板上字段進(jìn)行規(guī)制設(shè)定,常見涉及:描述,類型,默認(rèn)值等,對(duì)面板字段進(jìn)行相對(duì)統(tǒng)一的標(biāo)準(zhǔn)化管理。
- 描述信息:對(duì)于組合面板上的字段描述,也可以是原有映射的結(jié)果,作為新業(yè)務(wù)主體的屬性說明;
- 類型維護(hù):復(fù)雜的環(huán)節(jié),不同數(shù)據(jù)類型在不同的存儲(chǔ)中處理方式不同,需要統(tǒng)一維護(hù)類型存儲(chǔ)映射;
- 業(yè)務(wù)規(guī)則:對(duì)于新的業(yè)務(wù)主體,設(shè)置屬性的規(guī)則,可以是:唯一性,默認(rèn)值,等等;
2、構(gòu)建服務(wù)
基于上述功能的實(shí)現(xiàn),可以快速實(shí)現(xiàn)以下服務(wù)能力,通常應(yīng)用在業(yè)務(wù)多變的場(chǎng)景中:
-
數(shù)據(jù)主體構(gòu)建:通過組合面板的結(jié)構(gòu)生成,快速完成相關(guān)數(shù)據(jù)的抽取和存儲(chǔ),作為新的業(yè)務(wù)場(chǎng)景中的主體數(shù)據(jù)。
-
服務(wù)API生成:在數(shù)據(jù)服務(wù)中,直接通過配置,生成API服務(wù)能力,并控制參數(shù)的響應(yīng)結(jié)構(gòu),這種情況通常會(huì)以實(shí)時(shí)查詢的方式處理。
-
數(shù)據(jù)智能分析:在數(shù)據(jù)分析場(chǎng)景中,側(cè)重統(tǒng)計(jì)的結(jié)果,基于字段和圖表結(jié)構(gòu),生成相應(yīng)的統(tǒng)計(jì)分析任務(wù),靈活管理分析報(bào)表。
這里是簡(jiǎn)述相對(duì)單一的應(yīng)用服務(wù),如果把這里的流程分段放大,在整個(gè)數(shù)據(jù)服務(wù)體系下,就是圍繞元數(shù)據(jù)管理的復(fù)雜的基礎(chǔ)系統(tǒng):圍繞數(shù)據(jù)結(jié)構(gòu)映射,進(jìn)行元數(shù)據(jù)標(biāo)準(zhǔn)化管理,在此基礎(chǔ)上二次組織數(shù)據(jù),快速響應(yīng)業(yè)務(wù)需求。在這樣的流程下,可以快速建立業(yè)務(wù)鏈路,提供高效的服務(wù)能力,降低試錯(cuò)的成本。
二、元數(shù)據(jù)概念
1、基礎(chǔ)描述
從定義上說,元數(shù)據(jù)(Metadata)即描述數(shù)據(jù)的數(shù)據(jù),但是在實(shí)際使用的時(shí)候,還是存在很多細(xì)分的概念,看下面的案例:用戶性別;
從細(xì)分角度看,可以對(duì)上面數(shù)據(jù)進(jìn)行兩塊劃分,即業(yè)務(wù)層與技術(shù)層:
- 業(yè)務(wù)層:名稱.釋義.說明.值類型;
- 技術(shù)層:路由庫.路由表.存儲(chǔ)類型.值類型;
這里的分層只是描述的側(cè)重點(diǎn),業(yè)務(wù)層偏向應(yīng)用端,技術(shù)層偏向底層系統(tǒng)的交互和實(shí)現(xiàn),在對(duì)性別的描述上都是核心維度。
所以從本質(zhì)上看元數(shù)據(jù),介于系統(tǒng)和業(yè)務(wù)中間,提供雙方都能明白的語義和邏輯,可以更加高效的支撐數(shù)據(jù)的業(yè)務(wù)價(jià)值。
2、血緣關(guān)系
上面是從單個(gè)指標(biāo)看元數(shù)據(jù)的結(jié)構(gòu),如果從整個(gè)鏈路上看,就會(huì)形成層級(jí)線路,通常稱為血緣關(guān)系:
從上層業(yè)務(wù)側(cè)追溯到底層結(jié)構(gòu),形成血緣關(guān)系的概念,概念本身并不重要的,背后的核心是鏈路的管理,鏈路上的節(jié)點(diǎn)(中間實(shí)體)是通過多種計(jì)算手段生成;
如果某個(gè)節(jié)點(diǎn)數(shù)據(jù)一旦出現(xiàn)質(zhì)量問題,則需要根據(jù)這里的鏈路關(guān)系進(jìn)行逐級(jí)向底層排查,完成問題修復(fù)后,還需要根據(jù)關(guān)系向上逐級(jí)修復(fù)清洗;如此通過血緣關(guān)系進(jìn)行數(shù)據(jù)質(zhì)量的分析和把控。
3、業(yè)務(wù)價(jià)值
元數(shù)據(jù)管理是一個(gè)持續(xù)又漫長(zhǎng)的過程的,任何系統(tǒng)的搭建都需要業(yè)務(wù)來衡量其存在的價(jià)值,其核心邏輯在于:統(tǒng)一標(biāo)準(zhǔn)化管理元數(shù)據(jù)信息,規(guī)范業(yè)務(wù)層的定義,并通過技術(shù)層面快速定位數(shù)據(jù),自動(dòng)化抽取數(shù)據(jù),靈活支撐業(yè)務(wù)應(yīng)用。
-
圍繞核心業(yè)務(wù):通常在項(xiàng)目初期的時(shí)候,只圍繞一些核心業(yè)務(wù)主體,使其在使用的時(shí)候靈活高效,后續(xù)在持續(xù)擴(kuò)展其他能力。
-
數(shù)據(jù)成本分析:基于元數(shù)據(jù)中鏈路,分析各個(gè)節(jié)點(diǎn)數(shù)據(jù)的生產(chǎn)維護(hù)管理等成本,為數(shù)據(jù)服務(wù)中商業(yè)定價(jià)提供參考,可能直接影響服務(wù)是否可提供的決策。
-
配置可視化:在數(shù)據(jù)服務(wù)平臺(tái)中,最忌諱的一點(diǎn)就是靠手動(dòng)去維護(hù)各種作業(yè),不管在什么場(chǎng)景下,都要考慮可配置化管理,保證動(dòng)作可追溯。
-
流程自動(dòng)化:不管是元數(shù)據(jù)結(jié)構(gòu)映射,還是配置后數(shù)據(jù)的抽取,要保證指令生成后可以自動(dòng)完成該一系列動(dòng)作,并完成流程監(jiān)控分析。
-
資產(chǎn)化分析:通常會(huì)把元數(shù)據(jù)視為數(shù)據(jù)資產(chǎn)體系,因此圍繞元數(shù)據(jù)去統(tǒng)計(jì)數(shù)據(jù)的使用情況,產(chǎn)生的價(jià)值,以及熱點(diǎn)數(shù)據(jù)識(shí)別和分布,業(yè)務(wù)主體關(guān)聯(lián)度等,并輸出相應(yīng)分析結(jié)果。
如果單從業(yè)務(wù)角度去看,元數(shù)據(jù)系統(tǒng)的存在,就是為了可以快速理解元數(shù)據(jù),并且靈活的組織管理,以此降低服務(wù)能力的實(shí)現(xiàn)成本。
三、架構(gòu)設(shè)計(jì)
1、系統(tǒng)分層
-
采集層:元數(shù)據(jù)系統(tǒng)中的基礎(chǔ)節(jié)點(diǎn),架構(gòu)體系的底層,維護(hù)元數(shù)據(jù)獲取通道和映射管理以及落地存儲(chǔ),并實(shí)現(xiàn)結(jié)構(gòu)管理和數(shù)據(jù)處理過程;在數(shù)據(jù)源中可能存在多種情況:數(shù)倉環(huán)境、文件結(jié)構(gòu)等,在特定情況中,還需要一定程度的手動(dòng)維護(hù)進(jìn)行結(jié)構(gòu)拓補(bǔ);
-
管理層:對(duì)于元數(shù)據(jù)核心能力打造,和相應(yīng)的標(biāo)準(zhǔn)化管理,或者二次加工,數(shù)據(jù)源層面直接采集的數(shù)據(jù)通常不具備標(biāo)準(zhǔn)的業(yè)務(wù)語義,更多偏向技術(shù)側(cè)的說明和邏輯,在經(jīng)過標(biāo)準(zhǔn)化維護(hù)之后,在放開給應(yīng)用層之前,還需要經(jīng)過質(zhì)量檢測(cè):例如工作城市,如果缺乏相應(yīng)的枚舉字典,顯然是不合格的,必須經(jīng)過必要的處理才能放開;即管理層放開的數(shù)據(jù)需要標(biāo)準(zhǔn)化和整體維度完善;
-
應(yīng)用層:基于元數(shù)據(jù)能力的應(yīng)用層開發(fā),對(duì)于實(shí)際業(yè)務(wù)場(chǎng)景提供解決方案和功能入口,以及相應(yīng)的系統(tǒng)中用戶權(quán)限隔離等基本功能;
從系統(tǒng)分層的角度理解流程并不復(fù)雜,但是實(shí)際的實(shí)現(xiàn)過程簡(jiǎn)直不堪回首,技術(shù)棧使用非常復(fù)雜,多個(gè)版本邏輯重構(gòu)再重構(gòu),并且不斷的改進(jìn)優(yōu)化,最終才能實(shí)現(xiàn)相對(duì)穩(wěn)定的服務(wù)能力。
2、元數(shù)據(jù)采集
在采集數(shù)據(jù)的時(shí)候,面對(duì)的最大問題就是多種類數(shù)據(jù)源解析適配,以及數(shù)據(jù)調(diào)度任務(wù)的抽象,必須開發(fā)對(duì)應(yīng)的工具來實(shí)現(xiàn)各種場(chǎng)景的元數(shù)據(jù)解析能力:
-
解析能力:適配解析各種數(shù)據(jù)源特點(diǎn),文件格式,SQL腳本,抽象任務(wù)等,完成標(biāo)準(zhǔn)元數(shù)據(jù)的轉(zhuǎn)換沉淀;
-
類型識(shí)別:十分復(fù)雜的一個(gè)節(jié)點(diǎn),類型在描述數(shù)據(jù)的時(shí)候至關(guān)重要,結(jié)構(gòu)化存儲(chǔ)可以直接讀取,文件類結(jié)構(gòu)通常需要類型轉(zhuǎn)換標(biāo)識(shí),任務(wù)流程會(huì)直接統(tǒng)一管理,依次保證數(shù)據(jù)在不同環(huán)境中的合理存儲(chǔ);
-
更新消息:業(yè)務(wù)的發(fā)展中,各種數(shù)據(jù)結(jié)構(gòu)是頻繁變動(dòng)的,這就需要與元數(shù)據(jù)系統(tǒng)進(jìn)行同步,通常要向消息服務(wù)(總線)發(fā)送通知,然后觸發(fā)元數(shù)據(jù)更新動(dòng)作;
核心能力:結(jié)構(gòu)與類型識(shí)別解析、獲取初始化數(shù)據(jù),并且通過消息通知線路,完成動(dòng)態(tài)更新流程的觸發(fā)。
3、元數(shù)據(jù)管理
核心能力的打造,通常在系統(tǒng)初期都是圍繞基本能力和業(yè)務(wù)需求的方向,以求快速落地實(shí)現(xiàn),提供業(yè)務(wù)支撐能力;
-
基礎(chǔ)能力:標(biāo)準(zhǔn)化元數(shù)據(jù)結(jié)構(gòu),進(jìn)行結(jié)構(gòu)存儲(chǔ)和可搜索能力實(shí)現(xiàn),這個(gè)節(jié)點(diǎn)進(jìn)行統(tǒng)一維護(hù),數(shù)據(jù)類型識(shí)別和轉(zhuǎn)換是至關(guān)重要的;補(bǔ)充說一句,在數(shù)據(jù)平臺(tái)中,都會(huì)存在類型服務(wù)系統(tǒng),以提供相應(yīng)的識(shí)別能力和規(guī)范不同場(chǎng)景下的轉(zhuǎn)換;
-
實(shí)體與關(guān)系:數(shù)據(jù)業(yè)務(wù)中兩個(gè)核心概念,實(shí)體必然由屬性構(gòu)成這是常說的,實(shí)體之間維護(hù)的關(guān)系:關(guān)聯(lián)、、綁定、輸出、輸入等,是構(gòu)建血緣關(guān)系和數(shù)據(jù)鏈路的核心標(biāo)識(shí);
-
數(shù)據(jù)抽取:基于對(duì)元數(shù)據(jù)的組織和實(shí)體的定義,生成數(shù)據(jù)抽取規(guī)則,進(jìn)而完成數(shù)據(jù)的快速獲取,后續(xù)就是對(duì)接具體的業(yè)務(wù),例如數(shù)據(jù)存儲(chǔ)方式,搬運(yùn)方式,最終落地業(yè)務(wù)線使用;
-
可視化分析:包括數(shù)據(jù)質(zhì)量分析,鏈路與周期分析,血緣分析等,這類功能一般在核心業(yè)務(wù)能力完成之后,會(huì)按需求等級(jí),逐步迭代實(shí)現(xiàn);
通過核心能力的建設(shè),以求實(shí)現(xiàn)對(duì)數(shù)據(jù)的快速定位,高效管理,靈活應(yīng)用的目標(biāo),提高數(shù)據(jù)服務(wù)能力的效率,適應(yīng)業(yè)務(wù)發(fā)展的多變性。
同系列:消息中間件改造 ┃ 數(shù)據(jù)服務(wù)系統(tǒng)設(shè)計(jì) ┃ 業(yè)務(wù)數(shù)據(jù)清洗方案 ┃ 數(shù)字營(yíng)銷概念 ┃ 標(biāo)簽業(yè)務(wù)應(yīng)用 ┃
四、源代碼地址
GitEE·地址 https://gitee.com/cicadasmile Wiki·地址 https://gitee.com/cicadasmile/butte-java-note/wikis閱讀標(biāo)簽
【Java基礎(chǔ)】【設(shè)計(jì)模式】【結(jié)構(gòu)與算法】【Linux系統(tǒng)】【數(shù)據(jù)庫】
【分布式架構(gòu)】【微服務(wù)】【大數(shù)據(jù)組件】【SpringBoot進(jìn)階】【Spring&Boot基礎(chǔ)】
【數(shù)據(jù)分析】【技術(shù)導(dǎo)圖】【 職場(chǎng)】
總結(jié)
以上是生活随笔為你收集整理的数据服务基础能力之元数据管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭电1597_find the nth
- 下一篇: HD_2092整数解