“企業信息集成(EII):實用方式”于2005年發布,描述了一套集成不同數據源的方法論,利用了當時的先進技術,如面向服務架構(SOA)、Web Services、XML、資源描述架構(RDF)、基于XML的元數據格式以及數據提取、轉換和加載(ETL)。EII能夠基本為關系型數據元素提供統一視角,但在性能效率上缺乏能夠替代數據倉庫和多維數據庫的能力。五年之后技術已經得到了顯著提升,不僅在于對于分散數據的操作,還有簡化了單一容器下不同數據的整合,以及對數據深入挖掘的能力。
轉變了數據管理方式的技術正是虛擬化。低成本存儲、云計算、NoSQL數據庫以及Hadoop。當我們提起虛擬化時,已經遠遠超出為一臺物理機器提供一套軟件實例這一概念。時至今日,我們可以虛擬化服務器、存儲以及網絡。所有這些虛擬化意味著我們不再被這些物理條件所限制,能夠迅速構建物理環境以支持我們特定時刻的特定需求。當面對Gb、Tb、Pb等級數據量的處理需求時,我們基本能擺脫結構化的數據倉庫。我們不在需要僅僅為了發掘業務的某一方面而建立一個特殊的環境了。
低成本存儲在業務的數據存儲方面節省了開支。高昂的存儲成本會使得企業尋找在限定規模的數據之上進行關鍵業務分析的方案,這樣使得如何選擇最重要的數據變得十分關鍵,而且還限制了系統能夠處理的數據的質量。
負面影響便是業務最終可能面臨很少的選擇,因為沒有足夠的歷史數據提供從而識別一個有效關鍵模式。或者因為高昂的投入使得業務被停止,而使用常規慣例來識別模式。
云計算為那些需要通過海量數據源在合理時間范圍內產生結果的需求提供了一個可用的方式。海量數據處理需要兩點:彈性存儲,CPU。高速網絡很有幫助,但是待會我們會看到在發掘軟件在處理海量數據時,它并非是系統的瓶頸。彈性存儲意味著企業不會在期望操作的數據規模或類型上受到限制,降低了使用數據倉庫無法獲取最佳結果的風險。更多的CPU使得結果能夠在期望的時間范圍內更快的被交付。
NoSQL提供了海量數據的支持,但與傳統的關系型數據庫沒有關聯。而且大部分NoSQL數據庫是開源的,無須支付購買證書等費用。NoSQL對于表結構有著驚人的靈活性,無須隨著系統的改進而不斷修改完善定義。NoSQL可以支持不同數據源的合并查看,從而成為EII之后另一個備選方案,這或許是NoSQL最重要的方面了。
NoSQL內置了數據冗余與分布式數據存儲機制。海量數據的最大問題之一就是磁盤讀寫,NoSQL通過將數據分布至一系列節點來緩解這個問題。當一個查詢請求發出時,這些節點能夠并行查詢自身節點,而不是僅僅依靠一塊磁盤,一個磁盤陣列或一條網絡連接等,數據查詢能夠在節省了讀寫開支之后變得更加迅速。
最終,我們來討論Hadoop,集合了上述所有技術力量與一身的用于檢測和分析數據的框架。有些人可能認為Hadoop是一項NoSQL技術,實際上Hadoop是一個分布組件的java框架,用于分解“吃大象”(此處也雙關Hadoop是以創立者的兒子給自己的一個大象玩具起的名字)的工作——每次一口。
Hadoop自身實際上與待處理數據是各自獨立的。它將大型查詢任務分解為小的并行查詢任務,然后收集結果,并整合出答案返回給用戶。Hadoop相對于NoSQL來說是一個并行查詢框架,通過云計算驅動節點,運行在低成本存儲及虛擬化技術之上。
Kicking的知識回顧
當EII第一次作為最佳實踐出現于2003-2004年,關鍵要素就是無需再移動數據了。當時大部分的數據中心仍然運行于低速網絡中,有限的空間用于復制數據。之后,EII成為了當時可用技術和問題域中最優秀的解決方案。EII的某些方面的優秀即使在海量數據中也是很顯著的。
EII的優點之一就是將處理過程轉移到數據所在地。海量數據方案的關鍵架構要素之一就是將處理過程轉移到數據所在地,而不是轉移數據。EII中的一個重要原則就是使用數據歸屬地的查詢功能。這項實踐就是構建靠近數據源網絡的Web Service,能夠建立起通用查詢接口,但只針對本地數據庫進行查詢。我們通過開放的基于Web的接口解決了數據的專有格式的問題,從而使得多個數據子集能夠迅速的整合并以統一模式展示。
有了低成本存儲和10G網絡之后,我們就不必那么擔心數據冗余與數據遷移,但還是有其他問題存在的,數據倉庫無法確保數據的原始性便是其中之一。在EII中,我們將從原始數據源獲取數據視為“黃金準則”,這樣就能夠保證信息未被修改過,且是準確的。
Big Data要求數據必須轉移到新的物理位置,這樣可信任度又成為了問題。EII的那些獲取基線數據的最佳實踐仍然是相關而且重要的。實際上,那些為EII設計開發的Web Services接口最終在Big Data的啟用中扮演主要角色。
當然,討論數據管理不能不涉及到安全問題。EII在安全領域中還是超過了Big Data。技術上來說,Big Data在數據集成方面更加高效與敏捷,但是大部分缺少了固有的安全性,因為在設計上會加大處理的難度。所以,可能要由源系統來擔任起數據訪問安全方面的責任。因為EII直接在源系統中查詢數據,所以必須要求有適當的授權,否則查詢就將失敗。
上述關于安全討論描述的是內在的安全控制情況。將訪問權限控制列表集成進數據庫是非常合理的,這將確保安全能夠作為查詢的一部分進行維護。然后,一旦能夠直接查詢NoSQL數據源,就意味著能夠自由的訪問你所有的數據。
總結
引用老的Virginia Slims的廣告中的臺詞:“我們已經歷很長的路途了,寶貝兒!”文中討論到的技術的發展已經對21世紀第二個10年中的的數據解決方案產生了巨大的影響。商業化與小型化掃除了一些思想體系上的障礙,使得架構師能夠專注于問題本身,而不是尋找一些實用及可實現的問題解決方案。構建10000個節點的處理引擎,能夠在數秒內處理Pb級別的數據量,卻只消耗每小時幾便士,這就是數據處理的美好前景。
有了這些新工具,我們就要重新考慮如何推進數據管理。為何數據無法被很好地被維護整合,并且需要花費數萬美元。數據管理幾乎是每個大中型企業的心病。數據管理曾經在存儲、管理、訪問、整合以及查詢上花費巨大,但是今后不再會是這樣了。
關于作者
JP Morgenthal 是在IT策略與云計算方面的世界級專家之一。他在企業復雜問題域的解決方案實施上有著25年的經驗。JP Morgenthal以其在技術方面的深度和廣度,有利的支持他在企業問題域中的敏感度。他在集成、軟件開發和云計算是一位讓人尊敬的作者,同時也是InfoQ在引領云計算方面的編輯,并且參與了“云計算:評估風險”項目。
原文鏈接:http://www.infoq.com/articles/DataIntegrationFromEIItoBigData