SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008

turingbooks發表於2020-04-07
SQL Server 2008中Analysis Services的新特性
——深入SQL Server 2008

內容簡介:

本書涵蓋了SQL Server 2008引入的新功能。作者之一Robert E.Walters是微軟公司SQL Server開發團隊的專案經理,在關聯式資料庫方面擁有多年的相關經驗,這讓此書內容更具權威性。
與市面上的其他介紹SQL Server的書籍相比,本書的突出特點是貼近實戰且兼顧原理介紹,幾乎每章都有可以直接借用的程式碼和範例,同時對於難以理解之處,也有其實現原理的介紹,使讀者知其然,更知其所以然。此外,本書介紹的SQL Server 2008策略管理、高可用性、效能、安全等內容,均是企業級資料庫必不可少的部分,閱讀本書可以詳細瞭解這些技術內幕。
本書面向SQL Server資料庫管理員和資料庫開發人員,旨在讓讀者對SQL Server有更深入的理解和全新的認識,成為一個SQL Server資料庫管理方面的行家裡手。



資料庫可以儲存資料,不過用於商業決策時資料庫實際上是一個非常有效的商業工具。這些決策可以是戰略性決策(公司是否擴充套件到新的領域)、戰術性決策(哪種價格策略最佳),或者是實戰型決策(我的促銷物件是哪一類顧客,應當給多大的折扣)。不過,所有這些決策都需要正確的資料,要在正確的時間以正確的格式提供。我們將這個準備、傳送和解釋資料的過程稱為BI(business intelligence,商業智慧)。

SQL Server 2008包含一組支援BI應用開發和管理的技術。SQL Server Reporting Services和Integration Services都是BI的一部分,不過,最為關鍵應當是SSAS。Analysis Services包括OLAP和資料探勘技術。OLAP和資料探勘本身都是很重要的主題,其中資料探勘尤其需要專門研究。因此,這一章中,我們將介紹最常用的技術OLAP。

所有AnalysisServices工作都可以分解為與應用管理和應用開發有關的任務。對於管理,SQL Server 2008內建了SQL Server管理包(SQLServer Management Studio)。這個工具支援應用管理,包括檢視資料和建立MDX(Multidimensional Expressions,多維表示式)、DMX(Data MiningExtensions,資料探勘擴充套件)以及XML for Analysis(XML/A)。對於開發,商業智慧開發包(Business Intelligence Development Studio,BIDS)支援應用開發,它允許定義一個Analysis Services專案的核心元件(資料來源、資料檢視、維度、值、多維資料集,等等)。利用這個工具,還可以在分析環境中從多個不同的角度檢視資料。

安裝SQLServer 2008時提供了一個選項,可以選擇是否安裝Analysis Services。還可以選擇是否預設啟用與Analysis Services相關的Windows服務。為了讓Analysis Services正常工作,這個Windows服務必須執行。不必在開發人員的機器上執行Analysis ServicesWindows服務。最後Analysis Services會在一個生產主機上執行。開發人員可以連線到一個安裝並執行著Analysis Services的伺服器。為了便於開發,最簡單的做法是在開發機器上本地安裝和執行Analysis Services,完成開發和除錯之後,再將Analysis Services專案釋出到臨時伺服器或生產主機上。

這一章中,我們將介紹以下主題。

SQL Server 2008中Analysis Services的新特性;

 Analysis Services基礎知識;

 OLAP概念;

BIDS中的分析伺服器專案;

Analysis Services指令碼語言。

SQL Server 2008中Analysis Services的新特性

SQL Server 2005 Analysis Services的使用者非常急切地想知道這個最新版本有哪些新的特性。為滿足這些使用者,在分析Analysis Services的體系結構和幫助新使用者上手使用這個令人興奮的技術之前,我們將簡要介紹一些新特性。對於剛剛涉足這個領域的新使用者,這一節可能有些多餘,因為所有功能對你來說都是新的(從定義上講),不過,通過這一節,你會了解到Analysis Services絕非一種靜止的技術,而是一種微軟不斷髮展並加入新思想的技術,這一點很有用。

SQLServer 2008中AnalysisServices的改進可以分為三大類:對設計、監視和執行時操作的改進。

設計工具的改進

在SQLServer 2005的Analysis Services中,Microsoft在構建OLAP資料庫的設計工具的可用性方面做了顯著改進。不過,使用者反饋表明,使用者還需要一些幫助和指導才能弄明白如何把這些最佳實踐用於他們的應用中。因此,在SQL Server 2008的Analysis Services中,現在設計體驗包括全面的最佳實踐警告提示。在使用者介面中這些警告提示會以藍色和紅色的“彎彎曲曲”的線顯示,分別提醒使用者注意警告和錯誤。可以認為這就像Microsoft Word環境中顯示的警告來指示存在拼寫或語法錯誤。基於這個技術,使用者可以繼續工作(它不需要使用者執行任何操作),同時還能標誌出重要的問題。在20.4.6節中,你會看到實際顯示的警告提示。

除了這些警告提示,Microsoft還大幅改進了設計器的另外一些方面。你會發現多維資料集嚮導(將在20.4.5節中介紹)比以前要容易得多。另外,現在的維度設計器還包括一個特殊的介面,用來開發特性關係。這也將在20.4.5節中介紹。

這一章中,我們將描述MDX的一些基礎知識,這是Analysis Services中使用的語言。對於更高水平的MDX使用者,微軟引入了動態命名集。命名集(named set)實際上就是資料值的一個預定義子集,如“排名前10的顧客”,這可以在表示式中使用。在SQL Server 2005中,命名集總是靜態的——排名前10的顧客會在處理多維資料集時選擇。這意味著執行一個類似“找出70歲以上排名前10的顧客”的查詢時,實際上會返回原來排名前10的顧客中70歲以上顧客的子集,這有可能一個顧客也找不到。利用動態命名集則可以在查詢上下文中返回排名前10的顧客。因此,現在可以很容易地動態查詢排名前10的70歲以上老年顧客。

監視工具的改進

對於已經設計了多維資料集並處於生產階段的高階使用者,SQL Server Management Studio中的新功能將有助於監視所部署的資料庫的效能。可以認為這些監視功能等價於SQL Server關聯式資料庫引擎的動態管理檢視。Analysis Services管理員(使用ManagementStudio)現在可以執行類似下面這樣的MDX查詢:

這個結果會對伺服器上執行的會話以及所使用的資源提供一個詳細的檢視。對於連線、會話、命令以及命令涉及的物件也存在類似的模式,這就構成了一個相當全面的資源監視解決方案。

執行時改進

SQL Server 2008中Analysis Services的改進不只是在於使用者互動方面的改進(不論是對於設計人員還是管理人員)。執行時引擎也得到了顯著的改進。其中一些採用了相當高深的技術。

例如,利用一種稱為子空間(subspace)或塊(block)計算的技術,可以對返回稀疏結果集的查詢提供顯著的效能提升。以返回所有日期所有商店的所有商品銷售情況的查詢為例。通常,所有商品中只有很小的一個子集會在所有日期所有商店中銷售,所以這個查詢的結果會包含很多NULL(或預設)值。子空間計算可以優化完成這個查詢所需的引擎操作,有些情況下可以讓效能大幅提升,查詢速度加快多達20倍。

對於高階使用者來說,另一個顯著的執行時改進是能夠寫回一個多維MOLAP(Multidimensional OLAP,OLAP)分割槽(而不是一個關係型OLAP分割槽)。如果使用者要構建互動式預算和規劃應用,這也將提供顯著的效能提升。



相關文章