三
數據倉庫的關鍵技術
那麼
數據倉庫都有哪些組成部分和關鍵技術呢?與關系數據庫不同
數據倉庫並沒有嚴格的數學理論基礎
它更偏向於工程
由於數據倉庫的這種工程性
因而在技術上可以根據它的工作過程分為
數據的抽取
存儲和管理
數據的表現以及數據倉庫的設計的技術咨詢四個方面
為此
我們將分別討論每一個環節
數據的抽取
數據的抽取是數據進入倉庫的入口
由於數據倉庫是一個獨立的數據環境
它需要通過抽取過程將數據從聯機事務處理系統
外部數據源
脫機的數據存儲介質中導入到數據倉庫
數據抽取在技術上主要涉及互連
復制
增量
轉換
調度和監控等幾個方面
數據倉庫的數據並不要求與聯機事務處理系統保持實時的同步
因此數據抽取可以定時進行
但多個抽取操作執行的時間
相互的順序
成敗對數據倉庫中信息的有效性則至關重要
在技術發展上
數據抽取所涉及的單個技術環節都已相對成熟
其中有一些是躲不開編程的
但整體的集成度還很不夠
目前市場上所提供的大多是數據抽取工具
這些工具通過用戶選定源數據和目標數據的對應關系
會自動生成數據抽取的代碼
但數據抽取工具支持的數據種類是有限的
同時數據抽取過程涉及數據的轉換
它是一個與實際應用密切相關的部分
其復雜性使得不可嵌入用戶編程的抽取工具往往不能滿足要求
因此
實際的數據倉庫實施過程中往往不一定使用抽取工具
整個抽取過程能否因工具的使用而納入有效的管理
調度和維護則更為重要
從市場發展來看
以數據抽取
異構互連產品為主項的數據倉庫廠商一般都很有可能被其它擁有數據庫產品的公司吞並
在數據倉庫的世界裡
它們只能成為輔助的角色
數據的存儲和管理
數據倉庫的真正關鍵是數據的存儲和管理
數據倉庫的組織管理方式決定了它有別於傳統數據庫的特性
同時也決定了其對外部數據表現形式
要決定采用什麼產品和技術來建立數據倉庫核心
則需要從數據倉庫的技術特點著手分析
數據倉庫遇到的第一個問題是對大量數據的存儲和管理
這裡所涉及的數據量比傳統事務處理大得多
且隨時間的推移而累積
從現有技術和產品來看
只有關系數據庫系統能夠擔當此任
關系數據庫經過近
年的發展
在數據存儲和管理方面已經非常成熟
非其它數據管理系統可比
目前不少關系數據庫系統已支持數據分割技術
能夠將一個大的數據庫表分散在多個物理存儲設備中
進一步增強了系統管理大數據量的擴展能力
采用關系數據庫管理數百個GB甚至到TB的數據已是一件平常的事情
一些廠商還專門考慮大數據量的系統備份問題
好在數據倉庫對聯機備份的要求並不高
數據倉庫要解決的第二個問題是並行處理
在傳統聯機事務處理應用中
用戶訪問系統的特點是短小而密集
對於一個多處理機系統來說
能夠將用戶的請求進行均衡分擔是關鍵
這便是並發操作
而在數據倉庫系統中
用戶訪問系統的特點是龐大而稀疏
每一個查詢和統計都很復雜
但訪問的頻率並不是很高
此時系統需要有能力將所有的處理機調動起來為這一個復雜的查詢請求服務
將該請求並行處理
因此
並行處理技術在數據倉庫中比以往更加重要
大家可以注意以下
在針對數據倉庫的TPC
D基准測試中
比以往增加了一個單用戶環境的測試
成為
系統功力
(QPPD)
系統的並行處理能力對QPPD的值有重要影響
目前
關系數據庫系統在並行處理方面已能做到對查詢語句的分解並行
基於數據分割的並行
以及支持跨平台多處理機的群集環境和MPP環境
能夠支持多達上百個處理機的硬件系統並保持性能的擴展能力
數據倉庫的第三個問題是針對決策支持查詢的優化
這個問題主要針對關系數據庫而言
因為其它數據管理環境連基本的通用查詢能力都還不完善
在技術上
針對決策支持的優化涉及數據庫系統的索引機制
查詢優化器
連接策略
數據排序和采樣等諸多部分
普通關系數據庫采用B樹類的索引
對於性別
年齡
地區等具有大量重復值的字段幾乎沒有效果
而擴充的關系數據庫則引入了位圖索引的機制
以二進制位表示字段的狀態
將查詢過程變為篩選過程
單個計算機的基本操作便可篩選多條記錄
由於數據倉庫中各數據表的數據量往往極不均勻
普通查詢優化器所得出得最佳查詢路徑可能不是最優的
因此
面向決策支持的關系數據庫在查詢優化器上也作了改進
同時根據索引的使用特性增加了多重索引掃描的能力
以關系數據庫建立的數據倉庫在應用時會遇到大量的表間連接操作
而連接操作對於關系數據庫來說是一件耗時的操作
擴充的關系數據庫中對連接操作可以做預先的定義
我們稱之為連接索引
使得數據庫在執行查詢時可直接獲取數據而不必實施具體的連接操作
數據倉庫的查詢常常只需要數據庫中的部分記錄
如最大的前
家客戶
等等
普通關系數據庫沒有提供這樣的查詢能力
只好將整個表的記錄進行排序
從而耗費了大量的時間
決策支持的關系數據庫在此做了改進
提供了這一功能
此外
數據倉庫的查詢並不需要像事務處理系統那樣精確
但在大容量數據環境中需要有足夠短的系統響應時間
因此
一些數據庫系統增加了采樣數據的查詢能力
在精確度允許的范圍內
大幅度提高系統查詢效率
總之
將普通關系數據庫改造成適合擔當數據倉庫的服務器有許多工作可以做
它已成為關系數據庫技術的一個重要研究課題和發展方向
可見
對於決策支持的擴充是傳統關系數據庫進入數據倉庫市場的重要技術措施
數據倉庫的第四個問題是支持多維分析的查詢模式
這也是關系數據庫在數據倉庫領域遇到的最嚴峻的挑戰之一
用戶在使用數據倉庫時的訪問方式與傳統的關系數據庫有很大的不同
對於數據倉庫的訪問往往不是簡單的表和記錄的查詢
而是基於用戶業務的分析模式
即聯機分析
如圖
所示
它的特點是將數據想象成多維的立方體
用戶的查詢便相當於在其中的部分維(稜)上施加條件
對立方體進行切片
分割
得到的結果則是數值的矩陣或向量
並將其制成圖表或輸入數理統計的算法
圖
聯機分析數據處理示意圖
關系數據庫本身沒有提供這種多維分析的查詢功能
而且在數據倉庫發展的早期
人們發現采用關系數據庫去實現這種多維查詢模式非常低效
查詢處理的過程也難以自動化
為此
人們提出了多維數據庫的概念
多維數據庫是一種以多維數據存儲形式來組織數據的數據管理系統
它不是關系型數據庫
在使用時需要將數據從關系數據庫中轉載到多維數據庫中方可訪問
采用多維數據庫實現的聯機分析應用我們稱之為MOLAP
多維數據庫在針對小型的多維分析應用有較好的效果
但它缺少關系數據庫所擁有的並行處理及大規模數據管理擴展性
因此難以承擔大型數據倉庫應用
這樣的狀態直?quot;星型模式
在關系數據庫設計中得到廣泛的應用才徹底改變
幾年前
數據倉庫專家們發現
關系數據庫若采用
星型模式
來組織數據就能很好地解決多維分析的問題
星型模式
只不過是數據庫設計中數據表之間的一種關聯形式
它的巧妙之處在於能夠找到一個固定的算法
將用戶的多維查詢請求轉換成針對該數據模式的標准SQL語句
而且該語句是最優化的
星型模式
的應用為關系數據庫在數據倉庫領域打開綠燈
采用關系數據庫實現的聯機分析應用稱為ROLAP
目前
大多數廠商提供的數據倉庫解決方案都采用ROLAP
在數據倉庫的數據存儲管理領域
從當今的技術發展來看
面向決策支持擴充的並行關系數據庫將是數據倉庫的核心
在市場上
數據庫廠商將成為數據倉庫的中堅力量
數據的表現
數據表現是數據倉庫的門面
這是一個工具廠商的天下
它們主要集中在多維分析
數理統計和數據挖掘方面
多維分析是數據倉庫的重要表現形式
由於MOLAP系統是專用的
因此
關於多維分析領域的工具和產品大多是ROLAP工具
這些產品近兩年來更加注重提供基於Web的前端聯機分析界面
而不僅僅是網上數據的發布
數理統計原本與數據倉庫沒有直接的聯系
但在實際的應用中
客戶需要通過對數據的統計來驗證他們對某些事物的假設
以進行決策
與數理統計相似
數據挖掘與數據倉庫也沒有直接的聯系
而且這個概念在現實中有些含混
數據挖掘強調的不僅僅是驗證人們對數據特性的假設
而且它更要主動地尋找並發現蘊藏在數據之中的規律
這聽起來雖然很吸引人
但在實現上卻有很大的出入
市場上許多數據挖掘工具其實不過是數理統計的應用
它們並不是真正尋找出數據的規律
而是驗證盡可能多的假設
其中包括許多毫無意義的組合
最後由人來判斷其合理性
因此
在當前的數據倉庫應用中
有效地利用數理統計就已經能夠獲得可觀的效益
數據倉庫設計的技術咨詢
在數據倉庫的實施過程中
有一些更為基本的問題需要解答
它們包括
數據倉庫提供哪些部門使用?不同的部門怎樣發揮數據倉庫的決策效益?數據倉庫需要存放哪些數據?這些數據以什麼樣的結構存放?數據從哪裡裝載?裝載的頻率多少為合適?需要購置哪些數據管理的產品和工具來建立數據倉庫?等等
這些問題依賴於特定的數據倉庫系統
屬於技術咨詢的范疇
事實上
數據倉庫決不是簡單的產品堆砌
它是綜合性的解決方案和系統工程
在數據倉庫的實施過程中
技術咨詢服務至關重要
是一個不可缺少的部分
它甚至於比購買產品更為重要
目前
數據倉庫的技術咨詢主要來自數據倉庫軟件產品的供應商和獨立的針對數據倉庫技術的咨詢公司
數據倉庫技術九十年代來的進展
年
From:http://tw.wingwit.com/Article/os/xtgl/201311/8619.html