SQLSERVER数据仓库的构建与分析
實例構建過程與分析
1.現在以一個比較簡單的實例來分析和探討MS SQL SERVER 數據倉庫的構建過程。實際上數據倉的構建是相當復雜的,他結合了數據倉庫的前端技術和很強的業務要求。在這兒只是以一個簡單的實例來說明他大致的構建流程。
2.構建數據倉庫模型,他包括兩部分,一是要考慮原來的數據源能夠提供哪些有用的數據,也就是經過數據的篩選之后能夠為數據倉庫所用。二是要看公司業務層需要什么樣的分析結果。這要和公司的高級決策層緊密配合,完全了解他的業務需求,因為數據倉庫的使用者主要是公司的高級決策者。[U1]?
在這一階段要做好很多前期的工作,因為你的原始數據庫中的數據也許和你的正要建立的數據倉庫的需求也許有很大的出入,結構完全是兩馬事。你如何才能將你的原始數據提取出來,作為數據倉庫的有用數據呢,你的原始數據庫中存儲的是零碎的事務數據,而你的數據倉庫中要的是經過轉化和提煉過的統計數據,比如說,你的原始數據庫中存儲這每天的所有存款和取款記錄,而你的數據倉庫并不關心你的每條記錄的數據,而是希望在最短的時間內,以最快的速度統計出這個月的所有存款和取款的總數量,如果這種查詢放在原來的數據庫上來做的話,也就失去了數據倉庫的意義,超大規模的數據使你無法查詢下去,這時候你就要將對這個查詢有意義的數據轉化到數據倉庫,這就是數據清洗,即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做查詢
?
?
?
到現在為止,一個簡單的數據倉庫已經創建成功,可以實現一些簡單的業務查詢。這個實例主要是分析數據倉庫的創建過程以及進一步加深對數據倉庫的認識和了解,進一步理解其中的基本概念。
?[U1]Qianti
轉載于:https://www.cnblogs.com/yunhuasheng/archive/2007/03/14/674383.html
總結
以上是生活随笔為你收集整理的SQLSERVER数据仓库的构建与分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源.NET企业级应用系统 OpenVi
- 下一篇: linux cmake编译源码,linu