将商业数据库Oracle、DB2、SQL Server上的应用,迁移到国产数据库,有哪些风险点?针对不同的风险点,都有哪些应对之策?
从商业数据库迁移到国产库,风险是来自多方面的:
1.技术风险
国产库的功能较大型商业数据库仍存在一定差距,需要在选型时期就有清晰认识。不同国产库架构不同、技术路线各异,需要建立符合企业自身要求的评测体系。通过完善的测试,对国产库有着全面细致的了解。虽然无法做到功能一一对应,但起码要做到对功能边界清晰可控。通过上述手段,规避可能潜在的技术风险。
2.开发风险
没有能够完美替代数据库的产品,都是需要开发做一定适配性改造。此处的风险主要一方面来自国产库功能缺失带来的应用实现侧的技术难度;一方面则来自开发资源的投入。特别是当面临后者的不确定性时,风险更大。此外,还需通过引入测试完成对开发结果的验证,规避可能的处理逻辑、性能风险。
3.迁移风险
这里谈到的迁移包括数据迁移和应用迁移。针对前者,相对好处理些,通过应用逻辑或其他三方工具是完成数据的迁移工作,重点需考虑迁移后的质量对比,避免数据不一致问题。更多难点在于应用迁移,如何平滑完成迁移很重要。此外,相关的灰度、回退等迁移能力同样需要具备。而此方面,很难找到通用的平台来提供基础能力,大部分还是需要用户自研完成。
4.运行风险
数据库上线只是第一步,长期稳定运行更为重要。国产数据库普遍面临发展时间短,缺少大量线上运行积累,缺少较为成熟的运行维护体系。包括常见的监控、诊断、优化、排障、备份、高可用、升级等均需要完善支持。
简单说,国产数据库很多未知风险,如有些厂商居然说自己的产品是数仓类型,不需要支持主键,还有的忘记超级用户密码需要重建,这些风险如果是有公司或者领导拍板可以考虑,否则风险还是挺多的。
再从后期运维角度说,某金服都基本使用外包人员现场开工单处理问题,这效率和处理结果可想而知。国产数据库繁多,真正做到产品和厂家人员能和主流厂商比肩的还是没有。当然如果你们只是部分边缘系统试水应该问题不大
要说风险点。我觉得应该算是缺少市场磨练的国产数据库在实际应用中的各种未知因素吧。单纯在理想环境中。或许国产的数据库和传统老牌的数据库的性能和技术上没有太大差距。但信息化毕竟是一个复杂而庞大的系统。在实际的应用中,有着各种各样的需求,不同的技术,不同的业务,不同的行业特点反映在数据库上都可能会出现在理想环境以外的不确定因素。这个只能随着国产数据库实际应用月越来越广泛,技术越来越成熟而逐渐减少。
收起