SQL Server資料倉儲的構建與分析

binggeixu發表於2007-03-06
  【IT168 伺服器學院】(一)基本概念:
  
1.多維資料集:多維資料集是聯機分析處理 (OLAP) 中的主要物件,是一項可對資料倉儲中的資料進行快速訪問的技術。多維資料集是一個資料集合,通常從資料倉儲的子集構造,並組織和彙總成一個由一組維度和度量值定義的多維結構。
  
  2.維度:是多維資料集的結構性特性。它們是事實資料表中用來描述資料的分類的有組織層次結構(級別)。這些分類和級別描述了一些相似的成員集合,使用者將基於這些成員集合進行分析。
  
  3.度量值:在多維資料集中,度量值是一組值,這些值基於多維資料集的事實資料表中的一列,而且通常為數字。此外,度量值是所分析的多維資料集的中心值。即,度量值是終端使用者瀏覽多維資料集時重點檢視的數字資料。您所選擇的度量值取決於終端使用者所請求的資訊型別。一些常見的度量值有 sales、cost、expenditures 和 production count 等。
  
  4.後設資料:不同 OLAP 元件中的資料和應用程式的結構模型。後設資料描述 OLTP 資料庫中的表、資料倉儲和資料集市中的多維資料集這類物件,還記錄哪些應用程式引用不同的記錄塊。
  
  5.級別:級別是維度層次結構的一個元素。級別描述了資料的層次結構,從資料的最高(彙總程度最大)級別直到最低(最詳細)級別。
  
  6.資料探勘:資料探勘使您得以定義包含分組和預測規則的模型,以便應用於關聯式資料庫或多維 OLAP 資料集中的資料。之後,這些預測模型便可用於自動執行復雜的資料分析,以找出幫助識別新機會並選擇有獲勝把握的機會的趨勢。
  
  7.多維 OLAP (MOLAP):MOLAP 儲存模式使得分割槽的聚合和其源資料的複本以多維結構儲存在分析伺服器計算機上。根據分割槽聚合的百分比和設計,MOLAP 儲存模式為達到最快查詢響應時間提供了潛在可能性。總而言之,MOLAP 更加適合於頻繁使用的多維資料集中的分割槽和對快速查詢響應的需要。
  
  8.關係 OLAP (ROLAP):ROLAP 儲存模式使得分割槽的聚合儲存在關聯式資料庫的表(在分割槽資料來源中指定)中。但是,可為分割槽資料使用 ROLAP 儲存模式,而不在關聯式資料庫中建立聚合。
  
  9.混合 OLAP (HOLAP):HOLAP 儲存模式結合了 MOLAP 和 ROLAP 二者的特性。
  
  10.粒度:資料彙總的層次或深度。
  
  11.聚合|聚集:聚合是預先計算好的資料彙總,由於在問題提出之前已經準備了答案,聚合可以改進查詢響應時間。
  
  12.切塊:由多個維的多個成員限定的分割槽資料,稱為一個切塊。
  
  13.切片:由一個維的一個成員限定的分割槽資料,稱為一個切片。
  
  14.資料鑽取:終端使用者從常規多維資料集、虛擬多維資料集或連結多維資料集中選擇單個單元,並從該單元的源資料中檢索結果集以獲得更詳細的資訊,這個操作過程就是資料鑽取。
  
  15.資料探勘模型:資料探勘使您得以定義包含分組和預測規則的模型,以便應用於關聯式資料庫或多維 OLAP 資料集中的資料。之後,這些預測模型便可用於自動執行復雜的資料分析,以找出幫助識別新機會並選擇有獲勝把握的機會的趨勢。
  
  (二)例項構建過程與分析
  1.現在以一個比較簡單的例項來分析和探討MS SQL SERVER 資料倉儲的構建過程。實際上資料倉的構建是相當複雜的,他結合了資料倉儲的前端技術和很強的業務要求。在這兒只是以一個簡單的例項來說明他大致的構建流程。
  
  2.構建資料倉儲模型,他包括兩部分,一是要考慮原來的資料來源能夠提供哪些有用的資料,也就是經過資料的篩選之後能夠為資料倉儲所用。二是要看公司業務層需要什麼樣的分析結果。這要和公司的高階決策層緊密配合,完全瞭解他的業務需求,因為資料倉儲的使用者主要是公司的高階決策者。
  
  在這一階段要做好很多前期的工作,因為你的原始資料庫中的資料也許和你的正要建立的資料倉儲的需求也許有很大的出入,結構完全是兩馬事。你如何才能將你的原始資料提取出來,作為資料倉儲的有用資料呢,你的原始資料庫中儲存的是零碎的事務資料,而你的資料倉儲中要的是經過轉化和提煉過的統計資料,比如說,你的原始資料庫中儲存這每天的所有存款和取款記錄,而你的資料倉儲並不關心你的每條記錄的資料,而是希望在最短的時間內,以最快的速度統計出這個月的所有存款和取款的總數量,如果這種查詢放在原來的資料庫上來做的話,也就失去了資料倉儲的意義,超大規模的資料使你無法查詢下去,這時候你就要將對這個查詢有意義的資料轉化到資料倉儲,這就是資料清洗,即ETL。實現資料清洗有很多的方法,也有很多的細節問題,比如,資料型別的匹配,資料格式的轉換,異地資料表資料集中到一起時有主鍵重複,以及你如何定期,按時的將資料加工到資料倉儲中來等等。在我的示例中沒有嚴格的經過著一步,因為我沒有規範的原始資料庫,也沒有規範的業務需求。我只是運用星型模型和雪花模型做了幾個典型的資料倉儲表。其表關係如下:
  
  視窗中FACT為事實表,TIME,ADDRESS,DETAIL分別為時間維,地址維,詳細地址維,DETAIL又是ADDRESS的子維。他們又構成雪花模型。其中都有部分資料。
  
  3現在,資料倉儲已經建立成功,下一步就是在OLAP伺服器上建立後設資料資料庫。這個資料庫和我們以前所說的資料庫不同,他是存放後設資料的資料庫,比如我們下一步要建立的多維資料集、角色、資料來源、共享維度和挖掘模型等。然後需要和早期在 ODBC 資料來源管理器中建立的資料來源連線,使其與資料倉儲連線上。
  
  我建立了資料庫MMM和資料來源TEST,如下:
  
  這些工作做好了之後,就可以用資料倉儲中的維表來建立共享維度,現在以時間維和地址維為例。其建立過程一樣。
  
  依此點下一步即可建立時間維(TIME),下面用ADDRESS和DETAIL建立雪花模型共享維度
  
  點下一步即可建立DETAIL維。建立完成之後都要進行處理才能生效
  
  維度建立好了之後就該建立多維資料集了。多維資料集是一種基於維表和事實表的資料集,以他來對資料倉儲進行快速的訪問。我們的多維資料集結構如下:
  
  DETAIL(SREET)
  
  DETAIL(MARK)
  
  ADDRESS(PROVINCE,CITY)
  
  TIME(YEAR,DAY)
  
  多維資料集STUDY的建立過程如下:
  
  點下一步即可建立成功(STUDY),處理如下:
  
  緊接著我門就應該建立挖掘模型
  
  完成後處理如下:
  
  到現在一個簡單的資料倉儲架構已經建立成功,我們利用前端分析工具來對建立的資料倉儲做查詢,看能否實現我們的簡單的業務要求,先以EXCEL作為查詢工具:
  
  我們除了用EXCEL,ENGLISH QUERY 等現成工具做查詢外,還可以用MDX函式直接對OLAP做查詢
  
  到現在為止,一個簡單的資料倉儲已經建立成功,可以實現一些簡單的業務查詢。這個例項主要是分析資料倉儲的建立過程以及進一步加深對資料倉儲的認識和了解,進一步理解其中的基本概念。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/554469/viewspace-903106/,如需轉載,請註明出處,否則將追究法律責任。

相關文章