Microsoft SQL Server是一個提供了聯(lián)機事務處理、數(shù)據(jù)倉庫、電子商務應用的數(shù)據(jù)庫和數(shù)據(jù)分析的平臺。
體系架構是描述系統(tǒng)組成要素和要素之間關系的方式。Microsoft SQL Server系統(tǒng)的體系結構是對Microsoft SQL Server的主要組成部分和這些組成部分之間關系的描述。
Microsoft SQL Server 2008系統(tǒng)由4個主要部分組成,這4個部分被稱為4個服務,這些服務分別是數(shù)據(jù)庫引擎、分析服務、報表服務和集成服務,這些服務之間相互存在和相互應用,它們的關系示意圖如圖所示。
SQL Server 2008體系架構示意圖
數(shù)據(jù)庫引擎
數(shù)據(jù)庫引擎(SQL Server Database Engine,SSDE)是Microsoft SQL Server 2008統(tǒng)的核心服務,負責完成業(yè)務數(shù)據(jù)的存儲、處理、查詢和安全管理。
例如,創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、執(zhí)行各種數(shù)據(jù)查詢、訪問數(shù)據(jù)庫等操作,都是由數(shù)據(jù)庫引擎完成的。
在大多數(shù)情況下,使用數(shù)據(jù)庫系統(tǒng)實際上就是使用數(shù)據(jù)庫引擎。
例如,在某個使用Microsoft SQL Server 2008系統(tǒng)作為后臺數(shù)據(jù)庫的航空公司機票銷售信息系統(tǒng)中, Microsoft SQL Server 2008系統(tǒng)的數(shù)據(jù)庫引擎服務負責完成機票銷售數(shù)據(jù)的添加、更新、刪除、查詢及安全控制等操作。
功能組件
數(shù)據(jù)庫引擎本身也是一個復雜的系統(tǒng),它包括了許多功能組件,例如
Service Broker、復制、全文搜索、通知服務等。
Service Broker提供了異步通信機制,可以用于存儲、傳遞消息。
復制是指在不同的數(shù)據(jù)庫之間對數(shù)據(jù)和數(shù)據(jù)庫對象進行復制和分發(fā),保證數(shù)據(jù)庫之間同步和數(shù)據(jù)一致性的技術。復制經常用于物理位置不同的服務器之間的數(shù)據(jù)分發(fā),它可以通過局域網、廣域網、撥號連接、無線連接和 Internet 分發(fā)到不同位置的遠程或移動用戶。
全文搜索提供了基于關鍵字的企業(yè)級的搜索功能。
通知服務提供了基于通知的開發(fā)和部署平臺。
分析服務
分析服務(SQL Server Analysis Services,SSAS)提供了OLAP和數(shù)據(jù)挖掘功能,可以支持用戶建立數(shù)據(jù)倉庫。
相對OLAP來說,OLTP是由數(shù)據(jù)庫引擎負責完成的。使用SSAS服務,可以設計、創(chuàng)建和管理包含了來自于其他數(shù)據(jù)源數(shù)據(jù)的多維結構,通過對多維數(shù)據(jù)進行多個角度的分析,可以支持管理人員對業(yè)務數(shù)據(jù)的更全面的理解。
另外,通過使用SSAS服務,用戶可以完成數(shù)據(jù)挖掘模型的構造和應用,實現(xiàn)知識發(fā)現(xiàn)、表示和管理。
例如,在航空公司的機票銷售信息系統(tǒng)中,可以使用Microsoft SQL Server 2008系統(tǒng)提供的SSAS服務完成對客戶的數(shù)據(jù)挖掘分析,可以發(fā)現(xiàn)更多有價值的信息和知識,從而為減少客戶流失、提高客戶管理水平提供有效的支持。
分析服務的主要組件是
Business Intelligence Development Studio(簡稱為BIDS)
。BIDS是一個管理工具,為集成服務、報表服務、分析服務和數(shù)據(jù)挖掘等提供了一個集成平臺。基于Visual Studio 2008的BIDS支持用戶開發(fā)商業(yè)智能應用程序,用戶可以在該平臺中進行編寫代碼、調試及版本控制等工作。
分析服務概述 |
SQL Server 2008中包含了一個SQL Server 2008分析服務的單獨程序,可以用來對SQL Server和其他OLE DB數(shù)據(jù)庫執(zhí)行OLAP分析。 ? |
創(chuàng)建分析服務項目 |
使用分析服務,首先就必須創(chuàng)建分析服務項目。一個分析服務項目包含數(shù)據(jù)源、數(shù)據(jù)源視圖、多維數(shù)據(jù)集、維度、挖掘結構、角色、程序集和雜項8個子文件夾,每個文件夾中存放相應的對象。 ? |
創(chuàng)建多維數(shù)據(jù)集 |
創(chuàng)建多維數(shù)據(jù)集的方法有兩種:第一種方法是先定義獨立于任何多維數(shù)據(jù)集的維度,然后再定義基于這些維度的一個多維數(shù)據(jù)集;第二種方法是使用“多維數(shù)據(jù)集向導”來創(chuàng)建多維數(shù)據(jù)集和相關維度。 ? |
處理和瀏覽多維數(shù)據(jù)集 |
處理多維數(shù)據(jù)集將使分析服務預先計算包含多維數(shù)據(jù)集中數(shù)據(jù)的聚合。 |
添加篩選條件 |
在瀏覽多維數(shù)據(jù)集時,可以為顯示的數(shù)據(jù)添加一些篩選條件,更精確地去分析數(shù)據(jù)。 ? |
使用數(shù)據(jù)挖掘向導 |
使用分析服務提供的數(shù)據(jù)挖掘向導,對當前多維數(shù)據(jù)集進行挖掘分析。 ? |
報表服務
報表服務(SQL Server Reporting Services,SSRS)為用戶提供了支持Web的企業(yè)級的報表功能。
通過使用Microsoft SQL Server 2008系統(tǒng)提供的SSRS服務,用戶可以方便地定義和發(fā)布滿足自己需求的報表。
無論是報表的布局格式,還是報表的數(shù)據(jù)源,用戶都可以輕松地實現(xiàn)。
這種服務極大地便利了企業(yè)的管理工作,滿足了管理人員高效、規(guī)范的管理需求。
例如,在航空公司的機票銷售信息系統(tǒng)中,使用Microsoft SQL Server 2008系統(tǒng)提供的SSRS服務可以方便地生成Word、PDF、Excel等格式的報表。
報表服務概述 |
SQL Server 2008報表服務(Reporting Services,SSRS)提供了各種現(xiàn)成可用的工具和服務,幫助數(shù)據(jù)庫管理員創(chuàng)建、部署和管理單位的報表,并提供了能夠擴展和自定義報表功能的編程功能。 |
使用報表向導設計報表 |
使用報表向導創(chuàng)建報表是比較常用且簡單的方法,其實現(xiàn)過程在Microsoft SQL Server 2008的工具Business Intelligence Development Studio(BIDS)中完成。 |
使用報表設計器 |
雖然使用報表向導可以快速地創(chuàng)建報表,滿足大多數(shù)用戶的需求,但對于創(chuàng)建復雜或者自由格式的報表還是具有一定的局限性。在這種情況下,就可以使用報表設計器來自主設計報表。 |
設計參數(shù)化報表 |
創(chuàng)建報表之后,為了進一步精確報表中顯示的數(shù)據(jù),可以通過為報表添加參數(shù)的方式控制報表中包含的數(shù)據(jù)信息。在SQL Server 2008中可以利用輸入值來維護報表,則稱這種報表為參數(shù)化的報表。 |
配置報表服務器 |
對當前報表服務器的內容進行配置。 |
發(fā)布報表 |
設計好一個報表之后,需要將該報表發(fā)布到已經設置好的報表服務器上,供其他人查看。 |
管理報表 |
在報表管理器中,管理員可以對已經發(fā)布的報表進行管理,比如創(chuàng)建文件夾、刪除文件和轉移文件等操作。 |
集成服務
集成服務(SQL Server Integration Services,SSIS)是一個數(shù)據(jù)集成平臺,可以完成有關數(shù)據(jù)的提取、轉換、加載等。
例如,對于分析服務來說,數(shù)據(jù)庫引擎是一個重要的數(shù)據(jù)源,如何將數(shù)據(jù)源中的數(shù)據(jù)經過適當?shù)靥幚砑虞d到分析服務中以便進行各種分析處理,這正是SSIS服務所要解決的問題。
重要的是,SSIS服務可以高效地處理各種各樣的數(shù)據(jù)源,除了Microsoft SQL Server數(shù)據(jù)之外,還可以處理Oracle、Excel、XML文檔、文本文件等數(shù)據(jù)源中的數(shù)據(jù)。
SSIS是Microsoft SQL Server 2005/8 Integration Services的簡稱,是生成高性能數(shù)據(jù)集成解決方案.
包括數(shù)據(jù)的抽取,轉換,加載的一個平臺,簡稱ETL。這個平臺主要是用于商業(yè)智能中,來抽取數(shù)據(jù)適合的數(shù)據(jù)到數(shù)據(jù)倉庫的一個工具,當然也可以用到一般的系統(tǒng)中,做數(shù)據(jù)的導入,導出等。
俗話說:“十年磨一劍”,Microsoft 通過5年時間的精心打造,于2005年濃重推出Sql Server 2005,這是自SQL Server 2000 以后的又一曠世之作。這套企業(yè)級的數(shù)據(jù)庫解決方案,主要包含了以下幾個方面:數(shù)據(jù)庫引擎服務、數(shù)據(jù)挖掘、Analysis Services、Integration Services、Reporting Services 這幾個方面,其中Integration Services (即SSIS),就是他們之間的中轉站、紐帶,將各種源頭的數(shù)據(jù),經ETL到數(shù)據(jù)倉庫,建立多維數(shù)據(jù)集,然后進行分析、挖掘并將結果通過Reporting Services 送達給企業(yè)各級用戶,為企業(yè)的規(guī)劃決策、監(jiān)督執(zhí)行保駕護航。
現(xiàn)在很多人都把SSIS 說成是一個ETL (Extract-Transform-Load)工具,我個人覺得不太準確,或許是大家基本上都把他做為ETL 使用,其實SSIS已經超越了ETL的功能,ETL 僅是其中之一,它在其它方面也有非常突出的表現(xiàn):
在數(shù)據(jù)庫維護方面 |
數(shù)據(jù)庫備份; 統(tǒng)計信息更新; 數(shù)據(jù)庫完整性檢查; 索引重建 SSIS 包執(zhí)行; SSAS 任務處理。 |
業(yè)務處理 |
執(zhí)行SQL 任務。 Web Service 任務。 |
操作系統(tǒng)維護 |
WMI事件觀察器任務 文件系統(tǒng)任務。 |
其它 |
執(zhí)行SQL 任務 執(zhí)行進程任務 ActiveX 腳本任務 腳本任務(VB/C#). 執(zhí)行Web Service 服務 |
?
尤其是上面的第四點,可以執(zhí)行SQL 任務,可以執(zhí)行Web Service 服務,可以執(zhí)行系統(tǒng)進程,可以執(zhí)行(VB/C#)腳本任務,這給了我們多大想象的空間,還有什么例外的?強啊。不得不佩服務一下。
SSIS(SQLServer集成服務)是一個嵌入式應用程序,用于開發(fā)和執(zhí)行ETL(解壓縮、轉換和加載)包。SSIS代替了SQL2000的DTS。整合服務功能既包含了實現(xiàn)簡單的導入導出包所必需的Wizard導向插件、工具以及任務,也有非常復雜的數(shù)據(jù)清理功能。SQLServer2008SSIS的功能有很大的改進和增強,比如它的執(zhí)行程序能夠更好地并行執(zhí)行。在SSIS2005,數(shù)據(jù)管道不能跨越兩個處理器。而SSIS2008能夠在多處理器機器上跨越兩個處理器。而且它在處理大件包上面的性能得到了提高。SSIS引擎更加穩(wěn)定,鎖死率更低。
Lookup功能也得到了改進。Lookup是SSIS一個常用的獲取相關信息的功能。比如從CustomerID查找CustomerName,獲取數(shù)據(jù)集。Lookup在 SSIS中很常見,而且可以處理上百萬行的數(shù)據(jù)集,因此性能可能很差。SQL2008對Lookup的性能作出很大的改進,而且能夠處理不同的數(shù)據(jù)源, 包括ADO.NET,XML,OLEDB和其他SSIS壓縮包。
SSIS 應用場景
SSIS 應用主要是在一些商業(yè)智能的大型數(shù)據(jù)系統(tǒng)中,對數(shù)據(jù)的抽取,清洗等,以獲得高質量的數(shù)據(jù),是企業(yè)在做分析的時候分析出準確的結果。同時SSIS也會應用于日常的數(shù)據(jù)管理中,比如一些DBA對數(shù)據(jù)庫的管理,對數(shù)據(jù)庫Job的管理,對數(shù)據(jù)庫的遷移,合并等工作。
SSIS 的體系結構
主要由四部分組成:Integration Services 服務、Integration Services 對象模型、Integration Services 運行時和運行時可執(zhí)行文件以及封裝數(shù)據(jù)流引擎和數(shù)據(jù)流組件的數(shù)據(jù)流任務(如圖):
?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
