使用SSIS作為集成開發(fā)平臺(tái)
SSIS 超越 ETL 工具之處不僅在于它可以使用非傳統(tǒng)的應(yīng)用場(chǎng)景,而且在于它是一個(gè)可以進(jìn)行數(shù)據(jù)集成的真正平臺(tái)。SSIS 是 SQL Server Business Intelligence(BI)平臺(tái)(開發(fā)端到端的雙向應(yīng)用)的一部分。
集成的開發(fā)平臺(tái)
SQL Server Integration Services、Analysis Services 和 Reporting Services 都使用一個(gè)共同的基于 Microsoft Visual Studio ® 的開發(fā)環(huán)境,即 SQL Server Business Intelligence (BI) Development Studio。BI Development Studio 為 BI 應(yīng)用程序的開發(fā)提供了一個(gè)集成的開發(fā)環(huán)境(IDE)。這個(gè)共享的基礎(chǔ)結(jié)構(gòu)支持在各種開發(fā)項(xiàng)目(集成、分析和報(bào)告)之間進(jìn)行元數(shù)據(jù)級(jí)的集成。這種共享構(gòu)造的一個(gè)示例是數(shù)據(jù)源視圖(DSV),DSV 是數(shù)據(jù)源的脫機(jī)架構(gòu)/視圖定義,可應(yīng)用于所有這三種項(xiàng)目類型。
IDE 提供與版本控制軟件(如 VSS)等進(jìn)行集成的設(shè)施,也支持基于團(tuán)隊(duì)的功能(如“簽入/簽出”),因此,它能夠滿足商業(yè)智能應(yīng)用程序?qū)ζ髽I(yè)級(jí)的、面向團(tuán)隊(duì)的、開發(fā)環(huán)境的需求。圖 9 顯示了一個(gè)包含集成、分析和報(bào)告項(xiàng)目的 BI Development Studio 解決方案。
這不僅提供了一個(gè)開發(fā) BI 應(yīng)用程序的單一位置,還可用于開發(fā)其他 Visual Studio 項(xiàng)目(使用Visual C#®、Visual Basic® .NET 等),從而為開發(fā)人員提供了一種真正的端到端的開發(fā)體驗(yàn)。
除了提供一種集成的 BI 開發(fā)環(huán)境以外,BI Development Studio 還具有對(duì) SSIS 包進(jìn)行準(zhǔn)確的運(yùn)行時(shí)調(diào)試的功能,包括設(shè)置斷點(diǎn)的能力及對(duì)標(biāo)準(zhǔn)開發(fā)構(gòu)造(如觀察變量)的支持。一個(gè)真正獨(dú)特的功能是數(shù)據(jù)查看器,當(dāng) Integration Services 處理數(shù)據(jù)流管道中的數(shù)據(jù)時(shí),可以使用數(shù)據(jù)查看器查看多行數(shù)據(jù)。這種數(shù)據(jù)的可視化可以以常規(guī)文本網(wǎng)格的形式表示,也可以以圖形(如散點(diǎn)圖或條形圖)表示。實(shí)際上,可以連接多個(gè)查看器,以便同時(shí)以多種格式顯示數(shù)據(jù)。圖 10 顯示了使用散點(diǎn)圖和文本網(wǎng)格表示可視化地理數(shù)據(jù)的一個(gè)示例。
可編程性
除了提供專業(yè)的開發(fā)環(huán)境以外,SSIS 還通過一套 API 展示了其所有功能。這些 API 既有托管的(.NET Framework),也有本機(jī)的(Win32),允許開發(fā)人員通過以任何 .NET Framework 支持的語言(如 Visual C#、Visual Basic .NET 等)和 Visual C++ 支持的語言開發(fā)自定義組件來擴(kuò)展 SSIS 的功能。這些自定義組件可以是工作流任務(wù)和數(shù)據(jù)流轉(zhuǎn)換(包括源適配器和目標(biāo)適配器)。這樣,在 SSIS 集成進(jìn)程中就能輕松地包含早期的數(shù)據(jù)和功能,從而能夠使過去投資的傳統(tǒng)技術(shù)仍然發(fā)揮作用。SSIS也能容易地包含第三方組件。
腳本
本文前面提到的可擴(kuò)展性并非只能從可以再度使用的自定義組件獲得,還可以獲得基于腳本的可擴(kuò)展性。SSIS 既有針對(duì)任務(wù)流的腳本組件,也有針對(duì)數(shù)據(jù)流的腳本組件。它們都允許用戶用 Visual Basic. NET 語言編寫腳本以添加即席功能(包括數(shù)據(jù)源和目標(biāo))以及重新使用封裝為 .NET Framework 程序集的任何現(xiàn)有功能。
SQL Server 2008 包含用于應(yīng)用程序的 Visual Studio 工具,該工具提供一種腳本環(huán)境,可以使用Visual Basic .NET 或 C# 執(zhí)行腳本組件。
具有可擴(kuò)展性的模型使 SSIS 不僅是一個(gè)數(shù)據(jù)集成工具,還是一個(gè)集成總線,可以容易地集成像數(shù)據(jù)挖掘、文本挖掘和統(tǒng)一維度模型(UDM)這樣的技術(shù),以實(shí)現(xiàn)包含非常任意的數(shù)據(jù)操縱和結(jié)構(gòu)的復(fù)雜集成應(yīng)用場(chǎng)景。
使數(shù)據(jù)集成更容易完成
SSIS 體系結(jié)構(gòu)的靈活性和可擴(kuò)展性,使它可以解決在本文前面提及的數(shù)據(jù)集成所面臨的大部分技術(shù)挑戰(zhàn)。如圖 12 所示,SSIS 消除了不必要的分段處理(或者至少使之最小化)。因?yàn)槭窃趩我还艿啦僮髦袌?zhí)行復(fù)雜的數(shù)據(jù)操縱,現(xiàn)在它能對(duì)數(shù)據(jù)的變化和模式迅速作出反應(yīng),而且使用一種對(duì)關(guān)閉循環(huán)和執(zhí)行操作適用的時(shí)間框架。相比之下,就關(guān)閉循環(huán)和對(duì)數(shù)據(jù)執(zhí)行適當(dāng)?shù)牟僮鞫?,依賴于?shù)據(jù)分段處理的傳統(tǒng)體系結(jié)構(gòu)就顯得不切實(shí)際。
SSIS 的可擴(kuò)展特性使組織能夠通過將自定代碼作為可以再度使用的擴(kuò)展封裝到 SSIS 中,并在此基礎(chǔ)上充分利用日志記錄、調(diào)試和 BI 集成等功能,從而將他們?cè)谧远x代碼方面的現(xiàn)有投資用于數(shù)據(jù)集成。這非常有助于克服本文前面提及的某些組織挑戰(zhàn)。
與其他高端數(shù)據(jù)集成工具相比,SQL Server 產(chǎn)品中包含的 SSIS 的購置成本顯得非常合理。不僅初次購置成本下降,而且通過與 Visual Studio 和其他 SQL Server BI 工具的緊密集成,SSIS的應(yīng)用程序開發(fā)和維護(hù)的成本相對(duì)其他類似的工具而言也顯著下降。SSIS(以及 SQL Server 的其他組件)極為合理的總體擁有成本(TCO),使企業(yè)級(jí)的數(shù)據(jù)集成能夠適用于所有的細(xì)分市場(chǎng),而不再是專用于最大(和最富有的)的公司。同時(shí),SSIS 的體系結(jié)構(gòu)適合利用新式的硬件,其提供的性能和規(guī)模能夠滿足最高端客戶的需求。SSIS 能夠使所有客戶(從最高端的企業(yè)到小型和中型企業(yè))實(shí)現(xiàn)豐富的、可擴(kuò)展的數(shù)據(jù)集成。由于與 SQL Server 中的其他功能和Microsoft 的客戶支持基礎(chǔ)結(jié)構(gòu)(從廣泛的、長(zhǎng)期的 beta 測(cè)試到豐富的聯(lián)機(jī)社區(qū),再到主要支持合同)的結(jié)合使用,以及與其他 Microsoft 產(chǎn)品的集成,使 SSIS 真正成為一個(gè)獨(dú)特的工具包,它為數(shù)據(jù)集成開辟了新的領(lǐng)域。
結(jié)束語
在當(dāng)今的商業(yè)世界中,許多企業(yè)都依賴于數(shù)據(jù)集成技術(shù)來提供有意義的、可靠的信息以維持其競(jìng)爭(zhēng)優(yōu)勢(shì)。SQL Server 2008 Integration Services (SSIS)能夠幫助信息技術(shù)部門滿足企業(yè)進(jìn)行數(shù)據(jù)集成的需要。SQL Server 2008 Integration Services 能夠清理、轉(zhuǎn)換,以及將海量的多種數(shù)據(jù)源映射成為有用的格式。新增功能在改善其擴(kuò)展能力和提高性能的同時(shí),加快了開發(fā)速度并降低了 TCO。
【編輯推薦】