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