比較線上和離線移轉
在伺服器之間移轉資料庫有兩種不同的方法:線上和離線。 這些方法之間的主要差異在於應用程式的停機時間,以及使用資料庫的流程。 一般而言,離線移轉的停機時間較長,線上移轉則通常最短,且中斷最少。
離線移轉特性
當您執行離線移轉活動時,所謂「離線」是指在移轉活動開始之前,必須停止與資料庫相關聯的應用程式和工作負載。 接著,將資料或資料庫從來源系統移轉至目標系統並經過驗證,然後重新設定應用程式以指向新位置,並重新啟動工作負載。
離線移轉活動的兩個最常見方法是:對結構描述移轉進行備份與還原,並使用 ETL (擷取、轉換和載入) 在物件層級或複寫流程傳輸資料。
離線移轉通常會導致系統較長的停機時間,因為執行資料移轉活動所需的持續時間較長。 此停機時間會根據移轉期間要傳輸的資料量按比例成長。 頻寬是有限的資源,每秒只能傳輸這麼多資料。
我們可以針對離線移轉進行一些最佳化,將我們必須處理的停機時間降到最低。 不過,這些最佳化通常會增加移轉的複雜度,以及發生錯誤的風險。 因此我們要在複雜度、風險和可允許停機時間之間找出平衡。
線上移轉特性
線上移轉是在應用程式和工作負載仍在執行時所進行的移轉。 這種情況表示執行舊資料庫到新資料庫的完全移轉所需的停機時間很短,因此對使用者造成的中斷也最少。
注意
請務必了解,即使是線上移轉,應用程式通常還是會有一小段時間必須離線,才能重新導向至新的資料庫位置。 有一些方法可以將應用程式設計為不會產生停機時間,但超出本課程模組的範圍。
一般而言,線上移轉會使用如複寫等資料庫引擎技術,將資料從來源同步處理到目標資料庫。 線上移轉活動的整體持續時間會比離線活動長,因為在完全移轉事件之前設定了同步處理資料。
評估是否要執行線上移轉時,請務必了解將同步處理流程應用到來源系統的潛在效能影響。 此外,同步處理流程可能會有一些需求,這表示必須在資料庫中進行變更才能順利完成。
離線與線上的比較
下表簡短摘要說明離線與線上移轉流程之間的主要差異。
離線移轉 | 線上移轉 | |
---|---|---|
停機時間 | 較長 | 較短 |
簡化 | 較低 | 較高 |
對來源的影響 | 較低 | 較高 |
資料傳輸 | 一次性流程 | 同步 |
選擇方法
了解這兩種移轉方法只是執行移轉的一部分。 我們需要先了解有哪些工具可用,才能選擇如何執行資料移轉。