
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库架构开发是目前大多数软件编程开发程序员都需要熟练掌握的一个编程开发技术,而本文我们就通过案例分析来简单了解一下,数据库迁移需要关注哪些问题。
迁移可能需要考虑是否平滑、兼容性和性能等。我们之前针对OceanBase做过一些测试,比如同样的语句在MySQL和OceanBase上等比例放上,看两边的响应程度等,也包括一些兼容性测试。
此外,企业还需要考虑迁移过程的稳定性,对新的数据库是否具备足够的掌控力,一旦发生问题,是否有回退方案。以OceanBase为例,我们通过OceanBase自身提供的OMS功能,搭了一条反向链路到MySQL,一旦遇到紧急情况,可以平滑再切到MySQL。
从横向来看,可以分为迁移前、迁移中和迁移后三个阶段。事前,我们提供了OMA这样的工具,可以对业务负载进行分析,包括可视化的报表告知用户兼容程度、建议使用的迁移方案和可能存在的风险。
事中,提供一个工具完成整个自动化迁移过程,这个后面详细展开。
事后,需要检验迁移是否真的完成以及数据是否一致,这也不意味着万事大吉了,还需要准备一些预案以应对运行后可能的突发情况。
从纵向的角度来看也就是上述提到的事中阶段,这里面有几个核心问题需要考虑:一是原数据如何迁移,假设兼容度极高,各种高级能力都可以直接运用,这是比较省心的。假设兼容度不高,这可能需要大量的手工SQL转换,甚至需要进行应用层的改写,成本极高,OceanBase本身的OMS中提供了大量工具可供选择,比如静态的全量数据迁移、增量的数据迁移,自定义过滤条件,甚至一些算子转换等。
此外,对于丰富的数据源和目标端的支持,因为数据迁移不仅仅是从原来的集中式数据库迁移到分布式数据库,不同的用户可能会有不同的诉求,比如对一些流、缓存进行迁移等,这需要云端支持的目标类型足够丰富。
数据库迁移过程中常用的一种方式是双写,通过这种模式验证,相对来说整个迁移过程更平滑可控。另外,我们可能会在一些场景做数据同步,比如A到B的切换过程持续做数据同步,需要不断地考虑数据的一些基础训练,包括SQL回放、性能验证等。当然,从整个切换模式来说,业务方几乎是无感知或者闪断。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。