在信息化建設過程中,隨著技術的發展,原有的信息系統不斷被功能更強大的新系統所取代。從兩層結構到三層結構,從ClIEnt/Server到Browser/Server。在新舊系統的切換過程中,必然要面臨一個數據遷移的問題。
數據遷移的概念
原有的舊系統從啟用到被新系統取代,在其使用期間往往積累了大量珍貴的歷史數據,其中許多歷史數據都是新系統順利啟用所必須的。另外,這些歷史數據也是進行決策分析的重要依據。數據遷移,就是將這些歷史數據進行清洗、轉換,並裝載到新系統中的過程。數據遷移主要適用於一套舊系統切換到另一套新系統,或多套舊系統切換到同一套新系統時,需要將舊系統中的歷史數據轉換到新系統中的情況。銀行、電信、稅務、工商、保險以及銷售等領域發生系統切換時,一般都需要進行數據遷移。對於多對一的情況,例如由於信息化建設的先後,造成有多個不同的系統同時運行,但相互間不能做到有效信息共享,所以就需要一套新系統包容幾套舊系統的問題。
數據遷移對系統切換乃至新系統的運行有著十分重要的意義。數據遷移的質量不光是新系統成功上線的重要前提,同時也是新系統今後穩定運行的有力保障。如果數據遷移失敗,新系統將不能正常啟用;如果數據遷移的質量較差,沒能屏蔽全部的垃圾數據,對新系統將會造成很大的隱患,新系統一旦訪問這些垃圾數據,可能會由這些垃圾數據產生新的錯誤數據,嚴重時還會導致系統異常。
相反,成功的數據遷移可以有效地保障新系統的順利運行,能夠繼承珍貴的歷史數據。因為無論對於一個公司還是一個部門,歷史數據無疑都是十分珍貴的一種資源。例如公司的客戶信息、銀行的存款記錄、稅務部門的納稅資料等。
數據遷移的特點
系統切換時的數據遷移不同於從生產系統OLTP (On-line Transaction Processing),到數據倉庫DW(Data Warehouse)的數據抽取。後者主要將生產系統在上次抽取後所發生的數據變化同步到數據倉庫,這種同步在每個抽取周期都進行,一般以天為單位。而數據遷移是將需要的歷史數據一次或幾次轉換到新的生產系統,其最主要的特點是需要在短時間內完成大批量數據的抽取、清洗和裝載。
數據遷移的內容是整個數據遷移的基礎,需要從信息系統規劃的角度統一考慮。劃分內容時,可以從橫向的時間和縱向的模塊兩個角度去考慮。
橫向劃分
以產生數據的時間為劃分依據,需要考慮比較久遠的歷史數據如何遷移的問題。由於信息技術的發展,以及我們對計算機依賴性的增強,新系統每天往往需要比舊系統存儲更多的信息,同時為了解決數據量高增長帶來的性能瓶頸,新系統一般只保留一定時期的數據,比如1年,而把超過保存周期的數據,即1年以前的數據轉移到數據倉庫中,以便用於決策分析。對於這種新系統的數據遷移,主要遷移1年以內的數據,1年以前的歷史數據需要另外考慮。
縱向劃分
以處理數據的功能模塊為劃分依據,需要考慮在新系統中沒有被包含的功能模塊,其所涉及數據的處理問題。這類數據由於無法建立映射關系,一般不需要遷移到新系統中。但對於模塊間偶合度比較緊密的舊系統,在縱向劃分時需要注意數據的完整性。
數據遷移的三種方法
數據遷移可以采取不同的方法進行,歸納起來主要有三種方法,即系統切換前通過工具遷移、系統切換前采用手工錄入、系統切換後通過新系統生成。
系統切換前通過工具遷移
在系統切換前,利用ETL(Extract Transform Load)工具把舊系統中的歷史數據抽取、轉換,並裝載到新系統中去。其中ETL工具可以購買成熟的產品,也可以是自主開發的程序。這種方法是數據遷移最主要,也是最快捷的方法。其實施的前提是,歷史數據可用並且能夠映射到新系統中。
系統切換前采用手工錄入
在系統切換前,組織相關人員把需要的數據手工錄入到新系統中。這種方法消耗的人力、物力比較大,同時出錯率也比較高。主要是一些無法轉換到新系統中的數據,和新系統啟用時必需要而舊系統無法提供的數據采用這種方法,可作為第一種方法的有益補充。
系統切換後通過新系統生成
在系統切換後,通過新系統的相關功能,或為此專門開發的配套程序生成所需要的數據。通常根據已經遷移到新系統中的數據來生成所需的信息。其實施的前提是,這些數據能夠通過其它數據產生。