淺談SQL Server數(shù)據(jù)倉庫相關(guān)概念及構(gòu)建流程_Mssql數(shù)據(jù)庫教程
推薦:解答SQL Server 的內(nèi)存為何不斷增加當(dāng)SQL Server 數(shù)據(jù)庫引擎在 Microsoft Windows NT 或 Windows 2000 上運(yùn)行時,其默認(rèn)內(nèi)存管理行為并不是獲取特定的內(nèi)存量,而是在不產(chǎn)生多余換頁 I/O 的情況下獲取盡可能多的內(nèi)存。為此,數(shù)據(jù)庫引擎獲取盡可能多的可用內(nèi)存,同時保留足夠的可用內(nèi)存以防操作
基本概念:
1.多維數(shù)據(jù)集:多維數(shù)據(jù)集是聯(lián)機(jī)分析處理 (OLAP) 中的主要對象,是一項(xiàng)可對數(shù)據(jù)倉庫中的數(shù)據(jù)進(jìn)行快速訪問的技術(shù)。多維數(shù)據(jù)集是一個數(shù)據(jù)集合,通常從數(shù)據(jù)倉庫的子集構(gòu)造,并組織和匯總成一個由一組維度和度量值定義的多維結(jié)構(gòu)。
2.維度:是多維數(shù)據(jù)集的結(jié)構(gòu)性特性。它們是事實(shí)數(shù)據(jù)表中用來描述數(shù)據(jù)的分類的有組織層次結(jié)構(gòu)(級別)。這些分類和級別描述了一些相似的成員集合,用戶將基于這些成員集合進(jìn)行分析。
3.度量值:在多維數(shù)據(jù)集中,度量值是一組值,這些值基于多維數(shù)據(jù)集的事實(shí)數(shù)據(jù)表中的一列,而且通常為數(shù)字。此外,度量值是所分析的多維數(shù)據(jù)集的中心值。即,度量值是最終用戶瀏覽多維數(shù)據(jù)集時重點(diǎn)查看的數(shù)字?jǐn)?shù)據(jù)。您所選擇的度量值取決于最終用戶所請求的信息類型。一些常見的度量值有 sales、cost、expenditures 和 production count 等。
4.元數(shù)據(jù):不同 OLAP 組件中的數(shù)據(jù)和應(yīng)用程序的結(jié)構(gòu)模型。元數(shù)據(jù)描述 OLTP 數(shù)據(jù)庫中的表、數(shù)據(jù)倉庫和數(shù)據(jù)集市中的多維數(shù)據(jù)集這類對象,還記錄哪些應(yīng)用程序引用不同的記錄塊。
5.級別:級別是維度層次結(jié)構(gòu)的一個元素。級別描述了數(shù)據(jù)的層次結(jié)構(gòu),從數(shù)據(jù)的最高(匯總程度最大)級別直到最低(最詳細(xì))級別。
6.數(shù)據(jù)挖掘:數(shù)據(jù)挖掘使您得以定義包含分組和預(yù)測規(guī)則的模型,以便應(yīng)用于關(guān)系數(shù)據(jù)庫或多維 OLAP 數(shù)據(jù)集中的數(shù)據(jù)。之后,這些預(yù)測模型便可用于自動執(zhí)行復(fù)雜的數(shù)據(jù)分析,以找出幫助識別新機(jī)會并選擇有獲勝把握的機(jī)會的趨勢。
7.多維 OLAP (MOLAP):MOLAP 存儲模式使得分區(qū)的聚合和其源數(shù)據(jù)的復(fù)本以多維結(jié)構(gòu)存儲在分析服務(wù)器計(jì)算機(jī)上。根據(jù)分區(qū)聚合的百分比和設(shè)計(jì),MOLAP 存儲模式為達(dá)到最快查詢響應(yīng)時間提供了潛在可能性。總而言之,MOLAP 更加適合于頻繁使用的多維數(shù)據(jù)集中的分區(qū)和對快速查詢響應(yīng)的需要。
8.關(guān)系 OLAP (ROLAP):ROLAP 存儲模式使得分區(qū)的聚合存儲在關(guān)系數(shù)據(jù)庫的表(在分區(qū)數(shù)據(jù)源中指定)中。但是,可為分區(qū)數(shù)據(jù)使用 ROLAP 存儲模式,而不在關(guān)系數(shù)據(jù)庫中創(chuàng)建聚合。
9.混合 OLAP (HOLAP):HOLAP 存儲模式結(jié)合了 MOLAP 和 ROLAP 二者的特性。
10.粒度:數(shù)據(jù)匯總的層次或深度。
11.聚合|聚集:聚合是預(yù)先計(jì)算好的數(shù)據(jù)匯總,由于在問題提出之前已經(jīng)準(zhǔn)備了答案,聚合可以改進(jìn)查詢響應(yīng)時間。
12.切塊:由多個維的多個成員限定的分區(qū)數(shù)據(jù),稱為一個切塊。
13.切片:由一個維的一個成員限定的分區(qū)數(shù)據(jù),稱為一個切片。
14.數(shù)據(jù)鉆取:最終用戶從常規(guī)多維數(shù)據(jù)集、虛擬多維數(shù)據(jù)集或鏈接多維數(shù)據(jù)集中選擇單個單元,并從該單元的源數(shù)據(jù)中檢索結(jié)果集以獲得更詳細(xì)的信息,這個操作過程就是數(shù)據(jù)鉆取。
15.數(shù)據(jù)挖掘模型:數(shù)據(jù)挖掘使您得以定義包含分組和預(yù)測規(guī)則的模型,以便應(yīng)用于關(guān)系數(shù)據(jù)庫或多維 OLAP 數(shù)據(jù)集中的數(shù)據(jù)。之后,這些預(yù)測模型便可用于自動執(zhí)行復(fù)雜的數(shù)據(jù)分析,以找出幫助識別新機(jī)會并選擇有獲勝把握的機(jī)會的趨勢。
實(shí)例構(gòu)建過程與分析
1.現(xiàn)在以一個比較簡單的實(shí)例來分析和探討MS SQL SERVER 數(shù)據(jù)倉庫的構(gòu)建過程。實(shí)際上數(shù)據(jù)倉的構(gòu)建是相當(dāng)復(fù)雜的,他結(jié)合了數(shù)據(jù)倉庫的前端技術(shù)和很強(qiáng)的業(yè)務(wù)要求。在這兒只是以一個簡單的實(shí)例來說明他大致的構(gòu)建流程。
2.構(gòu)建數(shù)據(jù)倉庫模型,他包括兩部分,一是要考慮原來的數(shù)據(jù)源能夠提供哪些有用的數(shù)據(jù),也就是經(jīng)過數(shù)據(jù)的篩選之后能夠?yàn)閿?shù)據(jù)倉庫所用。二是要看公司業(yè)務(wù)層需要什么樣的分析結(jié)果。這要和公司的高級決策層緊密配合,完全了解他的業(yè)務(wù)需求,因?yàn)閿?shù)據(jù)倉庫的使用者主要是公司的高級決策者。
在這一階段要做好很多前期的工作,因?yàn)槟愕脑紨?shù)據(jù)庫中的數(shù)據(jù)也許和你的正要建立的數(shù)據(jù)倉庫的需求也許有很大的出入,結(jié)構(gòu)完全是兩馬事。你如何才能將你的原始數(shù)據(jù)提取出來,作為數(shù)據(jù)倉庫的有用數(shù)據(jù)呢,你的原始數(shù)據(jù)庫中存儲的是零碎的事務(wù)數(shù)據(jù),而你的數(shù)據(jù)倉庫中要的是經(jīng)過轉(zhuǎn)化和提煉過的統(tǒng)計(jì)數(shù)據(jù),比如說,你的原始數(shù)據(jù)庫中存儲這每天的所有存款和取款記錄,而你的數(shù)據(jù)倉庫并不關(guān)心你的每條記錄的數(shù)據(jù),而是希望在最短的時間內(nèi),以最快的速度統(tǒng)計(jì)出這個月的所有存款和取款的總數(shù)量,如果這種查詢放在原來的數(shù)據(jù)庫上來做的話,也就失去了數(shù)據(jù)倉庫的意義,超大規(guī)模的數(shù)據(jù)使你無法查詢下去,這時候你就要將對這個查詢有意義的數(shù)據(jù)轉(zhuǎn)化到數(shù)據(jù)倉庫,這就是數(shù)據(jù)清洗,即ETL。實(shí)現(xiàn)數(shù)據(jù)清洗有很多的方法,也有很多的細(xì)節(jié)問題,比如,數(shù)據(jù)類型的匹配,數(shù)據(jù)格式的轉(zhuǎn)換,異地?cái)?shù)據(jù)表數(shù)據(jù)集中到一起時有主鍵重復(fù),以及你如何定期,按時的將數(shù)據(jù)加工到數(shù)據(jù)倉庫中來等等。在我的示例中沒有嚴(yán)格的經(jīng)過著一步,因?yàn)槲覜]有規(guī)范的原始數(shù)據(jù)庫,也沒有規(guī)范的業(yè)務(wù)需求。我只是運(yùn)用星型模型和雪花模型做了幾個典型的數(shù)據(jù)倉庫表。其表關(guān)系如下:
窗口中FACT為事實(shí)表,TIME,ADDRESS,DETAIL分別為時間維,地址維,詳細(xì)地址維,DETAIL又是ADDRESS的子維。他們又構(gòu)成雪花模型。其中都有部分?jǐn)?shù)據(jù)。
現(xiàn)在,數(shù)據(jù)倉庫已經(jīng)建立成功,下一步就是在OLAP服務(wù)器上建立元數(shù)據(jù)數(shù)據(jù)庫。這個數(shù)據(jù)庫和我們以前所說的數(shù)據(jù)庫不同,他是存放元數(shù)據(jù)的數(shù)據(jù)庫,比如我們下一步要創(chuàng)建的多維數(shù)據(jù)集、角色、數(shù)據(jù)源、共享維度和挖掘模型等。然后需要和早期在 ODBC 數(shù)據(jù)源管理器中建立的數(shù)據(jù)源連接,使其與數(shù)據(jù)倉庫連接上。這些工作做好了之后,就可以用數(shù)據(jù)倉庫中的維表來建立共享維度,現(xiàn)在以時間維和地址維為例。其創(chuàng)建過程一樣。依此點(diǎn)下一步即可創(chuàng)建時間維(TIME),下面用ADDRESS和DETAIL建立雪花模型共享維度,點(diǎn)下一步即可創(chuàng)建DETAIL維。創(chuàng)建完成之后都要進(jìn)行處理才能生效。維度創(chuàng)建好了之后就該創(chuàng)建多維數(shù)據(jù)集了。多維數(shù)據(jù)集是一種基于維表和事實(shí)表的數(shù)據(jù)集,以他來對數(shù)據(jù)倉庫進(jìn)行快速的訪問。我們的多維數(shù)據(jù)集結(jié)構(gòu)如下:
DETAIL(SREET)
DETAIL(MARK)
ADDRESS(PROVINCE,CITY)
TIME(YEAR,DAY)
到現(xiàn)在一個簡單的數(shù)據(jù)倉庫架構(gòu)已經(jīng)建立成功,我們利用前端分析工具來對建立的數(shù)據(jù)倉庫做查詢,看能否實(shí)現(xiàn)我們的簡單的業(yè)務(wù)要求,先以EXCEL作為查詢工具。我們除了用EXCEL,ENGLISH QUERY 等現(xiàn)成工具做查詢外,還可以用MDX函數(shù)直接對OLAP做查詢
到現(xiàn)在為止,一個簡單的數(shù)據(jù)倉庫已經(jīng)創(chuàng)建成功,可以實(shí)現(xiàn)一些簡單的業(yè)務(wù)查詢。這個實(shí)例主要是分析數(shù)據(jù)倉庫的創(chuàng)建過程以及進(jìn)一步加深對數(shù)據(jù)倉庫的認(rèn)識和了解,進(jìn)一步理解其中的基本概念。
分享:怎樣從SQL Server備份文件導(dǎo)入現(xiàn)存數(shù)據(jù)庫SQL Server本身有數(shù)據(jù)導(dǎo)入的操作。但如果要從一個備份的文件中導(dǎo)入數(shù)據(jù),則要進(jìn)行另外的操作。下面以一個例子進(jìn)行說明。 SQL Server服務(wù)器上已有一個DOE數(shù)據(jù)庫,并且里面有大量的數(shù)據(jù),現(xiàn)準(zhǔn)備從另外一個備份文件A1.BAK(不是DOE數(shù)據(jù)庫的備份文件)中導(dǎo)入另外的
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實(shí)例詳解
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-淺談SQL Server數(shù)據(jù)倉庫相關(guān)概念及構(gòu)建流程
。