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

