關於資料遷移的方法、步驟和心得

bq_wang發表於2010-04-16
關於資料遷移的方法、步驟和心得

在專案中經常會遇到系統完全更換後的歷史資料遷移問題,以示對客戶歷史工作的尊重,何況很多資料仍有保留的必要。
那怎麼做歷史資料遷移呢?
系統分析:
1、分析原有的業務系統
精確到大致的系統功能模組、大致的處理流程即可
2、分析現有的業務系統
精確到大致的系統功能模組、大致的處理流程即可
3、分析兩者自己的區別和差異
大致分析一下兩個業務系統之間的區別,有助於確定工作量和工作進度
4、分析使用者對舊有資料的需求
分析對舊有資料的需求,才不至於盲目的全部性的進行遷移
5、分析使用者對舊有資料的處理規則
舊有資料的處理規則,一般分為以下幾類:
1、基礎資料,通常這一類容易遷移,資料格式簡單,但是會影響所有的相關業務資料,關注點為資料的主鍵和唯一鍵的方式。
2、純歷史資料的匯入,僅供參考用的,這一類資料匯入容易
 2.1 純歷史資料
 這一類資料處理起來會比較容易,一次性匯入即可,後續採用增量資料匯入。
 2.2 流程性資料
 這一類資料只有在記錄完全關閉後才能結束,需要進行增量匯入和資料更新,同時還要進行相關查詢介面的開發,以保證舊有資料能夠在新系統中查詢的到。
3、新老系統表結構變化較大的歷史資料
 這一類資料的工作量是最重的,就需要仔細去研究新老業務系統的資料結構了。
 1、儘量透過甲方單位來收集齊全相關原系統的相關設計文件,這一點對資料分析很有幫助,透過人的感覺和對資料的觀察來分析畢竟不太靠譜。
 2、在原系統上進行相關資料的觀察,瞭解資料的變化和資料表資料的關係(對於比較難以理解的相關欄位很有幫助)
 3、比較新老系統資料的差異,如果實在很不靠譜的話,建議按2.2去處理。

系統設計:
1、做完系統分析之後,對相關資料進行歸類,基礎資料、純歷史資料、變化較大的歷史資料
2、先從簡單的入手,給自己點信心
3、在excel表中進行相關表的資料字典對照,勾畫出對應欄位、轉換邏輯、依賴關係、必要時在新系統表上做相應的冗餘,等資料遷移完畢後再清除。
關鍵點:
不同資料庫的欄位型別的匹配問題,比如SQLServer的text,在oracle應該對應clob,但是寧願轉換成幾個varchar2,從實現角度相對容易些。
關於主鍵的問題,一致的資料型別儘量維持現有狀態,不一致的儘量採用oracle的序列或sqlserver的identity int,但是遷移完畢後,要注意序列值的更新

系統實現:
1、PL/SQL或T-SQL
2、DTS、SSIS或者PowerBuilder的管道

後話:
1、資料遷移沒有特別或高階的方法
2、對業務資料的分析最為關鍵,需要不斷的嘗試在新系統上不斷的測試
3、資料遷移技術,主要透過SQL、儲存過程、甚至遊標來實現,優先順序也如上

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-659910/,如需轉載,請註明出處,否則將追究法律責任。

相關文章