迁移环境检测包含主机环境检测、网络环境检测和数据库环境检测。结构迁移是指将源数据库的建表语句迁移到目标端不同数据库中,迁移完成保证源、目标数据库中的建表语句功能、性能等价使用。数据迁移分为全量数据迁移和增量数据迁移。迁移结束环境确认需要重建序列、启用触发器和收集执行计划等。构建数据回流是为保证业务迁移后目标数据库切换为生产库出现故障无法持续对外提供业务时,保证目标端已经变化的数据能够迁移回流到原来的生产库,并保证业务不中断。 业务验证分为迁移数据验证和业务功能验证。从源数据库导入到目标数据库中的历史数据文件可以按主键顺序进行组织,以文本文件的方式卸载迁移数据,并确保导出数据能够按照主键有序输出。对导入文件和导出文件分别进行比较操作,通过比对结果是否一致,完成迁移数据的一致性验证。业务功能验证分为运行过程比对、运行结果比对和静态数据比对。 (1)运行过程比对:通过在原和新应用系统前端增加网络镜像分流设备,将发往原应用系统的网络数据镜像分流到新应用系统中,使用覆盖实际交易场景的大量生产数据进行连续测试。在运行过程中,解析目标、源数据库中的日志文件,根据流水号、主键、时间等唯一性标识,比对日志文件中新旧值的变化,找出异常过程,达到验证目标系统数据正确性与一致性目的。 (2)运行结果比对:在原应用系统和新应用系统前端增加网络镜像分流设备,将发往原应用系统的网络数据镜像分流到新应用系统中,将目标、源数据库返回的结果信息保存到文件或数据库中,根据流水号、主键、时间等唯一性标识,比对目标、源数据库的交易结果。(3)静态数据比对:根据源数据库的每日备份时间,在目标数据库做相同时刻的备份操作,备份完成后,将两份备份文件导入到比对库中,按表逐条比对两份数据一致性以及每张表的数据总量,验证目标系统数据的正确性与一致性。 割接前通常需要至少3次割接演练,以确保割接过程中各个环节没有疏漏,并根据不同业务系统情况制定割接流程,分配每个流程责任人,通关制完成各个环节。正式割接环节分为生产环境准备和按照割接方案正式执行割接两部分。 迁移完成后,最危险的环节是切换后生产环境的第一个业务高峰,需要配置专业的数据库专家,快速响应应用和数据库出现的突发问题。之后,需要定期跟踪一定时间,以保障业务系统的稳定运行。最终的护航时间,需要根据实际情况确定。如果遇到突发情况,在无法处理的情况下,应依据回退方案和演练细则逐步完成回退。迁移服务能力可以针对服务提供方的迁移场景、 流程、工具、人员4个方面进行评估。迁移场景方面,可以从能否提供离线迁移、在线迁移、同构迁移、异构迁移、数据迁移和应用迁移进行评价;迁移流程方面,可以从服务提供方的迁移体系是否构建,如可提供合理的数据库选型方案、迁移方案、回流方案,是否能够结合实际迁移环境不断优化完善迁移方案和步骤,是否可提供有效的迁移实施管理办法和手段来进行评价;迁移工具方面,可以从服务提供方是否具有自主知 识产权的迁移工具、能否熟练使用第三方数据库迁移工具、能否集成不同迁移工具和提供统一迁移管理平台等角度进行评价。 迁移工具可以从在线迁移、旁路迁移、增量迁移、转换迁移、迁移比对、迁移回流、对象迁移、异构迁移的基础能力,以及一体化迁移、高性能迁移、特殊场景迁移和系统画像的高级能力两方面来进行评价。 数据库迁移是一项复杂的系统工程,涉及多方多部门人员的深度配合协作,同时需要迁移需求方的慎重考量和较大的改造决心。数据库迁移不是一蹴而就的,需要精准规划评估、稳步实施测试和专业运维保障。世界上没有任何两款数据库产品完全相同,目标数据库无法兼容适配的工作,需要由应用程序一定程度的改造完成。本文从分布式数据库迁移的难点、痛点和常见问题出发,梳理了迁移工程各个关键环节的流程和测试方法,最后从迁移服务能力和迁移工具能力两方面对迁移服务提供方提出了相应要求,旨在使数据库迁移行业规范化、标准化和专业化,进而推动数据库服务行业高质量发展。
参考文献
[1] 教雪娅. 多数据库环境下数据迁移技术的研究与应用[D]. 北方工业大学, 2015.
[2] 彭展, 李密, 杨楠. 基于XML数据迁移技术应用研究[J]. 现代计算机(专业版), 2017(7):79-82.
[3] 杜伟, 洪超, 冯宝, 等. 政务系统迁云上云方法研究[J]. 电信技术, 2019(12):12-15.
[4] 刘娟. Oracle超大型数据库数据迁移方法论[J]. 电脑知识与技术, 2016,12(30):7-8.
[5] 马鹏玮, 魏凯, 姜春宇, 等. 分布式事务数据库系统评估体系[J]. 信息通信技术与政策, 2019(5):14-18.
[6] 于振华, 怀文佳. 分布式事务数据库评测体系研究与实践[J]. 中国金融电脑, 2018(1):47-50.
[7] 殷圣忠. 数据库容灾系统可行性测试[J]. 网络安全和信息化, 2017(2):60-63.
中国信息通信研究院云计算与大数据研究所工程师,研究方向为大数据、数据库服务等。
论文引用格式
刘思源. 分布式数据库迁移方法研究[J]. 信息通信技术与政策, 2020(11): 91-96.