本文討論了什么是元數(shù)據(jù),元數(shù)據(jù)管理的架構(gòu)和應(yīng)用價(jià)值,希望對(duì)大數(shù)據(jù)從業(yè)者有些許啟發(fā)。
各位晚上好,很高興能與大家分享對(duì)元數(shù)據(jù)架構(gòu)與應(yīng)用的一些思考。
首先簡(jiǎn)單介紹下我自己,我2010年加入普元,目前負(fù)責(zé)普元大數(shù)據(jù)產(chǎn)品部,我和我的團(tuán)隊(duì)主要在做大數(shù)據(jù)治理相關(guān)的產(chǎn)品和解決方案。在來到普元之前在人民銀行軟件開發(fā)中心擔(dān)任核心架構(gòu)師,參與了人民銀行的一些大型項(xiàng)目的建設(shè)。
整個(gè)分享分為三個(gè)部分:
第一部分,說說我和我的團(tuán)隊(duì)眼中的元數(shù)據(jù)。
第二部分簡(jiǎn)單介紹如何實(shí)現(xiàn)元數(shù)據(jù)管理的架構(gòu)。
第三部分,我將通過舉例的方式,說明元數(shù)據(jù)的應(yīng)用價(jià)值。
元數(shù)據(jù)是什么
元數(shù)據(jù)是信息的維度,可以說,掌握了元數(shù)據(jù)就掌握了信息的維度。
只有充分利用好元數(shù)據(jù)(也就是信息的維度),通過合理的元數(shù)據(jù)建模(維度整合),對(duì)元數(shù)據(jù)進(jìn)行科學(xué)管理(維度完善),才能更好地認(rèn)知信息。
那么,就可以將元數(shù)據(jù)管理看成是這些信息概念和信息本身之間的一種連接。其中信息概念表示某個(gè)業(yè)務(wù)所有維度的集合,連接則是描述元數(shù)據(jù)與元數(shù)據(jù)之間關(guān)系的方式。
元數(shù)據(jù)管理是隨著
數(shù)據(jù)倉庫的建設(shè)逐漸完善起來的,這也決定了元數(shù)據(jù)管理主要集中在數(shù)據(jù)領(lǐng)域。例如數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)加工轉(zhuǎn)換關(guān)系等。
而隨著我們對(duì)元數(shù)據(jù)理解的不斷深入,其實(shí)元數(shù)據(jù)廣泛存在于企業(yè)架構(gòu)的方方面面,而不僅僅局限于數(shù)據(jù)領(lǐng)域里。
因此,元數(shù)據(jù)管理的范圍也在不斷擴(kuò)大,從簡(jiǎn)單的庫表,到整個(gè)數(shù)據(jù)平臺(tái),再到服務(wù)管理,不斷地突破傳統(tǒng)管理的范疇,形成了廣義元數(shù)據(jù)管理。
在這個(gè)過程中,對(duì)元數(shù)據(jù)的技術(shù)架構(gòu)也有了新的要求,穩(wěn)定可擴(kuò)展的架構(gòu)才是實(shí)現(xiàn)廣義元數(shù)據(jù)管理的基礎(chǔ)。
元數(shù)據(jù)管理的架構(gòu)
要實(shí)現(xiàn)元數(shù)據(jù)管理有三個(gè)方面,
1、采集:指從各種工具中,把各種類型的元數(shù)據(jù)采集進(jìn)來,采集是元數(shù)據(jù)管理第一步。
2、存儲(chǔ):采集之后需要相應(yīng)的存儲(chǔ)策略來對(duì)元數(shù)據(jù)進(jìn)行存儲(chǔ),這需要在不改變存儲(chǔ)架構(gòu)的情況下擴(kuò)展元數(shù)據(jù)存儲(chǔ)的類型;
3、管理和應(yīng)用:在采集和存儲(chǔ)完成后,對(duì)已經(jīng)存儲(chǔ)的元數(shù)據(jù)進(jìn)行管理和應(yīng)用。
隨著元數(shù)據(jù)管理范疇的不斷擴(kuò)大,如何保證元數(shù)據(jù)從采集、存儲(chǔ)到應(yīng)用等關(guān)鍵環(huán)節(jié)的穩(wěn)定和擴(kuò)展,成為元數(shù)據(jù)管理架構(gòu)設(shè)計(jì)的關(guān)鍵問題。
OMG的模型體系規(guī)范為元數(shù)據(jù)管理提供了基礎(chǔ),所以整個(gè)元數(shù)據(jù)管理設(shè)計(jì)的關(guān)鍵應(yīng)該以模型體系規(guī)范為指導(dǎo)。
OMG提出的CWM(Common Warehouse Metamodel)規(guī)范對(duì)數(shù)據(jù)倉庫相關(guān)的所有模型進(jìn)行了描述,在初期我們也遵照此規(guī)范設(shè)計(jì)元數(shù)據(jù)管理的架構(gòu),但是規(guī)范里也有坑,我們很快就發(fā)現(xiàn)了問題。
我們發(fā)現(xiàn)CWM規(guī)范本質(zhì)上是針對(duì)數(shù)據(jù)倉庫領(lǐng)域的規(guī)范,按照OMG的模型體系來看,模型的抽象層次還是太低。
如果繼續(xù)提高抽象層級(jí),MOF規(guī)范位于模型體系最底層,所有模型體系規(guī)范的基礎(chǔ)都應(yīng)該是MOF(Meta Object Facility)規(guī)范,UML,CWM都是由MOF擴(kuò)展而來。
基于MOF的還有模型交換的規(guī)范XMI,為不同元數(shù)據(jù)交換提供了很好的模型基礎(chǔ)。
那么若整個(gè)元數(shù)據(jù)圍繞MOF設(shè)計(jì)和擴(kuò)展,不用修改元數(shù)據(jù)管理核心部分,就可以適應(yīng)元數(shù)據(jù)種類的不斷擴(kuò)展。
下面我們來看看如何設(shè)計(jì)元數(shù)據(jù)的存儲(chǔ)。
元模型對(duì)元數(shù)據(jù)屬性及關(guān)系進(jìn)行了定義,一般來講,元模型存儲(chǔ)有兩種方式。
1、第一種方式是將元模型轉(zhuǎn)換成系統(tǒng)數(shù)據(jù)庫表和屬性,實(shí)現(xiàn)一對(duì)一管理存儲(chǔ)。例如可以將主鍵元模型存儲(chǔ)在主鍵記錄表中、將存儲(chǔ)過程元模型存儲(chǔ)在存儲(chǔ)過程記錄表中等。
2、另一種方式是基于MOF元元模型把所有屬性和關(guān)系打散,以此來實(shí)現(xiàn)元模型的通用存儲(chǔ)結(jié)構(gòu)。
如圖所示,以CWM模型中關(guān)系型包為例進(jìn)行說明,方式一是直接將元模型轉(zhuǎn)化為庫表,方式二按照元元模型的方式存儲(chǔ)元模型;
盡管第二種實(shí)現(xiàn)方式上復(fù)雜度會(huì)更高一些,但是在擴(kuò)展性有絕對(duì)優(yōu)勢(shì),是元數(shù)據(jù)管理實(shí)現(xiàn)的優(yōu)先選擇方式。
再來看看模型體系的層次結(jié)構(gòu)。
和元數(shù)據(jù)有關(guān)的體系分三層,M1(元數(shù)據(jù))、M2(元模型)、M3(元元模型),其中MOF元元模型中描述了包、元素、屬性、命名空間和約束等對(duì)象及其關(guān)系,位于層次結(jié)構(gòu)的最上層,也是最抽象的一層。
以MOF作為底層元元模型來支持元數(shù)據(jù)管理,在M2層中就可以對(duì)元模型進(jìn)行定義和擴(kuò)展(例如CWM模型),將來還可以擴(kuò)展到微服務(wù)模型、業(yè)務(wù)模型等。
選定了實(shí)現(xiàn)方式后,一般可以通過三步來實(shí)現(xiàn)元數(shù)據(jù)的管理,
第一步,以MOF規(guī)范設(shè)計(jì)元模型存儲(chǔ)結(jié)構(gòu),從而支持元模型的擴(kuò)展。
第二步,基于MOF設(shè)計(jì)元模型,例如將CWM(公共倉庫元模型)規(guī)范中定義的元模型,存儲(chǔ)在元模型中。
第三步,按照擴(kuò)展后的元模型,采集元數(shù)據(jù),存儲(chǔ)到元數(shù)據(jù)系統(tǒng)中。
在元數(shù)據(jù)管理三層管理架構(gòu)的支持下,通常只需要做元模型定義和元數(shù)據(jù)采集,就對(duì)不同元數(shù)據(jù)進(jìn)行管理。
例如,要將表與字段元數(shù)據(jù)采集到元數(shù)據(jù)管理系統(tǒng),只需要如下兩步:
首先,對(duì)元模型定義并描述元數(shù)據(jù)特征,包括類屬性描述、關(guān)系的描述等;
然后,將元數(shù)據(jù)采集進(jìn)來,存儲(chǔ)到系統(tǒng)中;
元數(shù)據(jù)的應(yīng)用價(jià)值
良好的元數(shù)據(jù)架構(gòu),能夠給元數(shù)據(jù)帶來更多的應(yīng)用價(jià)值。我們?cè)倏纯丛獢?shù)據(jù)的應(yīng)用價(jià)值。
通過元數(shù)據(jù)管理我們能夠做到:
1、實(shí)現(xiàn)多樣、繁雜的元數(shù)據(jù)信息集中管理,為企業(yè)數(shù)據(jù)(服務(wù))管理提供統(tǒng)一的視圖,實(shí)現(xiàn)企業(yè)級(jí)數(shù)據(jù)(服務(wù))資產(chǎn)管理,方便數(shù)據(jù)(服務(wù))交互共享,同時(shí)為后續(xù)規(guī)劃提供依據(jù);
2、通過管理維護(hù)數(shù)據(jù)(服務(wù))之間關(guān)系,實(shí)現(xiàn)數(shù)據(jù)(服務(wù))自動(dòng)關(guān)聯(lián)分析,為問題定位、影響分析、上線加速等提供支撐。
3、建立數(shù)據(jù)(服務(wù))標(biāo)準(zhǔn),統(tǒng)一交換、存儲(chǔ)、應(yīng)用口徑,減少共享壁壘,降低應(yīng)用出錯(cuò)幾率,提升質(zhì)量。
通過這些基本能力,元數(shù)據(jù)在數(shù)據(jù)管理、微服務(wù)管理、業(yè)務(wù)管理等方面都能發(fā)揮很大的作用。
通過元數(shù)據(jù)管理,在數(shù)據(jù)方面能做到:
1、數(shù)據(jù)標(biāo)準(zhǔn)化;2、數(shù)據(jù)開放;3、數(shù)據(jù)質(zhì)量提升等
在微服務(wù)方面,能夠提供以下支撐:
1、服務(wù)開發(fā)、應(yīng)用等標(biāo)準(zhǔn)化;2、服務(wù)應(yīng)用監(jiān)控,優(yōu)化服務(wù)應(yīng)用等
將來在業(yè)務(wù)方面也能通過元數(shù)據(jù)實(shí)現(xiàn)業(yè)務(wù)流程分析、業(yè)務(wù)流程優(yōu)化等能力。
下面我們用幾個(gè)例子,舉例說明元數(shù)據(jù)的作用。
數(shù)據(jù)治理之中,元數(shù)據(jù)是整個(gè)治理體系落地的技術(shù)核心。
比如:在數(shù)據(jù)標(biāo)準(zhǔn)中將數(shù)據(jù)標(biāo)準(zhǔn)作為一類業(yè)務(wù)元數(shù)據(jù)存儲(chǔ),將其和技術(shù)元數(shù)據(jù)一定程度的關(guān)聯(lián),去看標(biāo)準(zhǔn)的落地效果。
在數(shù)據(jù)質(zhì)量中,通過元數(shù)據(jù)追溯質(zhì)量問題。在共享發(fā)布中,利用元數(shù)據(jù)自動(dòng)形成數(shù)據(jù)服務(wù)等等。
元數(shù)據(jù)還能夠自動(dòng)化的準(zhǔn)確的管理應(yīng)用的上線、變更, 通常企業(yè)系統(tǒng)建設(shè)會(huì)分為開發(fā)、測(cè)試與生產(chǎn)三個(gè)不同的環(huán)境,而在軟件開發(fā)過程中,無論是需求變更還是BUG修改都避免不了元數(shù)據(jù)的改動(dòng),這時(shí)候往往會(huì)出現(xiàn)開發(fā)庫、測(cè)試庫測(cè)試通過,而在上線過程中又出現(xiàn)問題的情況,這會(huì)讓運(yùn)維部門非常頭疼。
此時(shí)若通過元數(shù)據(jù)對(duì)系統(tǒng)的上線變更進(jìn)行管理,自動(dòng)采集三個(gè)環(huán)境的庫表結(jié)構(gòu)與存儲(chǔ)過程等信息,保證各個(gè)環(huán)境中的元數(shù)據(jù)都是最新的、最準(zhǔn)確的,再將上線環(huán)境與測(cè)試環(huán)境的元數(shù)據(jù)進(jìn)行對(duì)比,不一致的地方一目了然。如果把系統(tǒng)的開發(fā)庫、測(cè)試庫、生產(chǎn)庫的元數(shù)據(jù)都管理起來,上線時(shí)突然出現(xiàn)問題的概率就會(huì)大大降低。
通過擴(kuò)展模型,元數(shù)據(jù)也能夠管理微服務(wù),微服務(wù)的生命周期有多個(gè)階段,在前期需要與多個(gè)微服務(wù)協(xié)同考慮,上架后也會(huì)有多個(gè)使用者,在這種復(fù)雜的狀況下需要管理微服務(wù)的全生命周期。
在規(guī)劃階段提供標(biāo)準(zhǔn)元數(shù)據(jù)規(guī)范微服務(wù),在設(shè)計(jì)階段提供連接其他微服務(wù)的元數(shù)據(jù)信息,在開發(fā)階段使用元數(shù)據(jù)協(xié)助開發(fā)測(cè)試。
上線后分析微服務(wù)的使用情況,并協(xié)助維護(hù)微服務(wù)的變更。最后微服務(wù)下架時(shí)將微服務(wù)的元數(shù)據(jù)存檔,并確保對(duì)目前體系不產(chǎn)生影響。
同時(shí)微服務(wù)的不同版本間的元數(shù)據(jù)的變化也可以做追溯和分析。
最后,未來元數(shù)據(jù)將是連接業(yè)務(wù),數(shù)據(jù)與服務(wù)的企業(yè)核心基礎(chǔ)設(shè)施,可擴(kuò)展的元數(shù)據(jù)架構(gòu)也能夠產(chǎn)生更多更有價(jià)值的應(yīng)用場(chǎng)景。
今天的分享就到這里,謝謝大家,也歡迎大家提出問題。
Q1:談?wù)勀鷮?duì)于基于元數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化文檔編寫、ETL設(shè)計(jì)、調(diào)度設(shè)計(jì)、測(cè)試設(shè)計(jì)、數(shù)據(jù)質(zhì)量管控和業(yè)務(wù)監(jiān)控的可行性、難點(diǎn)和思路?目前我正在設(shè)計(jì)這塊的東西。
王軒:我覺得這個(gè)問題蠻好,也是我們思考很久的問題。
其中難度在于如何收集更多的元數(shù)據(jù),同時(shí)能夠用自動(dòng)化的手段和工具緊密結(jié)合。
比如,ETL設(shè)計(jì),很多ETL是重復(fù)性的,如何能夠通過一定規(guī)則自動(dòng)生產(chǎn)ETL任務(wù),我們有了一系列的方法,不過支持的工具的類型有限制。
比如數(shù)據(jù)質(zhì)量管控,其中很明顯的是能夠用元數(shù)據(jù)的血統(tǒng)分析,獲得問題數(shù)據(jù)的源頭,但是這還不夠,是不是能夠自動(dòng)形成數(shù)據(jù)質(zhì)量檢核方法? 和業(yè)務(wù)元數(shù)據(jù)結(jié)合,就能夠自動(dòng)生成一部分檢核方法。
Q2:對(duì)元模型的圖看不清,能不能額外講解下?怎么實(shí)現(xiàn)多表的元元模型?謝謝
王軒:其實(shí)遵照規(guī)范,是有很多表,在這里需要做一定的簡(jiǎn)化,實(shí)現(xiàn)需要的就可以了。
Q3:想了解一下你們用什么存儲(chǔ)元數(shù)據(jù)?
王軒:目前用關(guān)系數(shù)據(jù)庫存儲(chǔ),用MOF規(guī)范存儲(chǔ)元數(shù)據(jù)的限制也在這里,表間關(guān)系會(huì)很復(fù)雜,這樣就限制了存儲(chǔ)的方式。但是可以在應(yīng)用層用一些技術(shù)解決性能的問題。
Q4:元數(shù)據(jù)有很多上下游關(guān)系,這種場(chǎng)景下用關(guān)系數(shù)據(jù)庫會(huì)有性能問題嗎?
王軒:坦白的說,會(huì)有。 尤其在元數(shù)據(jù)管理大數(shù)據(jù)環(huán)境的時(shí)候。
元數(shù)據(jù)的數(shù)量級(jí)會(huì)增加,這樣就必須要解決性能問題,我們也做了很多嘗試,比如預(yù)先的匯總,預(yù)先的分析。比如,利用內(nèi)存數(shù)據(jù)庫緩存等。
現(xiàn)在也在研究用圖數(shù)據(jù)庫實(shí)現(xiàn),但還沒有加入到產(chǎn)品中。
Q5:王老師,您說元數(shù)據(jù)是數(shù)據(jù)治理的核心,那我想問個(gè)關(guān)于數(shù)據(jù)治理的問題,在數(shù)據(jù)治理中,數(shù)據(jù)標(biāo)準(zhǔn)是否可以通過元數(shù)據(jù)來落地?如果可以,能講下主要思想嗎?非常感謝!
王軒:數(shù)據(jù)標(biāo)準(zhǔn)的落地是一個(gè)非常復(fù)雜的問題,除了技術(shù)以外有很多管理和組織架構(gòu)的因素。
我們把數(shù)據(jù)標(biāo)準(zhǔn)作為一種特殊的業(yè)務(wù)元數(shù)據(jù)存儲(chǔ)在元數(shù)據(jù)中(利用可擴(kuò)展的能力)。 數(shù)據(jù)標(biāo)準(zhǔn)中的標(biāo)準(zhǔn)項(xiàng)中也有每個(gè)標(biāo)準(zhǔn)建議的字段英文。
這樣可以通過技術(shù)元數(shù)據(jù)的自動(dòng)匹配發(fā)現(xiàn)與表與數(shù)據(jù)標(biāo)準(zhǔn)的不一致的地方,從而促進(jìn)標(biāo)準(zhǔn)的落地進(jìn)程,在很多客戶那里有很好的效果。
Q6:分布式系統(tǒng)的環(huán)境下,如何有效的管理元數(shù)據(jù)? 元數(shù)據(jù)管理與主數(shù)據(jù)管理在實(shí)現(xiàn)上有什么異同點(diǎn)?
王軒:先回答第二部分問題,元數(shù)據(jù)和主數(shù)據(jù)是有很大不同,一個(gè)管理的是數(shù)據(jù)的定義,一個(gè)管理的是數(shù)據(jù)本身。但是也有統(tǒng)一的地方,都需要集中的管理。
那么前一部分問題,比如在微服務(wù)環(huán)境中的元數(shù)據(jù)是個(gè)典型的分布式系統(tǒng),我們現(xiàn)在在新一代產(chǎn)品中已經(jīng)有很好的管理方式,還是基于可擴(kuò)展的元模型,管理更多的內(nèi)容,從而實(shí)現(xiàn)更好的分析和應(yīng)用。
Q7:目前你們是基于什么樣的考量而不使用圖數(shù)據(jù)庫的呢?
王軒:我團(tuán)隊(duì)的元數(shù)據(jù)產(chǎn)品已經(jīng)發(fā)展了8年,團(tuán)隊(duì)已經(jīng)認(rèn)為可以使用圖數(shù)據(jù)庫,后續(xù)會(huì)逐步加入,在保證產(chǎn)品穩(wěn)定的基礎(chǔ)上。
講師簡(jiǎn)介:王軒,普元信息軟件產(chǎn)品部副總、大數(shù)據(jù)產(chǎn)品線總經(jīng)理,2010年加入普元,全面主持普元大數(shù)據(jù)產(chǎn)品的研發(fā)、拓展及團(tuán)隊(duì)管理工作。十年大型企業(yè)信息化架構(gòu)設(shè)計(jì)與建設(shè)經(jīng)驗(yàn),曾任中國人民銀行核心平臺(tái)架構(gòu)師。主持參與了國家開發(fā)銀行大數(shù)據(jù)項(xiàng)目、中國人民銀行軟件開發(fā)平臺(tái)、國家電網(wǎng)
云計(jì)算平臺(tái)等大型項(xiàng)目建設(shè)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:大數(shù)據(jù)治理技術(shù)核心,可擴(kuò)展的元數(shù)據(jù)架構(gòu)設(shè)計(jì)
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839319892.html