時間緊急!資料庫遷移怎麼才能更快?
問資料庫遷移需要多長時間,就好像問去度假需要多少錢一樣。答案,不同情況下,會有很大差異。那麼,到底哪些因素會影響數據遷移所需時間長短?這是我們本文要探討的。
01
什麼是資料庫遷移?
資料庫遷移是從一個資料庫到另一個資料庫的任何類型的數據移動。
資料庫遷移有多種形式。可能是同類資料庫的遷移,比如,將一台伺服器上的MySQL資料庫的數據遷移到另外一台伺服器上的MySQL資料庫上。
也有可能是不同類型資料庫的遷移。比如將數據從MySQL遷移到Cassandra,這種情況下,你可能需要做數據轉換。
在其他情況下,資料庫遷移可能意味著將數據從一種類型的存儲介質(如磁帶)移動到另外一種類型的存儲介質(如硬碟)。在備份系統和生產系統之間移動數據,這種類型的資料庫遷移很常見。
資料庫遷移的數據通道可以有多種。目前,通過網路連接傳輸數據是最常見的方法,你也可以在同一系統內將數據從一個磁碟移動到另一個磁碟,或者使用攜帶型磁碟(如移動硬碟)在伺服器之間傳輸數據。
02
資料庫遷移需要多長時間?
哪些因素會影響遷移時間?在規劃資料庫遷移時,你需要了解三個主要因素:
1、你需要傳多少數據。更多的數據意味著更長的遷移時間。
2、你如何移動數據。你是通過網路傳輸數據嗎?如果這樣,你的帶寬是多少?如果是從一個磁碟複製到另外一個磁碟,那麼磁碟讀寫I/O是多少?(注意,理論上的速度通常很難實現。)
3、需要轉換多少數據,以及如何簡化流程來執行數據轉換。你需要進行的轉換越多,數據轉換手動操作流程越多,資料庫遷移就越慢。在必須將數據從一種類型的資料庫遷移到另外一種類型的情況下尤其如此。
要優化資料庫遷移速度,請注意對這些因素的控制。
03
數據轉換與資料庫遷移速度
在文章結束前,讓我們重新審視上面列出的第三個因素:數據轉換。在很多情況下,如果要提高資料庫遷移速度,數據轉換是最重要的因素。
數據轉換是大多數情況下你能控制的唯一因素。你通常是無法控制傳輸的數據量,你也無法控制傳輸數據的方式,只能使用可用的傳輸方式。
但你可以控制的是數據轉換方式及流程的自動化程度。理想狀態下,你將利用數據轉換工具,允許數據從一種類型的資料庫無縫遷移到另外一種類型的資料庫,而不需要人進行手動轉換工作。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:老魚筆記 |