2008/11/27

[轉載]不可不知的資料整合秘訣

來源: ZDNet Taiwan - 名家專欄 - 李玉秀 - 不可不知的資料整合秘訣

http://www.zdnet.com.tw/enterprise/column/cheryll/0,2000090487,20134655-2,00.htm

李玉秀 2008/11/27 05:00:00

作者為台灣微軟營運暨行銷事業群伺服器平台事業部資深產品經理,長年關注於資料庫與伺服器等後台相關的技術應用。

最近一家產業龍頭為解決資料整合(SQL Server Integration Services;SSIS)的問題,買了微軟的SQL Server,有朋友好奇地問我:「為何SSIS這麼重要,經濟都這麼不景氣了,他們還願意花錢採購新的資料庫軟體?」

我想,理由不外乎,「資料之於企業,是不可或缺的戰略資產」的觀念深植人心,而且,也有不少企業是透過良善的資料處理機制獲利,如保險、銀行、金融服務及電信等服務業者。

試想,上述的服務業者並沒有賣任何有形商品到你手裡,他們只是幫你整理資料而已,如投資型保單等服務,而這也意味著,資料整合與資料品質等議題對其來說,極為重要。

為確保資料整合無誤,上述服務業者多半花了許多資金與資源在維護系統,以及管理資料。

資料跟資訊系統有何相關?原來,資訊系統在歷經長時間的開發、使用後,極可能因為各個單位與歷屆工程師偏好的資料處理方式不同等因素,導致全公司在資料儲存與使用方式,千奇百怪,而這,極可能導致企業資訊人員無法因應業務需求,在最短時間內完成資料整合動作。

為何加速資料整合動作十分重要?我想,從TDWI(The Data Warehousing Institute)在2002年發布的報告內容,已說明一切。

「每年,美國企業花在處理品質不良的資料所耗費的人力、郵費、列印等支出約為美金6110億。而且,品質低落的資料所隱含的成本更高;其次,當一個企業傳遞錯誤的資訊給顧客時,如寄發錯誤的電子郵件等,極可能喪失該名顧客對企業的忠誠度,並連帶影響業務銷售狀況。」

就我的觀察,若企業欲以較低的資訊投資成本,快速執行資料轉換動作,以及提昇資料品質,可從部署一個統一的資料整合平台著手。

理由是,統一的資料整合平台不僅讓企業資訊人員得以一致的作業流程進行資料整合,亦可降低不必要的管理成本。

舉例來說,當企業資訊人員因應業務需求得將文管系統中的某個文件與企業資源規劃(ERP)系統中的Bom表整合在一起時,除得撰寫簡單的指令碼或程式外,還需要一個資料整合平台工具拋轉資料與管理上述指令碼等。

不過,該如何將資料整合平台工具用的好又巧呢?我想,關鍵是,在資料轉換的過程中,資訊人員有沒有特別注意錯誤處理等問題,舉例來說,資訊人員有沒有確實記錄每一個錯誤的資料整合動作等紀錄,以便事後檢視。

錯誤處理記錄之所以很重要,與部分企業使用的資訊系統的設計邏輯多未考量到關連式資料庫強調的正規劃,以及資料值域(如:唯一、預設值、check、主鍵)等限制有關,尤其是老舊系統,因此,資訊人員在進行多個資料整合等動作時,很可能發生資料內容不符合關連式資料庫預設的資料規格,或者是資料重複、內容衝突、資料過時等窘境。

資訊人員該如何避免上述問題發生?以下,我將根據以往的工作經驗,把常見的資料整合問題整理如下,供大家參考:

完全攻略手冊─資料整合篇

第一,確認異質型資料來源:現今的資料倉儲軟體多屬超大型關聯式資料庫,如Teradata、IBM及微軟等業者的產品,但因上述的資料庫軟體業者不是用一樣的資料存取邏輯在設計系統,因此,常可看到資訊人員因為各個資料倉儲系統的資料格式、溝通方式不同,導致資料整合工作不易執行,舉例來說,要將IBM Informix與Oracle DB等資料庫內的資料轉換到SQL Server,即有其困難度。

第二,釐清商業邏輯運算與彈性:隨著每個業務流程的優先順序、條件判斷、交易管理、資料庫物件維護、錯誤處理、訊息發佈等不同,資料整合的步驟多半會有所不同,如該如何進行資料分割、過濾、查閱(將代碼轉成值)、彙總、聯集、排序等,資訊人員必須了解上述的流程關係,方能順利執行資料整合等動作。

在上述的狀況下,若又突然增加了資料來源、或者是突然改變、擴增資料目的地用途等,那些設計用來轉換資料的物件是否易於修改與重用,將決定資訊人員花在資料整合的時間長短。

第三,即時擷取與同步異動資料:基本上,在兩個系統間,已載入的資料在下一次的資料整合時,不需要重做一次。但前提是,資訊人員知道哪些來源資料是變動過的、哪些資料曾經更新到目的地等…這意味著,資訊人員必須有個自動化工具紀錄所有的異動資料等。(人工紀錄也可)

第四,資料格式與語意一致化:凡是要轉進資料倉儲系統的資料格式與語意應該一致才對,但因不同交易系統規範資料的方法不一,舉例來說,當企業的HR系統是用「男」、「女」標示員工性別,而ERP系統則是用「0」/「1」、True/False,甚或Male / Female表示(因為資訊系統的資料格式與語意,完全是由系統設計師決定,無所謂的共通標準)時,企業資訊人員必須另定一套統一的資料存取機制,方能順利將HR與ERP系統內的員工資料存放至資料倉儲時,進行後續的比較、分析。

另外一種狀況是,A資訊系統與地址相關的欄位可能是五欄,其他的系統可能是六欄或四欄,但企業只打算在資料倉儲系統中,以三欄記載所有的地址資料時,需要合併或分割欄位,更甚者是將原來三欄的資料改成三列,或著反之…為順利執行上述動作,資訊人員必須先確認其不會在資料轉換過程中,搞亂了統一的語意、格式及資料的正確性等,而這,並不是一件容易的事情。

第五,集中管理有助錯誤分析:若資訊人員沒有先深入了解資料整合可能涉及的所有流程,以及每個系統內含的資料語意等,那麼,當資料在轉換過程中發生錯誤與遺漏,企業往往得加派額多的人力,分析與校正造成上述資料誤差的原因。

再加上資訊人員很難預測待處理的資料整合需求有多少,因此,較可行的方法是,定義資料轉換過程的集中控管、變動與例外處理機制,並讓資訊人員確切地了解上述規則,才比較有可能以自動化機制取代人工介入。

第六,週期性的資料轉換工作:企業如欲透過資料倉儲系統分析線上交易系統所隱含的意義,一定得以週期性、或批次轉換等方式進行資料彙整、分析,方有意義存在,否則,企業如何確定其透過資料倉儲機制分析出來的資料是正確無誤且符合當前狀況的資訊?

第七,釐清資料來源歷程:這指,資訊人員為做好資料整合工作所做的人、事、時、地、物的追蹤,諸如資料來源為何?執行哪些資料整合工作?哪個版本的程式碼產生這樣的結果?若修改了某個欄位結構會不會連帶影響某些資料整合工作?

第八,管理與監控:就我的經驗,中大型企業待處理的資料整合工作數目約在50到1000個,至於參與資料轉換工作的人數則從2、3人、甚至是幾十人都有,為避免多人多工導致混亂,企業可否透過系統監管,因應資料整合工作而生的部署、備份、版本控管、災難復原、教育訓練等工作,尤甚重要。

第九,資料整合引發的安全疑慮:依照安全的最小接觸面原理來看,資料整合動作一定會增加企業的安全漏洞。理由是,在進行多種資料匯整時,一定會碰上系統的存取介面、網路流通、登入帳號、機密性資料處理、經手人的授權、背景批次執行的帳號、加解密資料的流程監控等問題,企業如何確保資訊人員可以在符合安全規範的環境下,執行上述工作?

第十,要彈性還是效率:眾所皆知,彈性與效率基本上是互相衝突的兩個構面,彈性代表使用者只需簡單的進行設定後,系統工具本身會自己去找到正確的處理方式,但前提是,系統必須先進行較繁複的測試,並在執行時保留較大緩衝區,這將犧牲系統效能。

至於效率則代表使用者精確地設定,系統可以最簡單、直觀的方式處理單一事情、它並不會自行判斷與調整,而這意味著,任何一個設定疏失,即可能導致資料整合工作失敗。

根據我的經驗,在進行多種資料整合動作時,我們需要的是彈性,但對於大量資料載入工作,則需要效率

筆者曾碰過需要轉換數天,以兆(tera)為單位的資料量。在轉換過程中,我們這些資訊人員多半只能乾等,我們多半將上述時間統稱為資料處理的空窗期;空窗期越長,代表已整合的資料的及時性不足,延誤下一個資料轉換時程,而這,絕對不是大家樂見的。

第十一,客製化:雖然企業資訊人員可以透過現今的資料整合產品執行大多數的工作,但仍有可能碰到例外狀況,必須靠客製化程式解決。這時,資料整合平台工具業者所提供的產品介面、整合開發與測試環境,以及支援的可存取的程式語言等議題,將變得相對重要。

0 意見: