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