立即咨询
2025.02.28 |
中亦科技助力众诚保险核心数据库 “换芯”
在“金融强国”战略与信创产业浪潮双重驱动下,国产数据库正成为金融业数字化转型的“新基建”。

众诚汽车保险股份有限公司(简称“众诚保险”,下同)为了实现业务的高质量发展,毅然决定对核心数据库进行 “换芯” ,从 Oracle 数据库替换成国产数据库 OceanBase ,而这场手术的“主刀团队”正是中亦科技


这场“换芯”不仅实现了40+业务系统的平滑过渡,更以两地三中心架构打造了金融级容灾标杆。今天,就让我们一起解码这场国产化替代的重要实践!

一、测试环境压测

在正式迁移之前,中亦团队搭建了模拟真实业务场景的测试环境,对 OceanBase 进行全面压测。

压测内容包括但不限于:
  • 高并发读写测试,模拟大量用户同时进行保单查询、理赔申请等操作;
  • 大数据量存储测试,向数据库中导入历史积累的海量业务数据,测试其存储性能和查询效率;
  • 复杂事务处理测试,模拟涉及多个业务表关联的复杂业务流程,验证事务的一致性和完整性。

通过压测,收集到了 OceanBase 在不同负载下的性能指标,如响应时间、吞吐量等,为后续的参数调整和优化提供了数据依据。同时,与原 Oracle 数据库在相同测试场景下的性能进行对比,进一步验证了 OceanBase 在性能上的优势和潜力。



二、准生产环境压测


在测试环境压测取得初步成功后,中亦团队将 OceanBase 部署到准生产环境进行更贴近实际业务的压测。

准生产环境尽可能模拟生产环境的硬件配置、网络架构和业务流量。在这个阶段,不仅对数据库本身进行压测,还将相关应用系统接入,进行端到端的性能测试

通过准生产环境压测,发现了一些在测试环境中未暴露的问题,如应用与数据库之间的兼容性问题、部分复杂业务逻辑下数据库资源消耗过大等。

针对这些问题,及时进行了针对性的优化和调整,包括优化数据库查询语句、调整应用系统的连接池配置等,确保 OceanBase 在正式上线后能够稳定运行。

三、应用改造与适配

由于 OceanBase 与 Oracle 在语法、特性等方面存在一定差异,为了确保应用系统能够顺利运行在新的数据库上,进行了全面的应用改造与适配工作

首先,对应用代码中涉及数据库操作的部分进行梳理和分析,将 Oracle 特有的语法和函数替换为 OceanBase 支持的语法和函数。例如,在数据查询语句中,将 Oracle 的 ROWNUM 关键字替换为 OceanBase 的 LIMIT 语法来实现分页功能;对于日期处理函数,也根据 OceanBase 的语法进行相应调整。

其次,对应用系统的配置文件进行修改,确保其能够正确连接到 OceanBase  数据库,并根据新数据库的特性进行参数优化,如调整连接池的最大连接数、最小连接数等。

此外,还对应用系统进行了全面的回归测试,确保改造后的应用系统功能正常,性能不受影响。


四、数据库集群搭建


OceanBase 采用分布式架构,数据库集群的搭建是一项关键工作。

第一阶段,采用了单机房三副本架构,这种架构能够在单机房环境下提供较高的数据可靠性和读写性能。通过 OceanBase 的集群管理工具,将多个物理节点组成一个集群,每个数据分片在三个节点上保存副本,确保在某个节点出现故障时,数据仍然可用。

在搭建过程中,严格按照 OceanBase 的最佳实践进行配置,包括节点的硬件配置、网络配置、存储配置等。同时,对集群的各个节点进行监控和管理,确保集群的稳定性和性能。

随着业务的发展和对数据高可用性要求的进一步提高,第二阶段完成了两地三中心的建设。通过在不同地理位置的三个数据中心部署 OceanBase 集群,实现了数据的异地多活,极大地提高了系统的容灾能力和业务连续性。

在两地三中心架构下,通过智能路由和数据同步技术,确保用户的请求能够被合理地分配到各个数据中心,同时保证数据在不同数据中心之间的一致性。


五、数据库参数调整优化

为了充分发挥 OceanBase 的性能优势,对数据库参数进行了细致的调整和优化。根据业务特点和压测结果,对内存分配参数进行优化,合理调整系统内存、缓存内存等参数,确保数据库在处理不同类型的业务时,都能够高效地利用内存资源。

例如,对于读密集型业务,适当增加缓存内存的比例,提高数据的读取速度;对于写密集型业务,优化内存分配,确保写入操作的高效执行。同时,对 I/O  参数进行调整,根据存储设备的性能,优化磁盘 I/O 调度策略,减少 I/O 等待时间。

此外,还对事务相关参数进行优化,确保事务的并发处理能力和一致性。通过不断地调整和优化参数,使 OceanBase 在各种业务场景下都能够达到最佳性能状态。


六、数据库表结构设计

1、大表改造为分区表

随着业务数据的不断增长,一些核心业务表的数据量达到了千万甚至亿级,对这些大表进行分区表改造成为提高性能的关键措施。根据业务特点和查询需求,选择合适的分区键,如按时间、业务类型等进行分区。

例如,对于保单表,按照保单生效时间进行分区,将不同时间段的保单数据存储在不同的分区中。这样在进行数据查询时,只需要访问相关的分区,大大减少了数据扫描范围,提高了查询效率。同时,在进行数据插入和更新操作时,也能够避免对整个大表的锁争用,提高了并发处理能力。

2、采用 TABLEGROUP 方式进行优化

为了进一步提高数据库的性能和管理效率,采用了 TABLEGROUP 方式对相关表进行组织。将业务上紧密相关的表放在同一个 TABLEGROUP 中,这样在进行数据操作时,可以减少磁盘 I/O 的随机访问,提高数据读写的效率。例如,将客户信息表、客户保单关系表等放在同一个 TABLEGROUP 中,当查询客户及其保单信息时,能够通过一次 I/O 操作读取多个相关表的数据,减少了 I/O 开销。

3、PRIMARY ZONE 修改为单 ZONE 架构

在 OceanBase 的架构中,PRIMARY ZONE负责处理读写请求,为了优化性能和提高可用性,将 PRIMARY ZONE修改为单 ZONE 架构。在单 ZONE 架构下,所有的读写请求都集中在一个 ZONE 中处理,减少了跨 ZONE 的数据传输开销,提高了读写性能。同时,通过合理配置副本数量和分布,确保在单 ZONE 出现故障时,数据仍然能够通过其他 ZONE 的副本进行访问,保证了系统的高可用性。



七、执行计划绑定与复杂SQL改写


1、执行计划绑定

在应用系统运行过程中,数据库的执行计划对于查询性能至关重要。为了确保查询语句始终能够使用最优的执行计划,采用了执行计划绑定技术。通过对关键查询语句进行分析和测试,获取其最优执行计划,并将其绑定到数据库中。

这样,无论数据库的统计信息如何变化,该查询语句都将始终使用绑定的执行计划,避免了因执行计划变化而导致的性能波动。例如,对于一些涉及多表关联的复杂查询,通过执行计划绑定,能够确保在不同的业务负载下,都能够高效地完成查询操作。

2、复杂 SQL 改写

在原 Oracle 数据库中,存在一些复杂的 SQL 语句,这些语句在迁移到  OceanBase 后,可能无法达到预期的性能。因此,对这些复杂 SQL 语句进行了改写。通过优化查询逻辑、减少子查询嵌套、合理使用索引等方法,提高  SQL 语句的执行效率。

例如,将一些多层嵌套的子查询改写成 JOIN 操作,减少了数据的重复扫描;对于一些频繁查询的字段,添加合适的索引,加快了数据的检索速度。同时,在改写过程中,充分考虑了 OceanBase 的特性和优化策略,确保改写后的 SQL 语句能够在新数据库上高效运行。


八、迁移过程中的数据处理

1、同步工具,数据比对修复

在数据迁移过程中,使用同步工具进行数据迁移,并通过强大的数据比对功能,确保迁移前后数据的一致性。同步工具在迁移完成后,对源 Oracle 数据库和目标 OceanBase 数据库中的数据进行逐行比对,发现不一致的数据后,及时进行修复。

例如,在数据比对过程中,发现由于数据类型转换问题导致部分数值型数据在迁移后出现精度丢失的情况,通过同步工具的数据修复功能,对这些数据进行了重新转换和修正,确保了数据的准确性。

2、源 Oracle 不规范数据优化

原 Oracle 数据库中存在一些不规范的数据,如数据格式不一致、空值处理不当等,这些数据如果直接迁移到 OceanBase ,可能会影响后续的业务处理和数据分析。

因此,在迁移之前,对源 Oracle 数据库中的不规范数据进行了优化。通过编写数据清洗脚本,对数据格式进行统一规范,如将日期格式统一为 “YYYY-MM-DD” ;对于空值,根据业务规则进行合理的填充或处理。同时,对一些不合理的索引和约束进行调整,确保数据的完整性和一致性。

3、生僻字优化

考虑到业务数据中可能存在生僻字,在迁移过程中对生僻字的存储和处理进行了优化。确保 OceanBase 数据库的字符集能够支持所有可能出现的生僻字,避免因字符集不兼容导致生僻字存储错误或显示乱码的问题。同时,对应用系统中涉及生僻字输入、查询和显示的部分进行了测试和优化,确保生僻字在整个业务流程中能够正确处理。


通过一系列的技术工作和努力,中亦科技作为众诚保险数据库 “换芯” 项目的 “主治医师”,凭借专业的技术能力、丰富的项目经验以及高度的责任心,为众诚保险核心数据库的成功替换和 40 多个系统的顺利上线提供了强有力的支持。这次合作不仅实现了众诚保险技术架构的升级和优化,也为双方在未来的业务发展和技术创新方面奠定了坚实的基础。

总之,众诚保险核心数据库的 “换芯” 工程是一次成功的技术变革,为企业的数字化转型和可持续发展奠定了坚实的基础。


相关推荐
助力IT企业信创服务,和企业一起走向成功
立即领取企业福利 预约您的专属顾问
400-1037-370