Integration Services 的一般用途
Integration Services 提供一組相當豐富的內建工作、容器、轉換,以及資料配接器,能夠支援商務應用程式的開發工作。您不需要撰寫任何程式碼,即可建立運用 ETL 和商務智慧解決複雜商務問題的 SSIS 方案、管理 SQL Server 資料庫,以及在 SQL Server 的執行個體之間複製 SQL Server 物件。
下列狀況描述 SSIS 封裝的一般用途。
合併來自異質資料存放區的資料
資料通常存放在許多不同的資料儲存體系統內,而從所有來源擷取資料並將資料合併為一致的單一資料集則極具挑戰性。造成此情況的理由有相當多種。例如:
許多組織會封存存放在舊有資料儲存體系統中的資訊。這些資料對於日常作業可能不重要,但對於需要長時間收集資料的趨勢分析來說則十分有價值。
組織的分支可能使用不同的資料儲存技術存放作業性資料。封裝可能必須先從試算表以及關聯式資料庫擷取資料,才能進一步合併資料。
資料可能存放在針對相同資料使用不同結構描述的資料庫中。封裝可能必須先變更資料行的資料類型,或從多個資料行將資料組合成單一資料行,才能進一步合併資料。
Integration Services 可連接各種不同的資料來源,包括單一封裝中的多個來源。封裝可使用 .NET 和 OLE DB 提供者連接到關聯式資料庫,以及使用 ODBC 驅動程式連接到許多舊版的資料庫。它還能連接到一般檔案、Excel 檔,以及 Analysis Services 專案。
Integration Services 包含各種來源元件,可執行從一般檔案、Excel 試算表、XML 文件,以及封裝所連接資料來源之關聯式資料庫的資料表和檢視中擷取資料的工作。
通常會接著使用 Integration Services 包含的轉換來轉換資料。在資料轉換成相容的格式之後,即可實際合併到一個資料集中。
資料成功合併且將轉換套用至資料之後,通常會將資料載入一或多個目的地。Integration Services 包含將資料載入一般檔案、原始檔案,以及關聯式資料庫中的目的地。資料還可載入記憶體中的資料錄集,並由其他封裝元素存取。
擴展資料倉儲和資料市場
資料倉儲和資料市場中的資料通常會經常更新,且資料負荷量通常相當大。
Integration Services 包含可直接從一般檔案將大量資料載入 SQL Server 資料表和檢視的工作,以及將大量資料載入 SQL Server 資料庫做為資料轉換程序中最後一個步驟的目的地元件。
SSIS 封裝可設定成可重新啟動。這表示您可以從預定的檢查點 (封裝中的工作或容器) 重新執行封裝。重新啟動封裝的功能可節省許多時間,尤其是封裝處理來自大量來源的資料時。
您可以使用 SSIS 封裝載入資料庫中的維度和事實資料表。如果維度資料表的來源資料存放在多個資料來源中,則封裝可將資料合併成一個資料集,並且以單一處理序載入維度資料表,而不必針對各資料來源使用不同的處理序。
更新資料倉儲和資料市場中的資料可能相當複雜,因為這兩種類型的資料存放區通常包含緩時變維度 (Slowly Changing Dimension),對於透過資料轉換處理序進行管理來說可能相當困難。「緩時變維度精靈」會藉由動態建立插入和更新記錄、更新相關記錄,以及新增資料行至資料表的 SQL 陳述式,自動支援緩時變維度。
此外,Integration Services 封裝中的工作和轉換亦可處理 Analysis Services Cube 和維度。當封裝更新建立 Cube 所在之資料庫中的資料表時,您就可使用 Integration Services 工作與轉換自動處理 Cube,並同時處理維度。自動處理 Cube 和維度可幫助下列兩種環境中的使用者維持資料的最新狀態:在 Cube 和維度中存取資訊的使用者,以及在關聯式資料庫中存取資料的使用者。
Integration Services 還可在資料載入其目的地之前,先行計算函數。如果您的資料倉儲和資料市場存放了彙總資訊,則 SSIS 可計算函數如 SUM、AVERAGE 和 COUNT。SSIS 轉換亦可樞紐關聯式資料,並將它轉換成較不正規化,但較能與資料倉儲中的資料表結構相容的格式。
清除和標準化資料
無論資料載入線上交易處理 (OLTP) 或線上分析處理 (OLAP) 資料庫、Excel 試算表或檔案中,都必須先經過清除和標準化才能載入。基於下列理由,資料可能需要經過更新:
資料由組織中的多個分支提供,而各分支使用不同的慣例和標準。資料必須另行格式化才能使用。例如,您可能必須將姓氏和名字組合成一個資料行。
資料為租借或購買而取得。資料可能必須經過標準化和清除以符合商務標準,才能進一步使用。例如,組織要確認所有記錄都使用同一組狀態縮寫,或同一組產品名稱。
資料有專屬地區設定。例如,資料可能使用不同的日期/時間和數字格式。如果合併了不同地區設定的資料,則必須將它轉換成同一地區設定再行載入,以避免資料損毀。
Integration Services 包含可加入至封裝中的內建轉換,用來清除和標準化資料、變更資料的大小寫、將資料轉換成不同的類型或格式,或者根據運算式建立新的資料行值。例如,封裝可將第一個和最後一個名稱資料行串連成單一全名資料行,然後將字元變更為大寫。
Integration Services 封裝還能使用完全查閱或模糊查閱尋找參考資料表中的值,藉由以參考資料表中的值取代資料行中的值來清除資料。封裝通常會先套用完全查閱,而如果該查閱失敗,才會套用模糊查閱。例如,封裝會先嘗試使用產品的主要索引鍵值,查閱參考資料表中的產品名稱。當此搜尋無法傳回任何產品名稱時,封裝就會嘗試再次搜尋,但這次會在產品名稱上使用模糊比對。
另一項轉換會藉由將類似資料集中的值分組來清除資料。在識別可能是重複且因此不應插入資料庫中的記錄時,這項轉換相當實用而不必進一步評估。例如,藉由比較客戶記錄中的地址,就可能找出許多重複的客戶。
在資料轉換處理序中建立商務智慧
資料轉換處理序需要內建的邏輯來動態回應其存取和處理的資料。
資料可能須根據資料值加以摘要、轉換以及分散。此處理序甚至可能必須根據資料行值的評估拒絕資料。
若要滿足這項需求,SSIS 封裝中的邏輯必須執行下列類型的工作:
合併多個資料來源的資料。
評估資料及套用資料轉換。
根據資料值將資料集分割成多個資料集。
將不同的彙總套用至資料集的不同子集。
將資料的子集載入不同或多個目的地。
Integration Services 提供各種容器、工作和轉換,可用於在 SSIS 封裝中建立商務智慧。
容器可藉由跨檔案或物件列舉以及評估運算式,支援重複執行工作流程。封裝可評估資料並根據結果重複工作流程。例如,如果資料為當月的資料,則封裝會執行一組工作;如果不是當月的資料,則封裝會執行另一組工作。
使用輸入參數的工作亦可在封裝中建立商務智慧。例如,輸入參數的值可篩選工作擷取的資料。
轉換可評估運算式,然後根據結果將資料集中的資料列傳送至不同的目的地。細分資料之後,封裝即可將不同的轉換套用至資料集的各子集。例如,運算式可評估日期資料行、加入適當時期的銷售資料,然後僅儲存摘要資訊。
另外也可以傳送資料集至多個目的地,然後將不同組的轉換套用至相同的資料。例如,一組轉換可摘要資料,同時另一組轉換藉由查閱參考資料表中的值並從其他來源加入資料來擴充資料。
自動化管理功能和資料載入
管理員經常希望自動化管理功能,例如備份和復原資料庫、複製 SQL Server 資料庫及其包含的物件、複製 SQL Server 物件,以及載入資料。Integration Services 封裝即可執行這些功能。
Integration Services 包含各種專門設計的工作,可用來複製 SQL Server 資料庫物件如資料表、檢視和預存程序、複製 SQL Server 物件如資料庫、登入和統計資料,以及使用 Transact-SQL 陳述式加入、變更和刪除 SQL Server 物件與資料。
管理 OLTP 或 OLAP 資料庫環境經常包括載入資料。Integration Services 即包含可簡化載入大量資料的數項工作。您可以運用工作從文字檔直接將資料載入 SQL Server 資料表和檢視中,或者在套用轉換至資料行資料之後,使用目的地元件將資料載入 SQL Server 資料表和檢視中。
Integration Services 封裝還可執行其他封裝。包含許多管理功能的資料轉換方案可分成多個封裝,如此可讓管理和重複使用封裝更為容易。
如果您需要在不同的伺服器上執行相同的管理功能,即可使用封裝。封裝可使用迴圈跨伺服器執行列舉,以及在多部電腦上執行相同的功能。為了支援 SQL Server 的管理工作,Integration Services 還提供列舉值,可跨 SQL Server 管理物件 (SMO) 的物件執行反覆運算。例如,封裝可使用 SMO 列舉值在 SQL Server 安裝的 Jobs 集合中的每項作業上,執行相同的管理功能。
SSIS 封裝還可使用「SQL Server 代理程式作業」進行排程。
|