程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 怎樣進行成功的數據庫遷移

怎樣進行成功的數據庫遷移

編輯:DB2教程

大部分公司正面臨的問題之一就是,將數據庫移植到新的硬件或者不同的操作系統平台,甚至是一個新的數據庫提供商的產品。這個過程涉及到了許多步驟和因素。本文將介紹整個過程和一些公司經歷。

Bloor研究所最近一項調查顯示,估計數據遷移市場將超過50億美元並且還正在日益增長。現在許多公司有不同的方法進行數據庫遷移,如抽取/轉換/裝載(簡稱ETL ) ,復制和手動腳本。然而這些方法面臨著一些問題,當一方面數據量在增長,而另一方面允許的停機時間在減少時,這項工作將變得更復雜。

Bloor研究所於2007年9月發布的“2000年全球數據遷移” 報告中列出以下統計數據:

• 16%的數據遷移部分項目取得了成功

• 37%的預算超支

• 64%沒有按時完成

遷移要經過精心策劃和執行,以盡量減少停機時間並保持數據的完整性和數據庫的性能,因為許多公司已經遍布全球,並且每天24小時都要操作數據庫 。

我們以數據庫遷移為話題采訪了各行各界的人,最後采訪顯示切換到新系統的主要原因之一是舊系統遷移。新系統的總體擁有成本( TCO )通常是比過時的系統維護費更低。一些公司執行數據庫遷移由於設備租賃結束,並要被一個更新的系統所取代。一旦遷移完成,目標系統將是最新的並且將獲得硬件和軟件供應商的支持。新的系統將具有更廣泛的功能並且更利於環保。

遷移類型

由於數據庫比一系列文件更加難以遷移,因此遷移過程和資源分配都必須經過精心策劃並且定制到具體環境,以最大限度地減少停工時間。

有各種類型的數據庫遷移,如:

• 數據庫升級

安裝最新的數據庫版本

• 硬件升級

移動到同一平台上新的硬件/軟件版本

• 新平台

移動到不同的硬件/軟件平台

• 操作系統升級

升級現行操作系統版本

所有這些類型的數據遷移是相互獨立的,但有些往往是交織在一起,使之更有效率和更好利用這整個過程。最常見的一種類型的遷移是數據庫升級到新的版本。這種做法通常是與硬件升級和/或操作系統升級結合起來。所有這些數據遷移路徑涉及目標系統上新數據庫服務器的安裝。通常情況下,它是數據庫的最新版本。

大部分的受訪者說,源平台和目標平台是不同的。一位企業級解決方案和技術全球供應商的代表說,他們的目標系統是Windows ,而來源是Windows , Linux ,和UNIX的組合。莫希干蓮恩在Overstock.com上提到,他們的目標平台是64位Linux ,而來源卻是32位。據沃達豐的丹尼爾蘇西尤稱目標和源系統有不同的操作系統,甚至數據庫。

步驟

無論是那種遷移類型,都有共同的執行步驟,以確保一個成功的遷移。這些步驟是:

• 規劃

在規劃階段,源系統和目標系統都被分析,轉移數據量,所花費的時間,進行遷移現有系統允許的停機,安全,系統的可用性和回滾的選擇。可能還有其他因素,具體到當前的業務需求,如政府和行業法規。該規劃需要有盡可能詳細到執行命令。

將數據傳輸到新的系統所需的時間常常被忽視,但它往往是最耗時操作。,在FTP協議下,當數據庫大小達到數百個千兆字節或更多是,使用最大數據傳輸速率超過100 MB /秒的網絡這些時間不夠的。在允許的時間內,轉移大型的數據庫,支持巨型幀傳輸的千兆網絡或更快的網絡是必需的。此外,如果數據被傳輸通過SSH協議,由於安全問題,那麼它會更慢,因為加密開銷。

另一個重要方面是源數據庫和目標數據庫的兼容性。這取決於操作系統平台,數據庫供應商,以及版本。例如,在同一平台上, 把Oracle數據庫從9.2版本遷移到10g,比從10g遷移到11g需要更少的步驟來完成。跨平台或數據庫廠商更是有限的,這通常意味著把數據輸出到文件,然後導入,或使用復制或網關技術。

• 目標籌備

目標系統安裝和配置將成數據庫遷移完成後的首要任務。所有必要的補丁必須安裝。這樣做是根據硬件和軟件的規范和任何特定的業務需求,如安全,備份,以及其他的要求。應用程序將不得不指向新系統,並且必須同網絡和系統管理員進行協調。

• 測試

這一步涉及到數據遷移計劃的測試。通常情況下,測試在不屬於生產環境這樣一套系統上進行,以防止任何業務中斷。舉例來說,這些系統可能是在源系統上開發的但卻要運行在不同的目標系統上。在這一步這兩個系統監測完成遷移時間和資源利用率。這目標系統用來證實測試成功的完成,以確保數據的完整性,可獲取性,以及系統的性能。

最理想的是,數據量應該是非常接近生產環境,如果不備份環境。這對適當的數據庫性能優化和調整是必要,因為不同的數據庫版本可能會在這方面有不同的行為。因為數據傳輸速率和存取時間在不同系統之間會有所不同,數據統計必須在各級目標系統進行收集,確保適當資源利用率。

任何必要的修改都必須反映在該計劃中。由於高系統復雜性,測試可能要反復進行。

• 移植

一旦測試已順利完成,生產數據遷移按照計劃執行。如果生產數據可以在允許的停機時間內被遷移,那麼整個過程將是非常容易管理,否則,其他步驟都必須執行,以確保遷移圓滿完成。

回滾選擇是必備的,萬一新系統因故發生故障,並且也沒有留下更多的時間來糾正這個問題。

一定要收集如前所述的數據統計,並設置必要的用戶和對象層次特權。這兩項是最常見的目標系統問題。

• 驗證

類似的測試遷移,數據核查,必須在目標系統完成。它確保數據的完整性和優化系統的性能。在舊的系統退役之前,這兩種系統可能會在並行運行。在這種情況下,數據流必須安裝兩個系統之間,使它們完全相同。通常是這樣做,的目目的系統配置為主機,舊的系統被配置為副機,所以數據流從新的流向舊的系統。這種情況下,復制是一種理想的工具。為防止雙向數據流必須有沖突檢測和解決的機制。

是否要執行額外的任務,取決於遷移的類型。當移動到不同的數據庫平台或者數據整理刪除過時或多余的信息時,這些任務可能會被創造新的數據庫結構。數據整理和一致性被在兼容性和時間限制之中的受訪問者稱為是最有挑戰性的問題。

供應商

也有第三方的解決方案,如金門軟件(GoldenGate Software),提供“一個交易數據管理(TDM)的平台,使大量的交易數據以次秒級的速度不斷在企業系統之間移植,維護數據的完整性,並降低對系統的影響。 “

Overstock.com選定金門軟件轉移客戶數據,將他們從支持其零售網站的甲骨文9i數據庫中移植到運行在TeradataV2R6數據庫上的Teradata數據倉庫中。 Mohican萊恩說,他們“評估Quest的Shareplex軟件,以及甲骨文公司的嵌入式數據庫復制軟件。我們選擇金門軟件是由於實施簡單和易用性。 “

另一個解決辦法是由Informatica公司提供數據遷移套件。這是一套多件產品,可用於各種情況,並有永久許可證和項目級許可證兩種選擇。該項目級許可證的有效期可為6 , 12 ,或18個月。

Celona提供數據遷移軟件,可用於各種遷移情景,如基於事件的,漸進的,批量加載等。

丹麥人約翰說,當為Vaman TechnologIEs工作時,他們“分析大多數遷移工具,因此在某些情況下,我們可以使用第三方工具或者我們自己內部開發。 ”

還有其他廠商提供類似的解決方案,可能會更適用於您的情況。這些解決方案可以協助各種數據遷移方案減少或完全消除停機時間。

總結

數據庫遷移是一個復雜的工程,必須深入分析。確定遷移類型和必要的工具以及完成它所需的資源。在選擇一個之前,各種辦法都必須全面審查和了解。

遷移可以在內部進行或外包給一家咨詢業務。考慮使用第三方解決方案,以防止手工編程遷移腳本,如果還要進行數據整理,那將是相當耗時和相當復雜的。此外,這些解決方案可以減少或消除停機時間和方便系統之間的復制。外包將給你帶來的最佳的方案和適當的工具來完成遷移任務。

關於作者

亞歷克斯舒克是高級計算機咨詢公司(www.advcomputerconsulting.com)的創始人和總裁,專門提供數據庫咨詢服務。亞歷克斯擁有超過15年的管理,設計,開發,並執行數據庫在各個行業和企業應用的專業經驗,從小型到財富50強企業。亞歷克斯的主要專長領域是在數據庫的安全性和性能優化和調整。可以通過[email protected]同他聯系。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved