某城市银行OceanBase跨云迁移方案

2024年 5月 7日 44.7k 0

客户介绍

某城市银行创立于20世纪10年代,是拥有百年历史的老字号银行品牌,作为省属城市商业银行,曾荣获“ 2019 年中国银行业 100 强”。近年来,城市银行引入了国产分布式数据库 OceanBase 和阿里云飞天平台等技术能力,将一些关键的系统和业务迁移到新一代分布式技术架构之上。支撑了其电子银行、运营平台、智慧信贷、风控平台等核心业务场景。

客户需求

当前银行客户使用阿里云3.14底座,部署在临时租借的机房,客户新财年计划自建新机房,使用全新的3.16阿里云底座,并将现有底层架构系统整体迁移到新的阿里云底上。OceanBase作为数据库底层核心组件,支持上百个应用系统,环境复杂,上游有30+个Oracle 到OceanBase 数据迁移任务,下游有100+条到大数据datahbu的大数据同步任务。我们需要在两朵阿里云之间进行数据迁移,必须做到可验证、可回滚、数据一致、 平滑迁移。

解决方案

方案一、物理迁移方案

物理迁移方案:借助OCP管控平台,通过加zone减zone方式,在目标机房增加OB物理副本,进行跨机房数据搬迁,在业务低峰期业务停写进行整体切换,将OB集群从原机房管控OCP1上面卸载,然后加载到目标机房新的OCP2管控上,从而实现跨云迁移。

具体迁移步骤如下:

1、打通新老机房之间网络,将目标新机房里面的observer 注册到老机房的OCP1 管控下。

2、在老的OCP1 管控下,增加新机房 2个zone,添加全功能副本。此时多数派还在老机房,业务无感知。

3、在目标机房增加一个zone,此时完成多数派同步需要跨机房,事务提交增加5ms左右(视原机房和目标机房网络延迟情况而定).

4、原机房减少一个zone,下副本。

5、OB集群切换leader 到目标机房。

6、业务停写,OB集群从原机房OCP1管控里面卸载。

7、OB集群在目标机房OCP2管控里面加载。

8、应用在目标机房启动APP,验证业务是否正常。

具体流程图如下

某城市银行OceanBase跨云迁移方案-1

图1-OB跨云迁移—加减zone 物理副本迁移方案1-2步骤

某城市银行OceanBase跨云迁移方案-2

图2-OB跨云迁移—加减zone 物理副本迁移方案3-4步骤

某城市银行OceanBase跨云迁移方案-3

图3-OB跨云迁移—加减zone 物理副本迁移方案5-7步骤

某城市银行OceanBase跨云迁移方案-1

图4-OB跨云迁移—加减zone 物理副本迁移方案8步骤

方案二、逻辑迁移方案

逻辑迁移方案:借助OMS平台(OMS元数据跟OCP绑定),将数据从老的OB集群中分批分片导出,并写入到目标OB集群,支持结果迁移+全量迁移+增量迁移+数据校验,同时为了避免切换出现异常,可以在切换前可以建立反向同步链路,以防回滚。

具体迁移步骤如下:

1、在新的阿里云底座上面,按照单机房3副本,对等部署OB相应的新集群并建立对应的OB租户。(租户名+数据库名+账号权限保持不变)

2、专门启用2台OMS 机器(OMS1集群),进行OMS 逻辑数据迁移,按租户维度创建数据迁移任务(【结构迁移】+【全量迁移】+【增量迁移】+【全量校验】+【反向增量】),OMS1通过黑名单方式,将Oracle 同步到OB老集群的数据忽略掉(避免和OMS2链路重复迁移)

3、待数据增量追上后,在新的阿里云底座上面,新建OMS2集群,参照老机房已有任务新建对应数据迁移(Oracle 到OB)和数据同步链路(OB到Datahub)。

4、新机房阿里云底座,应用部署APP,全链路测试验证。注意:新机房OB数据源跟老机房不一样,域名不同。

5、应用验证ok后,新的阿里云,OB新集群租户数据清除,按照2-4步骤重新搭建数据迁移和数据同步链路。

6、确定正式切换时间点, 具体按OceanBase 数据库标准切割方案进行操作。

某城市银行OceanBase跨云迁移方案-2

图5-OB跨云迁移—OMS逻辑迁移方案

某城市银行OceanBase跨云迁移方案-3

图6-生产数据迁移割接上线整体流程

某城市银行OceanBase跨云迁移方案-1

两种方案对比

迁移方案 物理迁移方案 OMS逻辑迁移方案
迁移难度 适中 适中
迁移时间 短(小时) 长(天)
割接时间 短(分钟) 长(小时)
数据影响 无需数据校验 需要校验
应用影响 需要修改连接串 需要修改连接串
是否可以灰度 整体一次性切换 可以按租户维度进行灰度切换
是否可以提前验证 整体切换前,不支持在新底座进行上下游做全链路验证 可以提前配置好上下游同步链路,做全链路压测验证
是否可以回滚 可以 可以

物理迁移和逻辑迁移方案对比

最终方案

鉴于OB上下游链路众多,为了方便应用在新的阿里云底座上面进行全链路测试验证,客户选择使用OMS进行逻辑数据迁移。此方案满足变更三板斧,可以做到可灰度、可验证、可回滚,满足客户需求。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论