2014年1月28日 星期二

資料重覆問題

在企業中,主要資料( Master Data)的來源常常會經由不同系統匯入,此時最大的挑戰就是「識別對應(identity mapping)」和「資料重複(de-duplication)」問題。

例如:來自不同系統的客戶資料,他們使用不同的識別碼,但卻表示同一位客戶,在建置主資料時,你該如何識別它們,以剔除這樣子的重複性。 另一種狀況是像名字或地址這類資料,常常因為輸入打字的原故,彼此之間有些微的不同,但是卻又代表相同的資料,在建置主資料時,也應該要剔除這樣子的重複性。

在 SSIS 中自訂程式碼

在 SSIS 中提供許多工具或元件可以用來執行各種作業需求, 如果這些現成的元件還不能滿足需求話,你也可以利用以下元件,透過自訂程式碼的方式來設計封裝。

  • Script Task :允許在 Control Flow 中執行 .Net 腳本。
  • Script Component :允許在 Data Flow 中執行 .Net 腳本。
  • Custom Components :自訂元件,方便重複使用與部署。

SSIS and Data Mining

2014年1月27日 星期一

資料品質專案

在安裝 Data Quality Services 之後,你就可以開始使用 DQS 提升資料品質。 DQS 中的「資料品質專案(Data Quality Project)」是一種改善來源資料品質的一種專案, 它會利用知識庫(KB)中的資訊,執行「資料比對(matching)」和「資料清理(cleansing)」活動(Activity),然後將執行結果匯出到 SQL Server 資料庫或 .csv 檔案。

下表先簡單整理解決「資料清理(cleansing)」「資料比對(matching)」問題,可用的工具:

2014年1月24日 星期五

Lab10:建立 MDS 模型

這個 Lab 將練習如何建立 MDS 模型及其相關物件。並且在模型中,以手動方式,建立實體的成員。

2014年1月22日 星期三

管理 Master Data

設計 Master Data Services (MDS)

Master Data Services

Master Data Services(MDS)主要用途就是要用來執行主要資料管理(Master Data Management, MDM)。 主要資料指的是單位組織對其非交易之資料進行探索與定義,以便匯編成一份可維護的主要清單。 成功的 MDM 方案可產生可靠的集中式資料,以利資料分析,以便導出更好的商業性決策。

也就是說,MDS 主要用來維護一個精確且集中式的資料(即主要資料),確保整個組織的所有應用程式都能夠共同參考這一份資料。 例如:ERP, HMS, CRM 等不同系統,他們都必參照到"人"的資料,就可以透過 MDS 建立一份人的主要資料,以便當做這些應用程式的中央資料單位。 或者像郵遞區號,通常也都是當做主要資料。

MDM 專案一般包含內部商業程序的評估與重組,以及 MDM 技術的實作。 只要透過適當的訓練,大部分商務使用者應該都可以實作 Master Data Services 方案。 此外,您還可以使用 MDS 管理任何網域(domain);它不是單指管理客戶、產品或帳戶的清單。 首次安裝 MDS 時,它不包含任何網域的結構,但您可以經由建立模型來定義所需要的網域。

安裝與維護 Data Quality Servies (DQS)

企業資訊管理解決方案 (EIM)

SQL Server 2012 在單一產品中提供了有效企業資訊管理 (EIM) 解決方案所需的所有元件。 可幫助您建置 EIM 解決方案的主要 SQL Server 2012 元件包括:

  • SSIS : SQL Server Integration Services
    提供強大的 ETL 功能,整合各種不同的來源資料。
  • MDS : SQL Server Master Data Services
    該服務可用來維護一個精確且集中式的資料集,確保主要資料在不同應用程式之間的完整性和一致性。
  • DQS : SQL Server Data Quality Services
    該服務可讓您清理、比對、標準化及充實資料,籍此維護資料的品質,並確保資料適合其商業用途。

什麼是 Data Quality Services (DQS)

  • DQS 是一種利用知識驅動(knowledge-driven)以提升資料品質的服務。
  • DQS 可讓您建立知識庫,然後使用該知識庫執行各種重要的資料品質工作,包括更正(correction)、充實(enrichment)、標準化(standardization)及刪除重複(de-duplication)資料。
  • 你也可以在 DQS 中使用雲端參考資料當作參考資料提供者,以更執行資料清理
  • DQS 也提供您整合資料品質工作(data-quality tasks),讓您分析資料的完整性。

DQS 包含 Data Quality Server 和 Data Quality Client,兩者都會安裝成 SQL Server 2012 的一部分。

  • Data Quality Server:一個 SQL Server 執行個體功能。其中包含具有資料品質功能與儲存的三個 SQL Server 目錄。
  • Data Quality Client:一個 SQL Server 共用功能。 操作者(商務使用者、資訊工作者以及 IT 專業人員)可以使用該功能來執行電腦輔助的資料品質分析(自動),或者以互動方式來管理資料品質(人工)。

2014年1月8日 星期三

疑難排除與效能調整

封裝執行

有數種方法都可以用來執行封裝,不過這些方法大抵可以被區分二個類別:

  • On-demand:依需求使用人工操作的方法來啟動執行。
  • Automated:由 SSIS Service 自動啟動執行。

2014年1月5日 星期日

動態封裝

有時候為了便方將封裝在不同環境下執行(例如開發、測試和產品等不同環境),這時就必須採用動態方式來設計SSIS封裝。 動態封裝指的就是不用開啟或變更封裝內容,就能夠直接變更執行封裝要使用的設定值。 要達到這樣子的目的,除了原本就有的 Package Configuration 功能外, 在 SQL 2012 中也新引入了 Parameter 和 peoject-level Connection Manager 觀念來達到這樣子的效果。

下面幾個主題,都與動態封裝有關。

2014年1月3日 星期五

強化封裝

SSIS封裝除了可以用來執行資料轉移工作,它還包含許多其它有用的功能,可以用來強化整個封裝。例如:

  • 使用 error handle 來協助封裝測試與問題排除。
  • 使用 transaction 來達到封裝的交易能力。
  • 使用 checkkpoint 來接續封裝上次執行失敗的地方。
  • 利用 event-handling 來補捉各種不同的事件,如 OnWarning, OnError 。

2014年1月2日 星期四

Lab8:異動資料擷取

設計「異動資料擷取」時,通常會將封裝分成二部份:「初始載入」和「遞增載入」封裝。

初始載入」封裝通常只會執行一次, 它和一般的載入封裝沒什麼差別,只不過在 Control Flow 中的最開始和結尾處,各加入一個 CDC Control Task ,用以記錄相關 CDC 狀態。 而資料流程的內容則和一般的 ETL 流程沒什麼不同。

遞增載入」封裝,也是在 Control Flow 中的最開始和結尾處,各加入一個 CDC Control Task ,用以記錄相關 CDC 狀態。 不過,在資料流程中,必須透過 CDC Source 來讀取 CDC 資料, 並利用 CDC Splitter 將新增、修改、刪除的資料分割開來處理。