Oracle数据库迁移到国产数据库,应用配套的改造工作有哪些?
收起对于 ORACLE迁移到国产数据库,假设国产数据库是分布式数据库(数据库分片存放,非分库分表的模式),应用系统是面向客户的交易型业务系统,例如手机银行、网上银行、聚合支付、直销银行、柜面、核心等,应用适配改造需要和数据结构改造相互结合,主要考虑如下方面:
1) 数据结构层适配改造:数据表包括所有应用层和批量层表重构,对表结构进行重新设计适配,重新设计定义表类型和分片字段。适配不同应用场景复杂业务功能。对所有的库表进行重新设计,合理设置分区键,分区键也是表的字段,表根据分区键字段将数据打散在各个节点,因此分区键设置时要从全局和交易局综合考虑,将交易中经常用来关联的字段设置为分区键,比如客户账户。
2)应用 SQL层适配改造
主要包括语法语义的改造和SQL语句优化改造。
语法语义改造:需要进行ORACLE语法和分布式数据库语法的兼容性改造,主要包括存储过程、函数、字段类型等,确保迁移到分布式数据库系统能运行起来。虽然目前有的数据库支持存储过程,但是还是建议将存储过程改造成程序执行,并且优化适配分布式数据库,具备高并发易扩展等特性。
SQL语句优化改造:解决了能运行的问题,SQL优化需要解决高效运行的问题,通过 SQL语句拆分、关联字段、业务逻辑重构等方式,尽可能减少或 避免节点间数据的流动,提升系统并发性能和扩展性能。