0、前言

在某些时刻,受业务转换以及其它原因,人们会经历多次数据迁移过程,场景就是把当前数据库的数据从一个存储系统或计算机中移动到另一台。

数据迁移是一项非常复杂的任务。据统计有70-90%数据迁移最终无法达到目标。

一、原则

1.1 数据备份

在开始做数据从一个系统迁移到另一个系统之前,需要管理员确保当前数据的安全,把当前数据备份以防任何潜在的风险导致数据丢失。

删库是小概率事,而磁盘损失溢出,数据并不完全可读等问题,在备份之前应检测完整,当出现问题时可以将数据恢复到原始状态。

1.2 验证数据的复杂度与质量

数据迁移的下一步是验证数据的复杂度,通过它来决定使用哪一些方法最好。包括检查和验证不同形式的数据,存储位置和格式,迁移后的数据格式等。

检查当前数据的整洁程度,是不是需要更新。要对数据质量进行评估和检测,比如对防火墙状态下的数据传输,对好坏数据进行区分,消除重复数据。

1.3 统一数据标准

当我们知道数据的复杂度时,就需要制定一系列标准。为什么要制定标准?为了让人们在可知范围内发现问题,确保在项目实施阶段避免发生例外。

数据是不断变化的,是可变的。制定标准有助于人们进行数据整合,确保在后续更好的使用数据。

1.4 确定当前以及后续的业务规则

制定当前数据迁移过程和将来的业务规则,包括多种业务规则验证,确保数据一致性传输,建立数据迁移规则非常重要。

当完成一套数据迁移规则之后,在实施数据迁移时应该立即评估这些规则的合理性以及后续优化,例如数据复杂性的评估。

1.5 创建数据迁移策略

接下就是进行迁移策略的的确立。有两种方法,一个是"大爆炸"式,另一个是”涓流“式迁移。

选择”大爆炸“是将整个迁移和传输在指定时间内完成,例如24小时内。当数据移到新数据库系统,迁移的实时过程即告关闭。此种方式最快,但风险也高。

”涓流“式数据迁移会将过程分成几个阶段。新旧两个系统会同时并行,中间不存在停机时间。虽然这个方法有些复杂,由于系统在迁移过程中不中断,可靠性更高。

1.6 交换迁移心得

数据迁移的过程中,会有多个团队共同参与,彼此交流迁移流程是数据迁移的重要实践过程。彼此了解预期,亦能更好的分配任务与责任,列出所有任务和可交付成果,为项目分配角色,验证自己是否有正确的资源来完成任务。

要着重考虑的事项:

1)谁对数据迁移过程拥有最终决定权

2)谁有权决定它是否成功完成

3)谁负责迁移后的数据验证

如果无法实现明确的任务和职责,就会导致组织混乱,延迟数据迁移之过程,甚至让迁移计划失败。

1.7 正确的工具

在迁移中可以手动或使用脚本迁移吗?能,但不是一个好主意。在数据迁移过程中,使用正确的工具可以对数据做基本分析,数据发殃,数据质量验证以及完整测试,这让迁移过程更快捷,更高效。

根据组织和业务用例需求,选择最怡当的工具是数据迁移计划和过程的关键组成部分之一。

1.8 风险管理策略 

在数据迁移过程中,要充分考虑风险管理,即在迁移过程中可能会发生的问题。列出这些问题,交提出解决它们的方法,特别是如何防止它们发生,包括旧数据损失,安全,用户测试,应用程序依赖项等,从而让数据迁移过程更顺利。

1.9 时刻以敏捷心态对待

在数据迁移过程中,采取敏捷方法保持数据的高质量。其中包括高频的测试,发现并消除错误,在整个过程中保持透明。敏捷方法将明确任务划分,职责权属,从而使迁移成本和进度变得更加可预测。

1.10 谨记测试内容

在数据迁移的每个阶段:规划,设计,实施和维护来测试数据迁移。只有如何,我们才能及时获取到所需的结果

二、总结

数据迁移是一个复杂过程,但它是公司和个人都必须经历的事儿,如果是非计划的数据迁移,及时备份数据是个好习惯。

不论是从一个系统迁移到另一个,还是迁移到云端或数据合并,制定风险管理策略,抓住潜在问题,提出解决方案快速搞定数据迁移。