摘要:本文概述了 SQL Server 2005 Beta 2 中“商務智能”平台的增強功能。本文並非實施指南,而是為讀者提供了關於“商務智能”平台增強功能的信息。
本頁內容
免費書籍資料下載
簡介 在線手冊
SQL Server2005 Beta 2 入門 免費書籍資料下載
關系型數據倉庫 相關研究方向
提取、轉換和加載 (ETL)
在線手冊
Analysis Services 數據挖掘知識
Reporting Services
編程技術
總結
數據挖掘知識
附錄 A:代碼示例
論文下載
簡介 在線手冊
Microsoft SQL Server 2005 是一個完整的商務智能 (BI) 平台,其中為用戶提供了可用於構建典型和創新的分析應用程序所需的各種特性、工具和功能。本文簡要介紹了您在構建分析應用程序時將要用到的一些工具,並著重介紹了一些新增功能,這些新增功能使復雜 BI 系統的構建和管理比以往更加輕松。 交流論壇
下表概述了商務智能系統的組件,以及與之相應的 Microsoft SQL Server 2000 和 SQL Server 2005 組件。 交流論壇
組件 SQL Server 2000 SQL Server 2005 提取、轉換和加載 數據轉換服務 (DTS) 數據轉換服務 (DTS) 關系數據倉庫 SQL Server 2000 關系數據庫 SQL Server 2005 關系數據庫 多維數據庫 SQL Server 2000 Analysis Services SQL Server 2005 Analysis Services 數據挖掘 SQL Server 2000 Analysis Services SQL Server 2005 Analysis Services 托管報告 SQL Server 2000 Reporting Services SQL Server 2005 Reporting Services 特殊查詢和分析 Microsoft Office 產品(Excel、Office Web Components、Data Analyzer、Sharepoint Portal) Microsoft Office 產品(Excel、Office Web Components、Data Analyzer、Sharepoint Portal) 數據庫開發工具 SQL Server 2000 企業管理器、分析管理器、查詢分析器,以及各種其他工具 SQL Server 2005 Business Intelligence Development Studio (新增!) 數據庫管理工具 企業管理器、分析管理器 SQL Server 2005 SQL Server Management Studio (新增!)
HAMMER_SHI
SQL Server 2005 新增了兩個組件:SQL Server Management Studio 和 SQL Server Business Intelligence Development Studio。其他主要的 BI 組件——DTS、Analysis Services OLAP、Analysis Services Data Mining 和 Reporting Services——在 SQL Server 2005 中得到了改進,與以前有很大的不同。SQL Server 2005 關系數據庫包含一些重要的新增功能。雖然 Microsoft Office 查詢和門戶工具並沒有包含在 SQL Server 中,但當前的發行版本力爭在 SQL Server 2005 之前實現這一功能。Office 工具的 BI 功能將在 Office 產品發行周期內將得到逐步實現。 編程技術
SQL Server 2005 Business Intelligence 工具集提供了一種端到端的 BI 應用程序集成:
•設計:Business Intelligence Development Studio 是第一款專門為商務智能系統開發人員設計的集成開發環境。Business Intelligence Development Studio 構建於 Visual Studio 2005 技術之上,它為 BI 系統開發人員提供了一個豐富、完整的專業開發平台。調試、源代碼控制以及腳本和代碼的開發均可用於所有的 BI 應用程序組件。 相關研究方向
•合成:“數據轉換服務”已被重新編寫,現在的 DTS 可以高速執行超大數據量的復雜數據集成、轉換和合成。Business Intelligence Development Studio 使程序包的構建和調試變得更加生動有趣。DTS、Analysis Services 和 Reporting Services 共同提供了一個源自異類源的無縫數據視圖。 在線手冊
•存儲:在 SQL Server 2005 中,關系數據庫和多維數據庫之間的界限變得更加模糊。您可以將數據庫存儲在關系數據庫、多維數據庫中,或使用新增的“主動緩存”功能,充分利用兩種數據庫各自的優點。 電腦常識
•分析:一直以來,Microsoft 的數據挖掘都十分簡單易用。現在,結合了其他的重要新算法(包括關聯規則、時間序列、回歸樹、序列群集、神經網絡和貝葉斯算法),使得這一功能更加完美。而在 Analysis Services 多維數據集中也添加了一些重要的新增功能:關鍵績效指標框架、MDX 腳本,以及其他的內置高級業務分析方法。Reporting Services 報告提交和管理
框架使得復雜的分析方法更易於向最廣泛的潛在受眾分發。
•交付:Reporting Services 將 Microsoft Business Intelligence 平台的用戶群體延伸至那些需要使用分析功能的商務用戶。Reporting Services 是一種企業托管報告環境,它通過 web 服務進行嵌入和管理。您可以用大量的交互和打印選項,以各種不同的格式個性化設置和提交報告。通過將報告以數據源的形式分發至下游商務智能,復雜分析可以覆蓋更廣泛的受眾。Microsoft 及其合作伙伴的特殊查詢和分析工具將繼續承擔在 Analysis Services 和關系數據庫中訪問數據的常用工具角色。 搜索引擎技術
•管理:SQL Server Management Studio 集成了對 SQL Server 2005 所有組件的管理。Business Intelligence 從業者都將得益於 Microsoft 服務器“能力”擴展這一用戶盼望已久的功能增強,即從關系引擎(伸縮性、可靠性、可用性、可編程性,等等)擴展為全套的 BI 平台組件。 免費書籍資料下載
SQL Server 2005 Business Intelligence 組件的主要目標是支持在各種規模的企業中開發和使用商務智能,並使其能夠供所有員工使用,不僅包括管理層和分析師,還包括操作人員和外部委托人。就此目標而言,SQL Server 2005 具有完整、集成、易用的特點,它以 web 服務的形式發布數據,而且僅通過日常硬件便可提供極佳的性能,另外它還包含許多新增功能,您可以使用這些新增功能開發創新的分析應用程序。
數據挖掘知識SQL Server2005 Beta 2 入門
數據挖掘研究院
在安裝 SQL Server 2005 時第一點要注意的就是它的集成安裝體驗。您不再需要為某些功能(如 Analysis Services)而分別運行安裝程序。如果某個功能(如 Reporting Services)不可安裝,則說明您的計算機不滿足該功能的安裝要求。您可以查看說明文件,以獲得有關功能必要條件的完整討論。在大多數配置得當的機器上,安裝過程中應接受所有默認設置,安裝所有的主要功能: 搜索引擎技術
•SQL Server 關系數據庫引擎
•DTS
人工智能
•Analysis Services 免費書籍資料下載
•Reporting Services
•SQL Server Management Studio(數據庫管理工具集)
•Business Intelligence Development Studio(BI 應用程序開發工具集)
Reporting Services 要求在機器上安裝並妥善配置 IIS。由於 Reporting Services 是 2005 Business Intelligence 功能組的一個重要組成部分,我們強烈建議您花費一定的時間,執行這些配置和安裝步驟。
電腦常識
熟悉 Analysis Services 的客戶可能會因缺少 Analysis Services 元數據倉庫而感到迷惑。在 SQL Server 2000 中,Analysis Services 倉庫被作為 Microsoft Access 數據庫發行。Analysis Services 2005 不包含元數據倉庫。相反,Analysis Services 數據庫元數據信息被存儲為 XML 文件格式,由 Analysis Services 進行管理。如果需要,還可以將這些 XML 文件放置在源代碼控制之下。 電腦常識
我們建議您使用 Business Intelligence Development Studio 進行開發,同時使用 SQL Server Management Studio 來操作和維護 BI 數據庫對象。雖然您能夠在 SQL Server Management Studio 中設置 DTS 包以及 Analysis Services 多維數據集和數據挖掘模型,
但 Business Intelligence Development Studio 卻為設計和調試 BI 應用程序提供了更好的體驗。 交流論壇對於 Beta 2 而言,建議您從掌握新的應用程序入手,因為與升級現有 DTS 包或 Analysis Services 數據庫相比,這樣可以學到更多東西。如果您已有一個可用的包或數據庫,您會發現,“重新創建”現有的包或數據會十分有用。在您熟悉了這些新增工具、功能和概念之後,便可試著升級現有對象。 交流論壇
許多客戶都借助 SQL Server 工具,使用熟悉的來自一個或多個源系統的商務智能結構來開發新的系統,使用 DTS 填充維度關系型數據倉庫,然後再用數據倉庫來填充 Analysis Services 數據庫。但是,SQL Server 2005 提供了許多選項,通過消除或淡化不同的組件使其背離了這種一般化設計。
關系型數據倉庫 交流論壇
SQL Server 2005 關系數據庫引擎包含一些對數據倉庫樣式應用程序設計和維護大有幫助的功能。這些功能包括: 數據挖掘研究院
•對於超大型的表而言,表分區可快速數據的加載速度,並簡化維護過程。 免費書籍資料下載
•輕松創建報告服務器 相關研究方向
•Transact-SQL 方面的改進包括新增的數據類型和新增的分析功能
•聯機索引操作
•細化備份/還原操作 相關研究方向
•快速初始化文件 SOA
報告服務器
要想將關系操作報告從事務處理數據庫中分離出來,經常采用的一項技術便是維護一台報告服務器。報告服務器對事務處理數據庫映像的維護一般都有一定的時間延遲,通常截止到前一天。報告服務器多用於報告功能和數據倉庫提取。 在線手冊
Microsoft SQL Server 2005 新增了兩項功能,使報告服務器的創建和維護過程變得更加簡單。SQL Server 報告服務器的延遲時間與以前相比大大縮短。同時,報告服務器被設計為充當事務處理系統的備選系統。
在線手冊
要創建報告服務器,先要創建一個數據庫鏡像,這是 SQL Server 2005 的新增功能,它為系統的高可用性提供了一個緊急備用系統。更多信息,請閱讀聯機叢書的“數據庫鏡像概念”主題。數據庫鏡像不能夠直接查詢,這時第二個新增功能就能派上用場了。
交流論壇
在鏡像上創建一個數據庫視圖。數據庫視圖是數據庫在某個時點的只讀副本。數據庫視圖並非數據庫的完整副本;極為節省空間。多個數據庫視圖還是可以同時共存,雖然維護數據庫視圖會對數據庫視圖所基於的事務處理數據庫產生一定的影響。更多信息,請閱讀聯機叢書的“了解數據庫視圖”主題。
論文下載
通過在數據庫鏡像上創建數據庫視圖,您可輕松為系統的高可用性創建備用服務器,此服務器還可用作報告服務器,起著雙重作用。
表分區 數據挖掘知識
分區表和分區索引將數據分割到多個水平單元中,以便於將行組映射到單獨的分區中。而對數據執行操作(如查詢)時,又可以將整個表或索引作為一個整體來執行。 互聯網資源
分區可以:
•改善數據表和索引的可管理性。 數據倉庫
•改善多 CPU 機器上的查詢性能。 交流論壇
在關系型數據倉庫中,事實數據表比較適合應用表分區,而按日期范圍分區又是最常見的分區策略。 人工智能
正如聯機從書的“創建分區表和索引”主題中所描述的,定義分區表可分為三個步驟: 1.創建一個分區函數,指定使用此函數的表如何分區。 相關研究方向
2.創建一個分區方案,指定應用此分區函數的分區在文件組上的位置。 搜索引擎技術
3.使用此分區方案創建一個表或索引。 搜索引擎技術
多個表可以使用同一個分區方案。
搜索引擎技術
本文討論了事實數據表的“范圍”分區,但其目的並非是針對表分區的完整討論或教程。有興趣的讀者請參閱 SQL Server 聯機叢書。 論文下載
最常用的分區方案是按日期范圍(如年、季、月或甚至天)對事實數據表進行分區。在大多數情況下,對大型事實數據表進行日期分區可以提供良好的可管理性收益。為了改善查詢性能,應盡量使用相同的分區方案對時間維度表進行分區。 互聯網資源
•分區表和未分區表的行為方式相同。
在線手冊
•針對表的查詢能夠得到正確解析。 數據倉庫
•針對表的直接插入、更新和刪除會被自動解析到適當的分區。
在線手冊
使用數據表分區快速加載數據 在線手冊
許多數據倉庫應用程序都力求在越來越小的加載窗口中加載越來越多的數據量。典型的流程是這樣的,先從幾個源系統中提取數據開始,接下來便是在這些系統間清理、轉換、合成和合理化數據。數據管理應用程序被限制為在加載窗口中完成整個提取、轉換和加載流程。通常,系統的業務用戶都強烈要求將數據倉庫查詢時的不可用時間降至最低。在設計時,數據管理應用程序的“寫入”步驟(即將新數據插入到現有數據倉庫的步驟)必須在短時間內完成,且要最小化對用戶造成的影響。 搜索引擎技術
為了非常快速地加載數據,數據庫恢復模型必須為“批量記錄”恢復模式或“簡單”恢復模式,而數據表必須為空,或是包含數據但不包含索引。如果滿足這些條件,不作記錄的加載便成為可能。在 SQL Server 2000 中,分區表出現以前,這些條件通常只在初始歷史數據倉庫加載中才能滿足。一些具有大型數據倉庫的客戶已通過在分散的物理表上搭建 UNION ALL 視圖,構建了一個准分區結構;這些數據表都使用不記錄技術填充每個加載周期。這一方法並不盡如人意,而 SQL Server 2005 分區表則提供了更為優秀的功能。
搜索引擎技術
在 SQL Server 2005 中,您不能直接在分區中執行不記錄加載。但是,卻可以將數據加載到將調用偽分區的單獨表中。在特定條件下,您可以用執行速度極快的元數據操作將偽分區切換到分區表中。此技術可滿足我們的兩個要求: 數據挖掘知識
•最小化整體加載時間:在不作記錄的情況下執行偽分區加載,以及
數據挖掘知識
•最小化對最終用戶的影響,並確保數據倉庫的完整性:偽分區可以在用戶查詢數據倉庫時被加載。在執行分區切換之前,數據管理應用程序會等到所有事實數據表全部加載完畢為止。分區切換的執行速度非常快,反應時間通常不到一秒。
SOA
此外,偽分區還可作為單獨的表進行備份,從而改善系統的可管理性。 交流論壇
使用表分區快速刪除數據 數據挖掘知識
許多數據倉庫在數據倉庫中保留了一個詳細活動數據的滑動窗口。例如,事實數據表可能包含三年、五年或十年的數據。每到一個時間周期,便從數據表中刪除最舊的數據。持續刪除數據的主要原因在於要提高查詢性能並最小化存儲成本。 數據挖掘研究院
SQL Server 2005 分區使大型分區事實數據表中舊數據的刪除倍加輕松。如上所述,簡單地創建一個空白偽分區,然後將其切換到分區表中。分區表在其曾植入分區的地方有一個空白分區;偽分區在其曾為空白的地方包含數據。用戶可以根據需要對偽分區進行適當的備份、截斷或刪除。 數據倉庫
或者,您還可以選擇重新定義分區函數,將所有空白分區合並到一個分區中。
編程技術
Transact-SQL 方面的改進 相關研究方向
新的數據類型
相關研究方向
SQL Server 2005 中有一些很重要的新類型,這些類型對數據倉庫大有裨益:
相關研究方向
•Varchar(max)、nvarchar(max) 和 varbinary(max) 支持 2GB 的數據,對於 text、ntext 和 image 數據類型非常有用。這些擴展的字符類型可能對在數據倉庫中保存擴展的元數據和其他說明性信息非常有用。 在線手冊
新的分析功能 互聯網資源
許多新分析功能都提供了 Transact-SQL 中的基本分析功能。這些功能在那些允許用戶查詢關系數據庫,而不是通過 Analysis Services 排他查詢數據的數據倉庫中非常有用。另外,在數據中轉過程中,這些復雜的計算常被用來開發有價值的數據屬性。
交流論壇
ROW_NUMBER。返回結果集的連續行號。
SOA
RANK。返回行在結果集中的等級。在通常情況下,RANK 值與有序數據集上的 ROW_NUMBER 值相同。但對於那些彼此之間有關聯的行來說,則是所有具有相同排序值的行都有相同的等級。而下一個等級則又與 ROW_NUMBER 值相同。換句話說,如果在第一個位置存在雙向關聯,那麼行 1 和行 2 的 RANK 就都為 1,而行 3 的 RANK 則為 3。不存在 RANK 為 2 的行。
論文下載
DENSE_RANK。返回行在結果集中的等級。DENSE_RANK 函數與 RANK 相似,只是去除了 RANK 函數所留下的空隙。在上面的示例中,行 1 和行 2 的 RANK 為 1,而行 3 的 RANK 則為 2。
論文下載
NTILE。將有序集分成指定數量、大小近似相等的組。
數據挖掘研究院
在 SQL Server 2005 Beta 2 中還不能使用這些函數。 互聯網資源
PIVOT 和 UNPIVOT 操作符 搜索引擎技術
PIVOT 操作符可以按查詢中的中斷值旋轉結果集,從而使您可以生成交叉數據報告。例如,如果表中在兩個不同的行中包含 "Actuals" 和 "Budgets" 數據,則使用 PIVOT 操作符將可以生成帶有 [Actuals] 和 [Budgets] 列的交叉數據報告。 在線手冊
與之相似,UNPIVOT 操作符可以將一行拆分為若干行。在此示例中,帶有 [Actuals] 和 [Budgets] 列的行集可以被轉換為包含這些值的多個行。 論文下載
在以前的 SQL Server 版本中,用戶能夠編寫復雜的 Transact-SQL SELECT 語句來旋轉數據。PIVOT 和 UNPIVOT 操作符則為數據旋轉提供了更為簡單的機制。
交流論壇
遞歸查詢 數據挖掘研究院
在許多方案中,“遞歸查詢”都是非常有用的。SQL Server 2005 中的新增功能令遞歸查詢成為可能,雖然此項功能還不是十分簡單易用。 免費書籍資料下載
遞歸查詢是針對自聯接表的查詢。自聯接表的兩個常見示例有保存員工及其經理信息的數據表,和保存材料清單的數據表。在 AdventureWorks 數據庫的 Employee 表中對自聯接數據表進行了說明。
2]
查詢自聯接表的直接關系通常十分簡單,如查詢直接向經理報告的員工數量。但是,如果要回答“經理的組織中有多少名員工?”這樣一個問題卻十分困難。
交流論壇
SQL Server 2005 中的關系數據庫功能解決了這一問題,這一功能被稱為“遞歸通用表表達式”。“附錄”中包含一個遞歸查詢的示例,該示例回答了以上定義的問題。聯機叢書的 "WITH " 主題中包含更多的相關信息。