天天看點

《資料虛拟化:商務智能系統的資料架構與管理》一 1.7 資料虛拟化的技術優勢

在大多數情況下,直接擷取一個資料存儲區對于資料使用者來說是很容易的。例如,如果通路SQL資料庫中的一個表,資料使用者提供使用者ID和密碼,資料庫的名稱,以及一些其他的技術詳細資訊,它就可以立即通過SQL語句通路資料。這同樣适用于資料使用者需要通路XML文檔或電子表格的情形。

如果通路資料存儲如此容易,那麼為什麼還需要資料虛拟化呢?用資料虛拟化層提供大量的技術優勢,這些優勢分成了三個組。如果使用者僅僅通路一個資料存儲,那麼可以應用第一組的優勢:

資料庫語言和API轉換:也許資料存儲庫提供的資料庫語言和API對資料使用者來說是不理想的,或許不是他們支援的語言。也許資料庫伺服器通過JDBC API來支援SQL,但資料使用者更喜歡使用MDX、XQuery、CQL語言或一組Java類。資料虛拟化層可以将資料存儲支援的語言和API轉換為對消費者便利的語言和API。

資料存儲獨立性:很多SQL資料庫伺服器支援SQL标準,意味着它們都實作了類似的SQL語言。但是,差異仍然存在。如果需要,資料虛拟化可以隐藏這些差異,可以用另一個伺服器來代替目前的資料庫伺服器。如果正在使用的資料庫伺服器太貴、太慢,或者不夠安全,那麼這就是必要的。也可能是非基于SQL(non-SQL-based)的資料存儲需要替換為基于SQL(SQL-based)的資料存儲。再者,如果資料虛拟化得當,這将不是困難。資料虛拟化使資料使用者獨立于特定的資料存儲技術,使資料使用者更加友善。在恰當的時間使用恰當的資料存儲技術将會讓工作變得更加容易。

最小資料存儲幹擾:資料使用者可能對它通路的資料存儲産生幹擾(或工作承載競争)。它的查詢可能是資源密集型,以至于其他資料使用者的體驗性能退化。大多數資料虛拟化産品提供緩存機制。如果開啟此機制,資料虛拟化層将儲存資料存儲中資料的一個副本并管理它。這樣,資料使用者将通路緩存中的資料而不是資料存儲中的資料,是以最小化了對源資料存儲的幹擾。

總結來說,資料虛拟化簡化了應用程式開發,因為它減少了以正确方法和格式通路必要資料所需的代碼量(如圖1-4所示)。

《資料虛拟化:商務智能系統的資料架構與管理》一 1.7 資料虛拟化的技術優勢

第二組優勢與中繼資料規範有關,例如表格結構、轉換和清洗操作、聚合,等等。當使用資料虛拟化時,中繼資料規範隻需要實作一次,且沒有必要把它們複制給多個資料使用者。換句話說,資料使用者共享和重複使用這些規範。

簡化表格結構:資料存儲中實作的表格結構可能是複雜的,這使得資料使用者通路資料變得困難。複雜的表格結構導緻檢索資料的查詢變得複雜,也使應用程式的開發變得複雜。使用資料虛拟化可以定義一個從複雜表結構到更簡單适用的表結構的轉換。這是通過中繼資料規範完成的,中繼資料規範僅定義一次,且可以被多個資料使用者使用。這個更簡單的結構簡化了應用程式的開發和維護。

集中式資料轉換:資料存儲中的特殊資料值可能有一些不适合使用者的格式。假設所有使用者都喜歡以純數字處理電話号碼,而不是區号和使用者号以破折号分隔開的形式。資料虛拟化層可以實作這一轉換,并且所有的資料使用者都可以使用。這些轉換規範被視作中繼資料規範。

集中式資料清洗:資料存儲中的一些資料值可能是不正确的。假設一個表格中的Gender一列包含三種不同的值來指代Female,這種情況下,所有的通路這些資料值的使用者都不得不加上轉換這些錯誤值為正确值的代碼。如果這個轉換在資料虛拟化層進行,并且隻向資料使用者顯示正确的值,這将會更好。這個解決方案比将資料清洗規則複制給所有資料使用者的方案好。

如果很多資料使用者使用相同的資料虛拟化層,它們共享相同的中繼資料規則(如圖1-5所示)。這簡化了應用程式開發,并且帶來更一緻的應用行為和更一緻的結果。

《資料虛拟化:商務智能系統的資料架構與管理》一 1.7 資料虛拟化的技術優勢

第三組優勢涉及內建來自多個資料存儲的資料。

統一的資料通路:不同的資料存儲可能使用不同的存儲格式。例如,有些資料可能存儲在非處理SQL的資料庫中;有些在Excel電子表格中;有些在索引順序檔案中;有些在NoSQL資料庫中,如Hadoop和MongoDB;有些在比SQL支援更多其他資料庫語言的資料庫中;有些在XML檔案中;有些甚至隐藏在基于HTML的網頁中。資料虛拟化層可以提供一個統一的API和資料庫語言去通路所有這些不同的存儲格式,是以簡化了資料使用者的資料通路。它們僅需要支援一種語言和一種API。

集中式資料內建:如果多個資料使用者通路多個資料存儲,每一個資料使用者都得包含負責內建這些資料存儲的代碼。這樣的結果就是很多資料內建方案在資料使用者上重複疊加(如圖1-6所示)。資料虛拟化層集中了這些內建代碼,并且所有的資料使用者共享內建代碼。

一緻的報告結果:如果每個資料使用者都用它自己的內建方案,就很難保證資料以相同的方式和規則內建。如果這個難以保證,就會導緻資料使用者收到不同的和不一緻的結果。如果所有的內建方案由資料虛拟化層實作,那麼就增加了結果一緻的可能性。

《資料虛拟化:商務智能系統的資料架構與管理》一 1.7 資料虛拟化的技術優勢

高效分布式資料通路:當內建來自多個資料存儲的資料時,一個總是被提起的性能問題是這個內建是在哪裡及怎樣進行的:是所有的資料首先都被運到資料使用者處然後再進行內建,還是資料從一個資料存儲轉移到另一個資料存儲?其他資料存儲進行內建,還是使用一些其他的處理政策?開發者不需要考慮諸如此類的問題。是以這個任務由資料虛拟化層來完成。

所有這些優勢阻止了資料內建的中繼資料規範在多個資料使用者上重複疊加(見圖1-6)。如圖1-7所示,應用資料虛拟化集中了這些規範。

《資料虛拟化:商務智能系統的資料架構與管理》一 1.7 資料虛拟化的技術優勢