根據Bill Inmon對數據倉庫的概括,數據倉庫由以下幾個部分構成:數據的收集 、數據存儲和管理、聯機分析處理和決策支持開發應用環境。除各個 部分硬件平臺的選擇,對數據倉庫的基礎設施的選擇,也就是對以下四個部分各種軟件的選擇。
1、數據的收集--數據的抽取、轉換和裝載(ETL)
數據的收集--從原有的系統中有效地、高效地抽取、凈化、轉換和裝載數據的問題,在數據倉庫的建立過程中,已變得日益突出。當數據倉庫的數據量非常大的時候,數據收集的高效性就變得更加必要,否則就會加大客戶的投資。
采用什么樣的方案來滿足ETL的要求,以支持商務和環境所要求的數據倉庫、數據庫合并和系統主題重構就成為用戶選擇的問題。
1)Programming (手工編程)
2)Program Generator(編程源)(如COBOL編程)
3)TOOL(工具)模塊化(批處理方式)如:Ardent公司的Infomoter產品
早期的ETL操作都第一種或第二種方式來實現的,現在ETL工具是數據收集的主流。現在用戶所要決策的已不再是關于技術方面的選擇,而更多是關于管理方面的選擇,如:
快捷解決方案--目的是盡可能快地獲得信息;
系統解決方案--平滑地、有效地、高效地實現ETL處理過程。
事實上,這兩個方面都很需要考慮。 在數據倉庫初始建立的時候, 或是時間緊急的項目,快速解決方案會被認為非常有效。它會作為一種嘗試或模型建立,以后便會產生出更多的系統的解決方案。所以,系統的數據抽取和轉換的方案將會適應大多數問題,如:數據質量。
以下列舉商務需求和條件的問題,會對用戶在ETL工具上的選擇提供一些幫助:
對系統數據的知識基礎是否充分;
數據抽取/裝載操作是一次完成,還是不斷/反復操作;
關注的焦點是數據內涵的質量,還是補償式的傳遞數據;
數據質量問題是特殊性的(例如是針對客戶或銷售額),還是普遍性的);
使用現成集成套件工具,還是自己有針對性的開發;
數據抽取/轉換是集中管理,還是分布管理;
數據抽取/轉換是通過參數控制,還是編程控制。
2、OLAP--聯機分析處理
OLTP系統中的數據處理是高度結構化的、復雜數據模型操作,每一次事務處理通常只涉及一兩張表,并且只對一行記錄進行操作。這說明復雜的表關系不會影響到系統的性能、DSS處理,正相反,它的一次操作要涉及幾百張表的上千行數據。在這種情況下,復雜的表連接會嚴重影響性能。所以 , 性 能 是 傳 統 的 實 體 - 關系(ER)模型不能滿足決策支持環境的重要原因之一。
第二個原因,典型的ER模式過于復雜且難以導航。在OLTP系統中,這不是一個問題,使用和訪問數據的路徑非常明了,應用可以硬編碼來使用特殊的數據結構。但在DSS環境下,數據的使用是非結構化的;用戶僅僅在分析的時候才查找有關數據,這個查找條件是隨機的。
由于傳統的數據分析軟件不適用于動態數據分析,而關系數據庫雖然具有一定的數據視圖選取和比較、綜合的能力,但它仍然受到數據分析能力局限性的制約,所以產生了一種針對特定問題的聯機數據訪問和數據分析的技術,E. F. Codd將這種技術定義為"OTAP",并定義了十二條評價OLAP產品的準則 ,即:
1)OLAP模型必須提供多維概念視圖;
2)透明性準則;
3)存取能力準則;
4)穩定的報表性能;
5)客戶/服務器體系結構;
6)維的等同性準則;
7)動態稀疏矩陣處理準則;
8)多用戶支持能力準則;
9)非受限的跨維操作;
10)直觀的數據處理;
11)靈活地生成報表;
12)非受限的維與維的層次 。
現在市場中有很多OLAP產品和工具,以多維立方體(cube)的存放(管理)在整個數據倉庫系統的位置劃分,可分為三類:
1)客戶端(MicroCube);
2)多維數據庫服務器(MDDB)(HyperCube);
3)關系數據庫服務器(ROLAP)。
第一種利用查詢工具對Cube進入管理,但這僅適用于簡單的二維查詢報告。
MDDB和ROLAP都允許用戶從多個觀察角度來定義和查詢數據,但由于ROLAP技術與關系數據庫的緊密結合,在存儲和管理能力上、在適應性方面,ROLAP要比MDDB具有更強"魯棒"性。例如:一個3×3×3的立方體,(每維有3個維成員的三維Cube),共有27個數據單元。若根據分析需要,在每一維 上 增 加 一 個 新 的 維 成 員 , 則 該 邏 輯 立 方 體 (Cube) 變成4×4×4,共64個數據單 元。所以,如果沒有很強的數據存儲和管理能力,是不能勝任和適應復雜的分析環境。
3 數據庫服務器
數據倉庫或數據集市與一般數據庫應用比較而言,在規模上和數據量上要大得多。Gartner集團的有關報告說,"數據倉庫最少也要支持幾百個用戶,查詢范圍從簡單的索引檢查到復雜的對比分析。"目前的數據倉庫的數據量已經超過了千千兆字節(TB)級。所以,關系數據庫服務器無疑是數據倉庫的核心。
在數據倉庫中數據庫的關鍵技術規納如下:
開放的動態可伸縮體系結構;
數據庫并行數據操作的能力;
對并行硬臺環境的支持能力;
針對決策支持的增強特性;
服務器的可靠性、可用性和可服務性(RAS);
新的商務邏輯的擴展性;
高度靈活性(Windows NT、UNIX);
多用戶的支持。
4 工具
實現數據倉庫的最終目的是響應用戶的要求,如資深的財務、商務分析員和行業銷售等,他們要訪問企業的分析數據或信息而作出更好的商業決策,大多數客戶不僅要求直接訪問企業數據,他們還要求在數據倉庫不斷增長的時候,減少查詢的復雜性并加快查詢的速度和分析的速度。那么什么工具能夠幫助最終用戶訪問數據呢?
電子數據表(如:Microsoft Excel)
個人數據庫(如:Lotus Approch)
查詢和報告工具(如:Brio Intelligence、Business Objects)
EIS/DSS鉆取/導航工具(如:Brio Intelligence、Coguos Powerplay)
多維分析/ROLAP(如:Informix Metacube)
(注:目前,電子數據表增長緩慢,多維分析/ROLAP日益受到青睞)
數據倉庫的訪問工具目前增長迅速,而且種類豐富。所以,用戶可根據自己的應用要求和應用展示數據的風格來選擇不同的訪問工具。因此,要求數據倉庫解決方案對訪問工具必須采取開放的策略,才能滿足用戶的真正要求。
5 數據挖掘(Data Mining)或數據庫知識發現(KDD-Knowledge Discovery Database)
現代企業總是想在保留住原有用戶的基礎上,開發新的用戶,數據倉庫已經成為這些企業的關鍵業務應用。它們利用數據倉庫在產品、價格、投資、分配等方面,基于事實而不是基于管理直覺地作出決策。但是如何從浩如煙海的企業信息資料庫中擠壓出更有價值的信息,答案就是數據挖掘。人們試圖在數據對等的、不明顯的和不可預知的模式中發現信息的模式、趨勢以及關系。有一點必須強調:數據挖掘是建立數據倉庫之上的決策技術。
對數據挖掘的定義通常是這樣的:
數據挖掘或數據庫知識發現是從數據中找出隱含的、預先未知的和潛在的有用信息的專門抽取操作。它包含大量不同的技術手段,如聚集、數據總計、學習分類規則、發現絕對工作的依賴性、分析變化和異常偵測。
下圖描述了在數據挖掘和知識發現過程中不同階段和處理的標識。
收集--根據某些標準收集或截取數據記錄。
預處理--這是數據清洗階段,在這個階段將那樣認為不必要的信息刪除,并將所需數據配制成一致的數據格式。
轉換--將數據傳輸,并轉換成帶有標識(overlay)的數據,使數據變得可用和可導航。
數據挖掘--這是從數據中做模式抽取的階段。
解決與評估--經系統標識的模式被解釋成能在將來領導決策的知識。
范疇分析支持數據挖掘的兩個主要階段:建立模型和預測未來結果。簡單的說,一個模型就是闡明輸入對輸出影響的數學公式。由于它是數學公式,所以它可以通過對基本數據不斷理解的交互處理而不斷提煉和調整,達到可以接受的精確程度。在決策過程中,決策者提出的問題千差萬別,解決問題的方法論也就各不相同,因此,可以使用很多技術建立這些模型。
統計分析--最早使用的,并且最容易理解的技術。
神經網絡--隨著近幾年人工智能工具的流行,人們試圖通過數學的方法來模仿人腦認知工作過程。
決策樹--是一種概念簡單(if-then)的數學方法。
遺傳算法--該技術來自于對微生物通過自然的選擇和遺傳的結合如何進化的研究。
模糊邏輯--簡單地說,是一種對數學公式新的理解方法。(例如,將"大約6倍的2估算為12"代替6×2=12)
基于記憶的推理(memory-Based Reasoning)--它是一種通過與已經分類的同類記錄比較,給數據庫中的記錄分類的技術。因此,它也被稱為K-最互鄰(KNN:k-newest-neightor)技術。
混合方法--將各種不同的方法按分析需要混合使用。
http://www.ibcc.com.cn/bbs/replytopic.asp?TOPIC_ID=42&replyno=3329&Forum_ID=58