淺談SQL Server數據倉庫相關概念及構建流程_Mssql數據庫教程
推薦:解答SQL Server 的內存為何不斷增加當SQL Server 數據庫引擎在 Microsoft Windows NT 或 Windows 2000 上運行時,其默認內存管理行為并不是獲取特定的內存量,而是在不產生多余換頁 I/O 的情況下獲取盡可能多的內存。為此,數據庫引擎獲取盡可能多的可用內存,同時保留足夠的可用內存以防操作
基本概念:
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的子維。他們又構成雪花模型。其中都有部分數據。
現在,數據倉庫已經建立成功,下一步就是在OLAP服務器上建立元數據數據庫。這個數據庫和我們以前所說的數據庫不同,他是存放元數據的數據庫,比如我們下一步要創建的多維數據集、角色、數據源、共享維度和挖掘模型等。然后需要和早期在 ODBC 數據源管理器中建立的數據源連接,使其與數據倉庫連接上。這些工作做好了之后,就可以用數據倉庫中的維表來建立共享維度,現在以時間維和地址維為例。其創建過程一樣。依此點下一步即可創建時間維(TIME),下面用ADDRESS和DETAIL建立雪花模型共享維度,點下一步即可創建DETAIL維。創建完成之后都要進行處理才能生效。維度創建好了之后就該創建多維數據集了。多維數據集是一種基于維表和事實表的數據集,以他來對數據倉庫進行快速的訪問。我們的多維數據集結構如下:
DETAIL(SREET)
DETAIL(MARK)
ADDRESS(PROVINCE,CITY)
TIME(YEAR,DAY)
到現在一個簡單的數據倉庫架構已經建立成功,我們利用前端分析工具來對建立的數據倉庫做查詢,看能否實現我們的簡單的業務要求,先以EXCEL作為查詢工具。我們除了用EXCEL,ENGLISH QUERY 等現成工具做查詢外,還可以用MDX函數直接對OLAP做查詢
到現在為止,一個簡單的數據倉庫已經創建成功,可以實現一些簡單的業務查詢。這個實例主要是分析數據倉庫的創建過程以及進一步加深對數據倉庫的認識和了解,進一步理解其中的基本概念。
分享:怎樣從SQL Server備份文件導入現存數據庫SQL Server本身有數據導入的操作。但如果要從一個備份的文件中導入數據,則要進行另外的操作。下面以一個例子進行說明。 SQL Server服務器上已有一個DOE數據庫,并且里面有大量的數據,現準備從另外一個備份文件A1.BAK(不是DOE數據庫的備份文件)中導入另外的
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-淺談SQL Server數據倉庫相關概念及構建流程。