自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用SQL Server 2008 集成服務(wù)

數(shù)據(jù)庫 SQL Server
在本文中,我們將探討 SQL Server Integration Services (SSIS)如何成為一個有效的工具包,如何能在滿足傳統(tǒng)的 ETL 操作需求的同時滿足多方面數(shù)據(jù)集成不斷變化的需求。我們還將討論 SSIS 與主要的 ETL 提供商所提供的工具和解決方案的根本區(qū)別。SSIS 能夠極好地滿足全球企業(yè)(從最大的企業(yè)到最小的企業(yè))不斷變化的需求。

在傳統(tǒng)的以ETL為中心的數(shù)據(jù)集成中,標(biāo)準(zhǔn)的數(shù)據(jù)源仍然是大多數(shù)數(shù)據(jù)倉庫的核心。然而,包括更加多樣化的數(shù)據(jù)源、法規(guī)要求以及全球和在線業(yè)務(wù)在內(nèi)的各種需求,正迅速地改變著對數(shù)據(jù)集成的傳統(tǒng)要求。在這個快速發(fā)展及不斷變化的背景下,從數(shù)據(jù)提取價值的需要和對這種需要的依賴能力變得比以往更加重要。有效的數(shù)據(jù)集成已成為制定有效決策的基礎(chǔ)。SQL Server Integration Services 提供了一個靈活、快速及可擴(kuò)展的體系結(jié)構(gòu),能夠?qū)Ξ?dāng)前業(yè)務(wù)環(huán)境的數(shù)據(jù)進(jìn)行有效集成。

在本文中,我們將探討 SQL Server Integration Services (SSIS)如何成為一個有效的工具包,如何能在滿足傳統(tǒng)的 ETL 操作需求的同時滿足多方面數(shù)據(jù)集成不斷變化的需求。我們還將討論 SSIS 與主要的 ETL 提供商所提供的工具和解決方案的根本區(qū)別。SSIS 能夠極好地滿足全球企業(yè)(從最大的企業(yè)到最小的企業(yè))不斷變化的需求。

SSIS體系結(jié)構(gòu)

任務(wù)流和數(shù)據(jù)流引擎

SSIS 既包含一個面向操作的任務(wù)流引擎,也包含一個可擴(kuò)展的快速數(shù)據(jù)流引擎。數(shù)據(jù)流存在于一個總體任務(wù)流的環(huán)境中。任務(wù)流引擎為數(shù)據(jù)流引擎提供運(yùn)行時資源和操作支持。任務(wù)流和數(shù)據(jù)流的這種組合,使 SSIS 能夠有效地作用于傳統(tǒng)的 ETL 或數(shù)據(jù)倉庫(DW)應(yīng)用場景以及許多其他擴(kuò)展的應(yīng)用場景(如數(shù)據(jù)中心操作)。在本文中,我們將主要關(guān)注與數(shù)據(jù)流相關(guān)的應(yīng)用場景。SSIS 用于面向數(shù)據(jù)中心的工作流時,是另外一個單獨(dú)的主題。

管道體系結(jié)構(gòu)

SSIS 的核心是數(shù)據(jù)轉(zhuǎn)換管道。這個管道有一個面向緩沖區(qū)的體系結(jié)構(gòu),一旦數(shù)據(jù)被加載到內(nèi)存中,該體系結(jié)構(gòu)能夠異??焖俚夭倏v數(shù)據(jù)行集。方法是,在一次單一操作中執(zhí)行 ETL 進(jìn)程中的所有數(shù)據(jù)轉(zhuǎn)換,而不是分段處理數(shù)據(jù),盡管存在特定的轉(zhuǎn)換或操作需求,或者硬件也可能會成為障礙。為了獲得最佳性能,該體系結(jié)構(gòu)需要避免分段處理數(shù)據(jù)。SSIS 甚至盡量避免從內(nèi)存中復(fù)制數(shù)據(jù)。相比之下,傳統(tǒng)的 ETL 工具往往需要在入庫和集成進(jìn)程的幾乎每個步驟都分段處理。不分段操縱數(shù)據(jù)的能力超越了對關(guān)系數(shù)據(jù)和平面文件數(shù)據(jù)的傳統(tǒng)處理能力,也超越了傳統(tǒng)的 ETL 轉(zhuǎn)換功能。SSIS 能將所有類型的數(shù)據(jù)(結(jié)構(gòu)化、非結(jié)構(gòu)化和 XML 等)在被加載到其緩沖區(qū)之前轉(zhuǎn)換為一種表格結(jié)構(gòu)(列和行)。能夠應(yīng)用于表格數(shù)據(jù)的任何數(shù)據(jù)操作,也能夠應(yīng)用于數(shù)據(jù)流管道中任何步驟的數(shù)據(jù)。這意味著,一個單一的數(shù)據(jù)流管道能夠集成各種不同來源的數(shù)據(jù),并且能夠執(zhí)行任何復(fù)雜的操作,而不必分段處理數(shù)據(jù)。

請注意,如果出于業(yè)務(wù)或操作方面的原因需要進(jìn)行分段處理,SSIS 也能對這些任務(wù)的執(zhí)行提供良好支持。

這種體系結(jié)構(gòu)支持在各種數(shù)據(jù)集成應(yīng)用場景(從傳統(tǒng)的面向 DW 的 ETL 到非傳統(tǒng)的信息集成技術(shù))中使用 SSIS。

ADO.NET 連接

集成服務(wù)解決方案的一個重要方面是提取或加載數(shù)據(jù)。因此,集成解決方案能夠無縫連接到多種數(shù)據(jù)源是非常重要的,這樣可以通過全面的數(shù)據(jù)接入平臺獲得最佳的性能和可靠性收益。SQL Server 2008 Integration Services 已針對 ADO.NET 連接(以前的版本是針對 OLE DB 或 ODBC 進(jìn)行優(yōu)化)進(jìn)行優(yōu)化。與 ADO.NET 的連接改善了對系統(tǒng)集成和對第三方的支持。SQL Server 2005 Integration Services 是使用 OLE DB 完成重要任務(wù)(如查找),但現(xiàn)在用戶可以針對任務(wù)、源組件和目標(biāo)組件使用 ADO.NET。

線程池

集成解決方案需要擴(kuò)大規(guī)模,但當(dāng)它達(dá)到一定規(guī)模之后,要改善性能就變得非常困難。SQL Server 2008 Integration Services 通過在多個組件之間共享線程打破了這種限制,從而提高了并行度,減少了堵塞。因此,高度并行、多處理器和多核心系統(tǒng)在很大程度使性能獲得提高。
在大部分系統(tǒng)的性能獲得提高的同時,線程池也減少了手動配置 SSIS 包來增加并行性的需要,從而提高了開發(fā)人員的工作效率。

持續(xù)查找

執(zhí)行查找是集成解決方案中最常見的操作之一。在數(shù)據(jù)入庫時查找操作尤為普遍,因?yàn)槭聦?shí)記錄是通過查找將業(yè)務(wù)鍵轉(zhuǎn)換為它們相應(yīng)的代理。SQL Server 2008 Integration Services 提高了查找操作的性能以相應(yīng)滿足最大表格的需要。

在處理輸入列之前,可以將查找轉(zhuǎn)換設(shè)定為緩存部分或全部引用數(shù)據(jù)。SQL Server 2008 Integration Services 能夠從任何源加載全部緩存,并允許緩存大小超過 4GB,即使在 32 位操作系統(tǒng)上也是如此。通過利用部分緩存,SQL Server 2008 Integration Services 能夠通過使用數(shù)據(jù)流預(yù)加載查找操作。部分緩存支持 OLEDB、ADO.Net 和 ODBC 的數(shù)據(jù)庫查找,而且能夠跟蹤查找結(jié)果和查找失誤。如果不選擇對引用數(shù)據(jù)預(yù)先加載緩存,SQL Server 2008 Integration Services 也支持對成批數(shù)據(jù)庫的調(diào)用和區(qū)分大小的匹配。

集成應(yīng)用場景

SSIS的數(shù)據(jù)傳輸操作

盡管 SQL Server 2005 Integration Services 相對以前的版本來說已經(jīng)是一個能夠提供更多功能的強(qiáng)大產(chǎn)品,但許多用戶發(fā)現(xiàn),其通過使用向?qū)У暮唵螖?shù)據(jù)傳輸操作非常復(fù)雜,缺乏實(shí)用性。SQL Server 2008 Integration Services 提供了使用 ADO.NET 的、改進(jìn)的向?qū)Ш透倪M(jìn)的用戶界面,能夠執(zhí)行自動數(shù)據(jù)類型轉(zhuǎn)換,與以前的版本相比更具可擴(kuò)展性。


圖2

SSIS的數(shù)據(jù)倉庫加載

從本質(zhì)上講,SSIS 是一個綜合的、功能全面的 ETL 工具。與高端市場上的競爭對手相比,其功能、規(guī)模和性能非常好,而且購置費(fèi)用也相對較少。數(shù)據(jù)集成管道體系結(jié)構(gòu)允許同時使用來自多個源的數(shù)據(jù),執(zhí)行多種復(fù)雜的轉(zhuǎn)換,然后同時將數(shù)據(jù)放置到多個目標(biāo)位置。這種體系結(jié)構(gòu)支持 SSIS 不僅可以用于大型數(shù)據(jù)庫,也可以用于復(fù)雜的數(shù)據(jù)流。在數(shù)據(jù)從一個(或多個)源位置向一個(或多個)目標(biāo)位置流動時,該結(jié)構(gòu)支持拆分、合并和組合不同的數(shù)據(jù)流,以及以其他方式對數(shù)據(jù)加以控制。圖 3 顯示了此類數(shù)據(jù)流的一個示例。

SQL Server 2008 提供對 Change Data Capture (更改數(shù)據(jù)捕獲,CDC)的支持,可以使用 CDC 記錄在 SQL Server 表格中的插入、更新和刪除操作,并且能夠以一種便于使用的相關(guān)方式對細(xì)節(jié)進(jìn)行更改。當(dāng)使用 SQL Server 2008 Integration Services 執(zhí)行某種 ETL 解決方案時,可以利用 CDC 確保在提取進(jìn)程中僅包含更改的數(shù)據(jù),從而消除了執(zhí)行全部數(shù)據(jù)(包含每個 ETL 操作中的未更改數(shù)據(jù))刷新所需的開銷。

SSIS 可以通過一套稱為適配器的專用組件來使用來自多種源的數(shù)據(jù)以及將數(shù)據(jù)加載到多種源,這些源包括托管的(ADO.NET)、OLE DB、ODBC、平面文件、 Microsoft Office Excel® 和 XML。SSIS 甚至可以使用來自自定義數(shù)據(jù)適配器(內(nèi)部開發(fā)或由第三方提供)的數(shù)據(jù),能夠封裝早期數(shù)據(jù)并將其合理地加載到數(shù)據(jù)源中,這樣數(shù)據(jù)就能無縫地集成到 SSIS 數(shù)據(jù)流中。SSIS 包含一組強(qiáng)大的數(shù)據(jù)轉(zhuǎn)換組件,用于完成構(gòu)建數(shù)據(jù)倉庫必需的數(shù)據(jù)操作。這些轉(zhuǎn)換組件包括:
 
◆聚合:在單一傳遞中執(zhí)行多次聚合。
◆排序:對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行排序。
◆查找:執(zhí)行靈活的、緩存的查找操作以引用數(shù)據(jù)集。
◆透視和逆透視:對數(shù)據(jù)流中透視數(shù)據(jù)和逆透視數(shù)據(jù)的兩種獨(dú)立轉(zhuǎn)換。
◆合并、合并聯(lián)接和全部合并:可以執(zhí)行聯(lián)接和合并操作。
◆派生列:執(zhí)行列級別的操作,如字符串、數(shù)字、日期/時間操作以及代碼頁翻譯。這一組件中包含了其他供應(yīng)商的組件,因此可以使用該組件執(zhí)行許多不同的轉(zhuǎn)換。
◆數(shù)據(jù)轉(zhuǎn)換:在各種類型(如數(shù)字和字符串)之間轉(zhuǎn)換數(shù)據(jù)。
◆審核:用于添加沿襲的元數(shù)據(jù)列和其他可操作的審核數(shù)據(jù)列。

除了這些核心數(shù)據(jù)倉庫轉(zhuǎn)換以外,SSIS 還對高級數(shù)據(jù)倉庫的需要提供支持,如提供Slowly Changing Dimensions (緩慢變化維,SCD)。SSIS 的 SCD 向?qū)б龑?dǎo)用戶通過指定對緩慢變化維的托管要求,并根據(jù)輸入的信息,生成具有多種變換的完整數(shù)據(jù)流,以執(zhí)行緩慢變化維的加載。支持標(biāo)準(zhǔn)的 Type 1、2 SCD,還提供兩種新的 SCD 類型(固定的屬性和推斷成員)。圖 4 顯示了 SCD 向?qū)У囊粋€頁面。

也可以使用 SSIS 直接從數(shù)據(jù)流管道加載 Analysis Services 的多維 OLAP(MOLAP)緩存。這意味著不僅可以使用 SSIS 創(chuàng)建關(guān)系數(shù)據(jù)倉庫,也可以使用它為分析型應(yīng)用程序加載多維數(shù)據(jù)集。

SSIS和數(shù)據(jù)質(zhì)量

SSIS 的關(guān)鍵功能之一(也是其集成數(shù)據(jù)的能力)是,通過集成不同的技術(shù)來操縱數(shù)據(jù)的能力。這種能力使 SSIS 創(chuàng)新性地引入了“模糊邏輯”——基于數(shù)據(jù)清理的組件。Microsoft研究實(shí)驗(yàn)室開發(fā)的這些組件代表了此領(lǐng)域的最新研究動向。該組件采取的方法是,使用一個獨(dú)立的域,該域不依賴于任何特定的域數(shù)據(jù),如地址/郵編等引用數(shù)據(jù)。這使用戶可以使用這類轉(zhuǎn)換清理大多數(shù)類型的數(shù)據(jù),而不只是清理地址數(shù)據(jù)。

SSIS在 Analysis Services 中深度集成了數(shù)據(jù)挖掘功能。數(shù)據(jù)挖掘在數(shù)據(jù)集中提取模式并將它們封裝到挖掘模型中。您可以使用此挖掘模型進(jìn)行預(yù)測——哪些數(shù)據(jù)屬于一個數(shù)據(jù)集,以及哪些數(shù)據(jù)存在異常。這樣,就可以將數(shù)據(jù)挖掘用作管理數(shù)據(jù)質(zhì)量的工具了。

SSIS對復(fù)雜數(shù)據(jù)路由的支持,不但有助于識別異常數(shù)據(jù),面且能夠自動用更好的值糾正和替換異常數(shù)據(jù)。這就使“關(guān)閉循環(huán)”清理應(yīng)用場景得以實(shí)現(xiàn)。

除了內(nèi)置的數(shù)據(jù)質(zhì)量功能以外,用戶還可以擴(kuò)展 SSIS 以使其與第三方數(shù)據(jù)清理解決方案共同發(fā)揮作用。

超越傳統(tǒng)ETL的SSIS應(yīng)用

數(shù)據(jù)流管道能夠操縱幾乎任何類型數(shù)據(jù)的能力、與 Analysis Services 的深度集成、對多種數(shù)據(jù)操縱技術(shù)的擴(kuò)展支持以及對富工作流引擎的引入,使 SSIS 可以應(yīng)用于傳統(tǒng)的 ETL 無法企及的許多應(yīng)用場景。

面向服務(wù)的體系結(jié)構(gòu)

SSIS 支持在數(shù)據(jù)流管道中使用 XML 數(shù)據(jù),這類數(shù)據(jù)可以是來自磁盤文件的數(shù)據(jù),也可以是通過HTTP 獲取的 URL 數(shù)據(jù)。XML 數(shù)據(jù)能夠被“細(xì)分”成為表格數(shù)據(jù),然后SSIS就可以在數(shù)據(jù)流中輕松地操縱它們。這種對 XML 的支持能夠與對 Web 服務(wù)的支持相互配合。SSIS 能夠與控制流中的 Web 服務(wù)相互作用以捕獲 XML 數(shù)據(jù)。

可以從文件中、從 Microsoft Message Queuing (Microsoft 消息隊列任務(wù),MSMQ)中以及通過 HTTP 從整個 Web 上捕獲 XML 數(shù)據(jù)。SSIS 支持使用 XSLT、 XPATH 和 diff/merge 等操縱 XML 數(shù)據(jù),而且可以將 XML 數(shù)據(jù)集成到數(shù)據(jù)流中。

這種支持使 SSIS 成為靈活的、面向服務(wù)的體系結(jié)構(gòu)(SOA)的一部分。

數(shù)據(jù)挖掘和文本挖掘

SSIS 不僅在Analysis Services中深度集成了數(shù)據(jù)挖掘功能,它還提供文本挖掘組件。文本挖掘(也稱為文本分類)涉及到識別業(yè)務(wù)類別與文本數(shù)據(jù)(單詞和短語)之間的關(guān)系。它允許在文本數(shù)據(jù)中搜索關(guān)鍵字詞,并且基于此自動識別“感興趣的”文本。這能夠進(jìn)一步推動“關(guān)閉循環(huán)”操作的實(shí)施,從而實(shí)現(xiàn)業(yè)務(wù)目標(biāo),如提高客戶滿意度及提高產(chǎn)品和服務(wù)的質(zhì)量。

按需數(shù)據(jù)源

SSIS 的獨(dú)特功能之一是 DataReader 目標(biāo),用于將數(shù)據(jù)存入 ADO.NET DataReader 中。當(dāng)數(shù)據(jù)流管道中包含此組件時,可以使用包含 DataReader 目標(biāo)的包作為數(shù)據(jù)源,并將該數(shù)據(jù)源暴露為一個 ADO.NET DataReader。因此,不僅可以將 SSIS 用作傳統(tǒng)的 ETL 加載數(shù)據(jù)倉庫,還可以將它用作數(shù)據(jù)源,用以按照需要從多個源交付集成的、一致的數(shù)據(jù),以及清理數(shù)據(jù)。例如,您可能會使用 SSIS 包作為其數(shù)據(jù)源,通過此方法幫助 Reporting Services 從多個不同的數(shù)據(jù)源上獲取數(shù)據(jù)。

集成了所有這些功能的一個可能的應(yīng)用場景是,從 RSS 源識別和提交有趣的文章作為常規(guī)報告的一部分。圖7顯示了一個通過 Internet 從 RSS 源獲取數(shù)據(jù)的 SSIS 包,該 SSIS 包從一個 Web 服務(wù)上集成數(shù)據(jù),執(zhí)行文本挖掘以從 RSS 源上找到有趣的文章,然后將有趣的文章放入一個 DataReader 目標(biāo),最后在Reporting Services 報告中使用該文章。

從 ETL 工具的角度來看,該應(yīng)用場景非常與眾不同,因?yàn)樗鼪]有進(jìn)行數(shù)據(jù)的提取、轉(zhuǎn)換和加載。

【編輯推薦】

  1. SQL Server 2008數(shù)據(jù)集成服務(wù)簡介
  2. 如何使用SQL Server 2008創(chuàng)建企業(yè)規(guī)模解決方案
  3. 增強(qiáng)SQL Server 2008的可管理性
責(zé)任編輯:佚名 來源: MSDN
相關(guān)推薦

2009-04-16 16:31:04

數(shù)據(jù)轉(zhuǎn)化數(shù)據(jù)集成SQL Server

2011-03-15 09:33:18

SQL Server 集成服務(wù)

2010-07-07 14:30:22

SQL Server

2011-04-11 12:55:34

SQL Server 平面文件

2010-07-20 09:15:03

SQL Server

2009-04-16 17:11:39

管理報表配置報表SQL Server

2009-04-16 17:44:46

性能優(yōu)化擴(kuò)展高性能

2009-02-25 11:42:43

FILESTREAM文件流文件管理

2011-08-01 10:09:57

SSAS數(shù)據(jù)庫

2009-04-16 17:55:15

擴(kuò)展熱插拔SQL Server

2021-11-05 09:23:58

數(shù)字化

2009-07-31 09:22:34

SQL Server

2009-02-16 15:41:04

非結(jié)構(gòu)化數(shù)據(jù)SQL Server SQL Server

2010-12-16 09:05:50

SQL Server

2010-11-26 14:08:00

SQL Server

2011-04-07 09:56:53

SQL Server 內(nèi)存

2010-12-07 16:17:40

SQL Server

2010-06-28 11:28:26

2010-07-06 13:22:13

SQL Server

2011-02-18 17:31:18

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號