關於資料遷移的方法、步驟和心得
關於資料遷移的方法、步驟和心得
在專案中經常會遇到系統完全更換後的歷史資料遷移問題,以示對客戶歷史工作的尊重,何況很多資料仍有保留的必要。
那怎麼做歷史資料遷移呢?
系統分析:
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、儲存過程、甚至遊標來實現,優先順序也如上
在專案中經常會遇到系統完全更換後的歷史資料遷移問題,以示對客戶歷史工作的尊重,何況很多資料仍有保留的必要。
那怎麼做歷史資料遷移呢?
系統分析:
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於伺服器資料遷移,介紹在伺服器資料遷移計劃中的7個步驟伺服器
- Centos MySQL資料庫遷移詳細步驟CentOSMySql資料庫
- 關於禪道的資料遷移
- Masonite 熟悉步驟小記錄 (三、資料庫遷移)資料庫
- 同版本的庚頓實時資料庫的資料遷移操作步驟資料庫
- 關於資料庫表的設計步驟資料庫
- 跪求關於〖執行緒遷移〗的相關資料!執行緒
- 雲端遷移需謹遵四大關鍵步驟
- Mysql資料遷移方法MySql
- 關於資料庫使用impdp+network_link遷移時,job的遷移資料庫
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- Oracle 資料檔案移動步驟Oracle
- oracle 10g資料庫表空間遷移之詳細步驟Oracle 10g資料庫
- oracle 10g資料庫之表空間遷移詳細步驟Oracle 10g資料庫
- 資料庫設計方法步驟資料庫
- 關於行連結和行遷移和消除
- 關於外來鍵的理解和實驗步驟
- 關於億級賬戶資料遷移,你應該試試這種方法...
- Oracle資料庫關於錶行連線和行遷移處理方案Oracle資料庫
- 用prebuild mv 方法遷移資料Rebuild
- FreeBSD 資料遷移方法(轉)
- MongoDB 資料遷移和同步MongoDB
- 關於Oracle資料庫中行遷移/行連結的問題Oracle資料庫
- 關於資料結構的學習心得資料結構
- 資料的遷移
- [高翔]關於卷遷移的整理
- Laravel 中資料遷移和資料填充Laravel
- 使用GoldenGate進行平臺遷移和資料庫升級(9i->11g)步驟描述Go資料庫
- Grafana的版本升級和資料遷移Grafana
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- 遷移資料.
- 關閉ORACLE資料庫步驟參考Oracle資料庫
- 關於 Laravel 遷移遇到的問題Laravel
- 【遷移】使用rman遷移資料庫資料庫
- SQL Server 遷移至MySQL 關鍵步驟的梳理總結ServerMySql
- Oracle10g 中的資料遷移的方法Oracle
- 從cygwin遷移到msys2的原因和步驟
- Mongodb資料遷移步驟MongoDB