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