數(shù)據(jù)治理:數(shù)據(jù)集成和應(yīng)用模式的演進(jìn)
在企業(yè)數(shù)據(jù)集成領(lǐng)域,已經(jīng)有了很多成熟的框架可以利用,不同的使用場(chǎng)景下,應(yīng)該選用不同的應(yīng)用模式。目前數(shù)據(jù)集成的主要應(yīng)用模式有以下幾種:聯(lián)邦數(shù)據(jù)庫(kù)模式、基于中間件模式、主數(shù)據(jù)集成模式、數(shù)據(jù)倉(cāng)庫(kù)模式、數(shù)據(jù)湖模式,這些模式的技術(shù)著重點(diǎn)不同,但在應(yīng)用上都是解決數(shù)據(jù)交換共享和使用的問(wèn)題,以實(shí)現(xiàn)數(shù)字化企業(yè)的數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)、數(shù)據(jù)驅(qū)動(dòng)管理的目標(biāo)。
01 聯(lián)邦數(shù)據(jù)庫(kù)模式
聯(lián)邦數(shù)據(jù)庫(kù)集成模式提供了一種創(chuàng)建對(duì)數(shù)據(jù)消費(fèi)者(應(yīng)用)角度看數(shù)據(jù)集成視圖,數(shù)據(jù)邏輯看上去存在一個(gè)位置,但實(shí)際的物理位置卻可能在多個(gè)數(shù)據(jù)源中。聯(lián)邦數(shù)據(jù)庫(kù)由半自治數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)成,相互之間分享數(shù)據(jù),聯(lián)盟各數(shù)據(jù)源之間相互提供訪問(wèn)接口,同時(shí)聯(lián)盟數(shù)據(jù)庫(kù)系統(tǒng)可以是集中數(shù)據(jù)庫(kù)系統(tǒng)或分布式數(shù)據(jù)庫(kù)系統(tǒng)及其他聯(lián)邦式系統(tǒng)。
下圖是 IBM 聯(lián)邦數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),應(yīng)用程序可以使用任何受支持的接口(包括 ODBC、JDBC 或 Web 服務(wù)客戶機(jī))與聯(lián)邦服務(wù)器交互,對(duì)用戶而言無(wú)需知道數(shù)據(jù)存儲(chǔ)在哪里,無(wú)需知道數(shù)據(jù)源支持哪種 SQL 語(yǔ)言,也無(wú)需知道數(shù)據(jù)源是Oracle 9i 還是IBM的DB2??傊?,聯(lián)邦數(shù)據(jù)庫(kù)對(duì)yoghurt來(lái)說(shuō)就像是使用一個(gè)系統(tǒng)。
聯(lián)邦數(shù)據(jù)庫(kù)集成模式的優(yōu)點(diǎn)是通過(guò)統(tǒng)一的“聯(lián)邦視圖”來(lái)訪問(wèn)不同數(shù)據(jù)源,為用戶訪問(wèn)數(shù)據(jù)提供了很好的方便性,并且數(shù)據(jù)是實(shí)時(shí)的。對(duì)于及時(shí)投入生產(chǎn)要求較高的應(yīng)用,數(shù)據(jù)聯(lián)邦允許應(yīng)用直接訪問(wèn)數(shù)據(jù),而不需要耗時(shí)較長(zhǎng)的數(shù)據(jù)架構(gòu)的調(diào)整。另外,如果數(shù)據(jù)安全性要求較高的企業(yè),不允許對(duì)數(shù)據(jù)進(jìn)行復(fù)制和備份的場(chǎng)景下,數(shù)據(jù)聯(lián)邦是很好的解決方案。聯(lián)邦數(shù)據(jù)庫(kù)缺點(diǎn)也很明顯:由于訪問(wèn)數(shù)據(jù)是通過(guò)一個(gè)“聯(lián)邦”視圖來(lái)實(shí)現(xiàn)的,視圖是實(shí)時(shí)的,因此數(shù)據(jù)轉(zhuǎn)換是一個(gè)重點(diǎn),但是卻無(wú)法解決數(shù)據(jù)質(zhì)量和性能問(wèn)題。隨著企業(yè)數(shù)據(jù)量的增大,性能問(wèn)題是所有數(shù)據(jù)集成都面臨的問(wèn)題,但是由于設(shè)計(jì)思路的缺陷,數(shù)據(jù)聯(lián)邦在這方面雖有很大進(jìn)展,但是也無(wú)法和另外一些數(shù)據(jù)集成技術(shù)相比。數(shù)據(jù)質(zhì)量管控意味著數(shù)據(jù)規(guī)則的加載、數(shù)據(jù)檢驗(yàn)執(zhí)行,這也不是“聯(lián)邦”視圖解決現(xiàn)實(shí)數(shù)據(jù)集成問(wèn)題的優(yōu)先考慮的因素。這就導(dǎo)致數(shù)據(jù)聯(lián)邦模式不適用對(duì)數(shù)據(jù)質(zhì)量要求較高,需要進(jìn)行大量數(shù)據(jù)轉(zhuǎn)換、加工和場(chǎng)景,例如:數(shù)據(jù)治理、數(shù)據(jù)倉(cāng)庫(kù)等。
02 中間件數(shù)據(jù)集成模式
基于數(shù)據(jù)集成中間件的數(shù)據(jù)集成模式是數(shù)據(jù)復(fù)制的一種方式。數(shù)據(jù)集成中間件(data integration middleware)是指支持不同來(lái)源、格式和性質(zhì)的數(shù)據(jù)源進(jìn)行邏輯上或物理上有機(jī)集成,為分布、自治、異構(gòu)的數(shù)據(jù)源提供可靠轉(zhuǎn)換、加載與統(tǒng)一訪問(wèn)服務(wù)的中間件。中間件集成方法是目前比較流行的數(shù)據(jù)集成方法,中間件模式通過(guò)統(tǒng)一的全局?jǐn)?shù)據(jù)模型來(lái)訪問(wèn)異構(gòu)的數(shù)據(jù)庫(kù)、遺留系統(tǒng)、Web資源等。數(shù)據(jù)集成中間件的主要功能便是通過(guò)對(duì)不同來(lái)源、格式和特性的數(shù)據(jù)的轉(zhuǎn)換與包裝,提供統(tǒng)一的高層訪問(wèn)服務(wù),實(shí)現(xiàn)各種異構(gòu)數(shù)據(jù)源的共享。初期的數(shù)據(jù)集成中間件,主要由數(shù)據(jù)集成中央處理器(中間件)和適配器組成。中間件位于異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)(數(shù)據(jù)層) 和應(yīng)用程序(應(yīng)用層)之間,向下協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),向上為訪問(wèn)集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式和數(shù)據(jù)訪問(wèn)的通用接口。各數(shù)據(jù)源的應(yīng)用仍然完成它們的任務(wù),中間件系統(tǒng)則主要集中為異構(gòu)數(shù)據(jù)源提供一個(gè)高層次數(shù)據(jù)訪問(wèn)服務(wù)。隨著技術(shù)的發(fā)展,ETL工具發(fā)展成了數(shù)據(jù)集成中間件的主流,ETL即數(shù)據(jù)的抽取、轉(zhuǎn)換、清洗、裝載。關(guān)于ETL中間件我們下文再詳細(xì)介紹。
03 主數(shù)據(jù)應(yīng)用模式
主數(shù)據(jù)是企業(yè)各應(yīng)用系統(tǒng)之間共享的數(shù)據(jù),例如:客戶、供應(yīng)商、產(chǎn)品、員工等,它也是企業(yè)最核心的數(shù)據(jù)。主數(shù)據(jù)的集成模式本質(zhì)上是一種數(shù)據(jù)交換共享模式,旨在解決各異構(gòu)系統(tǒng)之間核心數(shù)據(jù)的一致性、正確性、完整性和及時(shí)性。
主數(shù)據(jù)集成強(qiáng)調(diào)的是單一數(shù)據(jù)視圖,通過(guò)整合多個(gè)數(shù)據(jù)源,形成主數(shù)據(jù)的單一視圖,保證單一視圖的準(zhǔn)確性、一致性以及完整性,從而提供數(shù)據(jù)質(zhì)量。統(tǒng)一業(yè)務(wù)實(shí)體的定義,簡(jiǎn)化改進(jìn)業(yè)務(wù)流程并提升業(yè)務(wù)的響應(yīng)速度。在主數(shù)據(jù)集成的應(yīng)用中,會(huì)使用到聯(lián)邦數(shù)據(jù)庫(kù)、數(shù)據(jù)接口集成和基于ESB中間件的數(shù)據(jù)集成技術(shù)等。
04 數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用模式
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)為決策支持系統(tǒng)提供支撐的數(shù)據(jù)集合,這些數(shù)據(jù)具有面向?qū)ο笮?、集成性、與時(shí)間相關(guān)性等特點(diǎn)。數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)都是從企業(yè)數(shù)據(jù)源集成過(guò)來(lái)的,不可以修改的、穩(wěn)定的數(shù)據(jù)以只讀格式保存,且不隨時(shí)間改變。
面向主題:即處于數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是按照特定的主題組織而成的,這里的主題不是具體的而是一個(gè)抽象的概念,常指企業(yè)或個(gè)人在使用數(shù)據(jù)倉(cāng)庫(kù)著重關(guān)注的方面。主題是一個(gè)抽象的概念,是較高層次上企業(yè)信息系統(tǒng)中的數(shù)據(jù)綜合、歸類并進(jìn)行分析利用的抽象。例如:財(cái)務(wù)主題、人力主題、生產(chǎn)主題等。
集成性:集成性指在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)信息并不是在各業(yè)務(wù)系統(tǒng)中簡(jiǎn)單、隨機(jī)抽取的,由于數(shù)據(jù)倉(cāng)庫(kù)間的獨(dú)立性,因此需要消除源數(shù)據(jù)中的異值。通過(guò)對(duì)分散、獨(dú)立、異構(gòu)的數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行抽取、清理、轉(zhuǎn)換和匯總便得到了數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù),這樣保證了數(shù)據(jù)倉(cāng)庫(kù)內(nèi)的數(shù)據(jù)關(guān)于整個(gè)企業(yè)的一致性。
穩(wěn)定性:即業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)總是處于不斷變化的狀態(tài),即數(shù)據(jù)為最新的狀態(tài)。相對(duì)于業(yè)務(wù)系統(tǒng)的不斷變化,數(shù)據(jù)倉(cāng)庫(kù)具有穩(wěn)定性,是指數(shù)據(jù)在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)后,數(shù)據(jù)一般用于查詢,很少會(huì)對(duì)數(shù)據(jù)進(jìn)行修改,常見(jiàn)的操作也只是進(jìn)行定期的加載和刷新。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是在對(duì)原有分散的數(shù)據(jù)庫(kù)數(shù)據(jù)抽取、數(shù)據(jù)清理的基礎(chǔ)上經(jīng)過(guò)系統(tǒng)加工、匯總和整理得到的,必須消除源數(shù)據(jù)中的不一致性,以保證數(shù)據(jù)倉(cāng)庫(kù)內(nèi)的信息是關(guān)于整個(gè)企業(yè)的一致的全局信息。
數(shù)據(jù)倉(cāng)庫(kù)是決策支持系統(tǒng)和數(shù)據(jù)(知識(shí))挖掘系統(tǒng)的基礎(chǔ),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)可信度和完整程度將直接影響后續(xù)系統(tǒng)的工作。數(shù)據(jù)倉(cāng)庫(kù)的集成方式通常是采用數(shù)據(jù)集成工具(ETL)將數(shù)據(jù)源的數(shù)據(jù)以全量或增量的方式,定期抽取到數(shù)據(jù)倉(cāng)庫(kù)中。ETL的過(guò)程就是數(shù)據(jù)集成的過(guò)程,從不同異構(gòu)數(shù)據(jù)源流向統(tǒng)一的數(shù)據(jù)倉(cāng)庫(kù),其間數(shù)據(jù)的抽取、清洗、轉(zhuǎn)換和裝載形成串行或并行的過(guò)程。
05 數(shù)據(jù)湖應(yīng)用模式
數(shù)據(jù)湖是在倉(cāng)庫(kù)概念上發(fā)展出了的新一代數(shù)據(jù)集成、管理和應(yīng)用模式。數(shù)據(jù)湖的出現(xiàn),最初就是為了補(bǔ)充數(shù)據(jù)倉(cāng)庫(kù)的缺陷和不足,為了解決數(shù)據(jù)倉(cāng)庫(kù)漫長(zhǎng)的開(kāi)發(fā)周期,高昂的開(kāi)發(fā)成本,細(xì)節(jié)數(shù)據(jù)丟失、信息孤島依然無(wú)法解決、出現(xiàn)問(wèn)題無(wú)法真正溯源等問(wèn)題。但是隨著大數(shù)據(jù)技術(shù)的發(fā)展,數(shù)據(jù)湖不斷演變,匯集了各種技術(shù),包括數(shù)據(jù)倉(cāng)庫(kù)、實(shí)時(shí)和高速數(shù)據(jù)流技術(shù)、機(jī)器學(xué)習(xí)、分布式存儲(chǔ)和其他技術(shù)。數(shù)據(jù)湖逐漸發(fā)展成為一個(gè)可以存儲(chǔ)和處理所有結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行大數(shù)據(jù)處理、實(shí)時(shí)分析和機(jī)器學(xué)習(xí)等操作的統(tǒng)一數(shù)據(jù)管理平臺(tái),為企業(yè)實(shí)現(xiàn)真正的“數(shù)據(jù)驅(qū)動(dòng)”提供完整解決方案。
與數(shù)據(jù)倉(cāng)庫(kù)不同的是,數(shù)據(jù)倉(cāng)庫(kù)在處理數(shù)據(jù)之前要先進(jìn)行數(shù)據(jù)梳理、定義數(shù)據(jù)結(jié)構(gòu)、進(jìn)行數(shù)據(jù)清洗才進(jìn)行入庫(kù)操作,而數(shù)據(jù)湖是不管“三七二十一”連上數(shù)據(jù)源就將原始數(shù)據(jù)“一鍋端過(guò)來(lái)”,這就為后續(xù)數(shù)據(jù)湖的機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘能力帶來(lái)了無(wú)限可能!在靈活性上數(shù)據(jù)湖具備天然優(yōu)勢(shì)。傳統(tǒng)的數(shù)倉(cāng),因?yàn)槟P头妒降囊?,業(yè)務(wù)不能隨便的變遷,變遷涉及到底層數(shù)據(jù)的各種變化,這導(dǎo)致了傳統(tǒng)數(shù)倉(cāng)無(wú)法支持業(yè)務(wù)的變化。
對(duì)于數(shù)據(jù)湖來(lái)說(shuō),即使像互聯(lián)網(wǎng)行業(yè)不斷有新的應(yīng)用,業(yè)務(wù)不斷發(fā)生變化,數(shù)據(jù)模型也不斷的變化,但數(shù)據(jù)依然可以非常容易的進(jìn)入數(shù)據(jù)湖,對(duì)于數(shù)據(jù)的采集、清洗、規(guī)范化的處理,完全可以延遲到業(yè)務(wù)需求的時(shí)候再來(lái)處理。這跟早期的數(shù)倉(cāng)思維就很不一樣,數(shù)據(jù)湖相對(duì)于企業(yè)來(lái)說(shuō),靈活性比較強(qiáng),能更快速的適應(yīng)上層數(shù)據(jù)應(yīng)用的變化。由于數(shù)據(jù)湖需要具備多樣數(shù)據(jù)的存儲(chǔ)和處理能力,在數(shù)據(jù)集成方面使用的技術(shù)也是多樣的,比如:基于ETL工具的結(jié)構(gòu)化數(shù)據(jù)集成,接口服務(wù)集成,文件數(shù)據(jù)集成,實(shí)時(shí)數(shù)據(jù)集成等。
寫(xiě)在最后的話
數(shù)據(jù)集成是消除企業(yè)信息孤島,實(shí)現(xiàn)數(shù)據(jù)集中共享,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)治理和數(shù)據(jù)應(yīng)用的重要手段。數(shù)據(jù)集成可以將企業(yè)本地?cái)?shù)據(jù)、云中的數(shù)據(jù)等來(lái)自不同“孤島”的數(shù)據(jù)連接起來(lái),讓數(shù)據(jù)不在孤立、相互作用,從而挖掘出更大的價(jià)值。數(shù)據(jù)集成可以讓企業(yè)的應(yīng)用、流程、系統(tǒng)、組織和人員等關(guān)鍵要素都協(xié)同起來(lái),提高企業(yè)業(yè)務(wù)效率。數(shù)據(jù)集成可以將不同類型的數(shù)據(jù)匯聚和融合起來(lái),讓業(yè)務(wù)用戶可以快速獲得有用信息進(jìn)行分析,從全局綜合的角度分析問(wèn)題,增加分析結(jié)果的準(zhǔn)確性。