微軟在2023年推出了歷時5年開發的sql server 2005。那麼sql server 2005究竟給我們帶來了什麼?
本文將介紹它在商業智慧型領域內的一項質的飛躍――搭建olap系統新方法。
在sql server 2000中,如果我們想去開發一套olap系統,我們必須按照下面這種方法來進行:
由下至上方法――從現有的關聯式資料庫開始,建立乙個基於關聯式資料庫架構的資料來源檢視,然後使用 sql server設計工具和嚮導建立基於該資料來源檢視的 analysis services 維度和多維資料集(如圖)。
在這種開發方法中,我們首先需要建立資料倉儲,在這個資料倉儲中將會包括維度表和事實表。接下來我們會按照資料倉儲來建立我們的維度和多維資料集(cube)。在這些都完成之後,我們就可以向資料倉儲中載入我們的測試資料,然後再處理我們的多維資料集,最後,我們會通過前端展現工具(如proclarity、excel等)對我們的多維資料集進行展現。
這時,問題出現了。我們往往在利用前端展現工具測試我們的多維資料集的時候,會發現我們的多維資料集構建的不夠理想,我們在構建資料倉儲的時候,經常會有很多因素沒有考慮進去,導致我們最後展現的結果不正確,然而這些因素只有在最後展現的時候才能夠發現。
我們怎麼辦?
在傳統的開發方法中,我們只能去修改我們的資料倉儲,然後再根據修改後的資料倉儲來修改維度和多維資料集,有的時候甚至需要重新建立維度和多維資料集。修改之後,我們再利用前端展示工具對多維資料集進行展現,往往我們又會有新的問題出現,我們不得不再次重複這個過程。
如此往復下去,可想而知,我們的工作量有多麼大。
在sql server 2005中,它提供給我們一種全新的建立olap系統的方法,這種方法不僅可以大幅度的降低我們的工作量,同時,對於建立乙個標準的多維資料集與標準的資料倉儲也有很大幫助。
由上而下的方法――首先使用 sql server 設計工具和嚮導設計 analysis services 維度和多維資料集,然後使用架構生成嚮導生成基於這些維度和多維資料集的資料來源檢視和基礎關聯式資料庫架構。該關聯式資料庫稱為主題區域資料庫(如圖)。
那麼,我們就來詳細講解一下這種全新的建立olap系統的方法。
在這種新的方法中,我們不再按照傳統的方法先去建立資料倉儲,而是直接去建立多維資料集。在sql server 2005中,我們完全可以在不依賴於任何資料來源的情況下,來建立我們心目中的多維資料集,我們可以在建立多維資料集的同時指定它包括的維度、量度、計算成員、kpi以及透檢視等等,同時我們也可以設定它們的屬性。
在我們將所有的維度、量度等建立完成之後,你一定會想,我們的資料倉儲怎麼辦?
sql server 2005提供了乙個非常強大的功能――生成關係架構嚮導。生成關係架構嚮導可以按照我們所設定的多維資料集中的維度和量度,自動為我們生成資料倉儲,生成資料倉儲之後我們就可以載入我們的測試資料了,然後再來處理多維資料集,最後我們就可以利用前端展現工具對我們的多維資料集進行展現。
這種方法將我們傳統的同時修改資料倉儲和多維資料集變為只修改多維資料集一部分,這樣就減少了我們的工作量。整個搭建流程的改變主要依據於sql server 2005提供的生成關係架構嚮導。
生成關係架構嚮導主要提供了以下幾項功能:
1. 指定架構所有者
您可以通過將「所屬架構」的值設定為有效字串來指定架構的所有者。架構的預設所有者為 analysis services 專案,但是您可以按照需要任意指定架構所有者。
2. 驗證
在架構生成嚮導開始生成基礎物件之前,它會驗證 analysis services 多維資料集和維度。如果該嚮導檢測到錯誤,它便會停止並將錯誤報告到 business intelligence development studio 中的「任務列表」視窗。這樣,系統可以為我們檢測到多維資料集在設計時存在的錯誤,降低系統開發的重複次數。
3. 建立維度表主鍵
架構生成嚮導會預設在主題區域資料庫內的每個維度表中建立主鍵約束。主鍵與指定為相應 analysis services維度中的鍵屬性相對應。此約束以最小的開銷提高了多數環境中的處理效能。
4. 建立索引
該嚮導會預設建立每個事實資料表中各外來鍵列的索引。這些索引提高了多數環境中的處理效能。效能通常提高的原因是 analysis services 生成的用來從主題區域資料庫中檢索新資料的處理查詢通常在事實資料表和維度表之間包含大量聯接語句。
5. 強制引用完整性
嚮導會預設在事實資料表和每個維度表之間強制實施引用完整性。引用完整性可以提高資料處理時的準確性,同時可以避免事實表更新對維度表的影響。
6. 重新生成時保留資料
架構生成嚮導會預設在重新生成資料庫架構時嘗試保留資料。如果架構生成嚮導因架構更改而必須刪除一些行,則您會在刪除行之前收到一則警告。例如,由於您刪除了維度,或者資料型別在更改維度屬性時發生更改,那麼行可能必須被刪除以解決引用完整性問題。
7. 指定命名約定
架構生成嚮導會自動為我們建立所有在多維資料集中需要使用的字段,使用「指定命名約定」頁,可以定義在建立架構物件時架構生成嚮導所使用的字段的命名約定。
選項說明
分隔符指定用於分隔物件名稱中的字詞的字元。在「值」列中,選擇「下劃線」、「空格」或「無」。預設值為「下劃線」。
主鍵列字首
指定每個主鍵列名稱的字首字串。預設值為 pk。
外來鍵列字首
指定每個外來鍵列名稱的字首字串。預設值為 fk。
屬性名稱字尾
指定追加到每個屬性列名稱的字串。預設值為 name。
自定義彙總字尾
指定追加到每個彙總列名稱的字串。預設值為 customrollup。
自定義彙總屬性字尾
指定追加到每個彙總屬性列名稱的字串。預設值為 customrollupproperties。
一元運算子字尾
指定追加到每個一元運算子列名稱的字串。預設值為 unaryoperator
8. 填充時間表
每乙個多維資料集幾乎都會有時間維度,然而如何建立乙個標準的時間維度卻是非常困難的。
利用架構生成嚮導,我們可以自動生成乙個標準的時間維度和相對應的層次結構。我們只需要設定時間維度中所包括的層次、以及開始和結束的時間(如下圖)就可以了。嚮導在建立時間維度表的同時也會向其中填入相應的資料。
9. 自動建立緩慢變化維度
在sql server 2005中,緩慢變化維度是一項非常強大的功能,但是如果手工建立緩慢變化維度的維度表將是非常困難的。而架構生成嚮導可以自動為我們建立緩慢變化維度的複雜的維度表,我們只需要在維度屬性中去指定它的屬性,系統會自動在維度表中增加時間戳字段(原始id、狀態、開始日期和結束日期)。
10. 翻譯
嚮導會生成乙個單獨的表以儲存需要翻譯列的任意屬性的翻譯值。嚮導還會為每種所需的語言建立乙個單獨的列。
比較兩種方法,我們不難發現,第二種方法不僅可以大幅度的減少我們的工作量,同時也提供了更加強大的功能,讓我們可以非常輕鬆的建立出乙個標準的多維資料集。這也是sql server 2005推薦我們使用的建立olap系統的方法。
PHP環境搭建最新方法
安裝 首先必須確認系統中已經安裝了iis 系統推薦 win2003伺服器版,win2000專業版和xp系統不支援多使用者iis 虛擬主機管理系統無法進行管理,xp系統iis存在問題除錯程式會經常出現不正常。對於作 和經常除錯教本的朋友還是推薦使用win2003伺服器版 把系統做好配置好玩遊戲的話這兩...
脊柱 保健新方法
文章簡介 日本養生學家推廣出了一套被稱為 西氏健康法 的養生 保健方法 睡平板床 枕硬枕頭 金魚運動 毛管運動 合掌合蹠法以及背腹運動等六項運動方法。這些健康法可以糾正 脊椎的歪斜 彎曲 椎間盤突出 小關節紊亂 同時,促進血液回流,改善微迴圈降低血液黏稠度,使心臟回流量及搏出量增加,增加身體主要臟器...
TinyOS更新方法
介紹兩種方法 在linux或者cygwin環境下更新 設定環境變數 export cvsroot pserver anonymous tinyos.cvs.sourceforge.net cvsroot tinyos 接入命令 cvs d pserver anonymous tinyos.cvs.s...