数据库迁移需要多长时间?
问数据库迁移需要多长时间,就好像问去度假需要多少钱一样。答案,不同情况下,会有很大差异。那么,到底哪些因素会影响数据迁移所需时间长短?这是我们本文要探讨的。
什么是数据库迁移?
数据库迁移是从一个数据库到另一个数据库的任何类型的数据移动。
数据库迁移有多种形式。可能是同类数据库的迁移,比如,将一台服务器上的MySQL数据库的数据迁移到另外一台服务器上的MySQL数据库上。
也有可能是不同类型数据库的迁移。比如将数据从MySQL迁移到Cassandra,这种情况下,你可能需要做数据转换。
在其他情况下,数据库迁移可能意味着将数据从一种类型的存储介质(如磁带)移动到另外一种类型的存储介质(如硬盘)。在备份系统和生产系统之间移动数据,这种类型的数据库迁移很常见。
数据库迁移的数据通道可以有多种。目前,通过网络连接传输数据是最常见的方法,你也可以在同一系统内将数据从一个磁盘移动到另一个磁盘,或者使用便携式磁盘(如移动硬盘)在服务器之间传输数据。
数据库迁移需要多长时间?
哪些因素会影响迁移时间?在规划数据库迁移时,你需要了解三个主要因素:
1、你需要传多少数据。更多的数据意味着更长的迁移时间。
2、你如何移动数据。你是通过网络传输数据吗?如果这样,你的带宽是多少?如果是从一个磁盘复制到另外一个磁盘,那么磁盘读写I/O是多少?(注意,理论上的速度通常很难实现。)
3、需要转换多少数据,以及如何简化流程来执行数据转换。你需要进行的转换越多,数据转换手动操作流程越多,数据库迁移就越慢。在必须将数据从一种类型的数据库迁移到另外一种类型的情况下尤其如此。
要优化数据库迁移速度,请注意对这些因素的控制。
数据转换与数据库迁移速度
在文章结束前,让我们重新审视上面列出的第三个因素:数据转换。在很多情况下,如果要提高数据库迁移速度,数据转换是最重要的因素。
数据转换是大多数情况下你能控制的唯一因素。你通常是无法控制传输的数据量,你也无法控制传输数据的方式,只能使用可用的传输方式。
但你可以控制的是数据转换方式及流程的自动化程度。理想状态下,你将利用数据转换工具,允许数据从一种类型的数据库无缝迁移到另外一种类型的数据库,而不需要人进行手动转换工作。
作者:老鱼