在企業中,主要資料( Master Data)的來源常常會經由不同系統匯入,此時最大的挑戰就是「識別對應(identity mapping)」和「資料重複(de-duplication)」問題。
例如:來自不同系統的客戶資料,他們使用不同的識別碼,但卻表示同一位客戶,在建置主資料時,你該如何識別它們,以剔除這樣子的重複性。 另一種狀況是像名字或地址這類資料,常常因為輸入打字的原故,彼此之間有些微的不同,但是卻又代表相同的資料,在建置主資料時,也應該要剔除這樣子的重複性。
在企業中,主要資料( Master Data)的來源常常會經由不同系統匯入,此時最大的挑戰就是「識別對應(identity mapping)」和「資料重複(de-duplication)」問題。
例如:來自不同系統的客戶資料,他們使用不同的識別碼,但卻表示同一位客戶,在建置主資料時,你該如何識別它們,以剔除這樣子的重複性。 另一種狀況是像名字或地址這類資料,常常因為輸入打字的原故,彼此之間有些微的不同,但是卻又代表相同的資料,在建置主資料時,也應該要剔除這樣子的重複性。
在 SSIS 中提供許多工具或元件可以用來執行各種作業需求, 如果這些現成的元件還不能滿足需求話,你也可以利用以下元件,透過自訂程式碼的方式來設計封裝。
在安裝 Data Quality Services 之後,你就可以開始使用 DQS 提升資料品質。 DQS 中的「資料品質專案(Data Quality Project)」是一種改善來源資料品質的一種專案, 它會利用知識庫(KB)中的資訊,執行「資料比對(matching)」和「資料清理(cleansing)」活動(Activity),然後將執行結果匯出到 SQL Server 資料庫或 .csv 檔案。
下表先簡單整理解決「資料清理(cleansing)」「資料比對(matching)」問題,可用的工具:
Master Data Services(MDS)主要用途就是要用來執行主要資料管理(Master Data Management, MDM)。 主要資料指的是單位組織對其非交易之資料進行探索與定義,以便匯編成一份可維護的主要清單。 成功的 MDM 方案可產生可靠的集中式資料,以利資料分析,以便導出更好的商業性決策。
也就是說,MDS 主要用來維護一個精確且集中式的資料(即主要資料),確保整個組織的所有應用程式都能夠共同參考這一份資料。 例如:ERP, HMS, CRM 等不同系統,他們都必參照到"人"的資料,就可以透過 MDS 建立一份人的主要資料,以便當做這些應用程式的中央資料單位。 或者像郵遞區號,通常也都是當做主要資料。
MDM 專案一般包含內部商業程序的評估與重組,以及 MDM 技術的實作。 只要透過適當的訓練,大部分商務使用者應該都可以實作 Master Data Services 方案。 此外,您還可以使用 MDS 管理任何網域(domain);它不是單指管理客戶、產品或帳戶的清單。 首次安裝 MDS 時,它不包含任何網域的結構,但您可以經由建立模型來定義所需要的網域。
SQL Server 2012 在單一產品中提供了有效企業資訊管理 (EIM) 解決方案所需的所有元件。 可幫助您建置 EIM 解決方案的主要 SQL Server 2012 元件包括:
DQS 包含 Data Quality Server 和 Data Quality Client,兩者都會安裝成 SQL Server 2012 的一部分。
有數種方法都可以用來執行封裝,不過這些方法大抵可以被區分二個類別:
有時候為了便方將封裝在不同環境下執行(例如開發、測試和產品等不同環境),這時就必須採用動態方式來設計SSIS封裝。 動態封裝指的就是不用開啟或變更封裝內容,就能夠直接變更執行封裝要使用的設定值。 要達到這樣子的目的,除了原本就有的 Package Configuration 功能外, 在 SQL 2012 中也新引入了 Parameter 和 peoject-level Connection Manager 觀念來達到這樣子的效果。
下面幾個主題,都與動態封裝有關。
SSIS封裝除了可以用來執行資料轉移工作,它還包含許多其它有用的功能,可以用來強化整個封裝。例如:
設計「異動資料擷取」時,通常會將封裝分成二部份:「初始載入」和「遞增載入」封裝。
「初始載入」封裝通常只會執行一次, 它和一般的載入封裝沒什麼差別,只不過在 Control Flow 中的最開始和結尾處,各加入一個 CDC Control Task ,用以記錄相關 CDC 狀態。 而資料流程的內容則和一般的 ETL 流程沒什麼不同。
「遞增載入」封裝,也是在 Control Flow 中的最開始和結尾處,各加入一個 CDC Control Task ,用以記錄相關 CDC 狀態。 不過,在資料流程中,必須透過 CDC Source 來讀取 CDC 資料, 並利用 CDC Splitter 將新增、修改、刪除的資料分割開來處理。