【测试人生】数据同步和迁移的变更注意事项

数据同步或者迁移操作也算是线上数据变更的一种类型。由于涉及的数据量非常大,一旦发生故障,会直接影响线上业务,并且较难止损。从变更风险管控的角度考虑,数据同步或迁移操作也需要走合理的发布窗口,并且在操作前也需要做足够的影响分析。本文就来聊一下数据同步和迁移的变更期间注意事项。

数据同步按照持续状态的不同可以分为一次性同步跟持续性同步。从质量保障的角度,要降低持续性同步的风险,需要额外考虑数据跟组件性能的监控,其它方面的考虑两者没有太大的差别。数据同步的操作手法也有很多种,既可以通过搭建中间件,实现一个导入binlog到MQ然后再导到其它存储的通路,也可以通过自建业务服务,通过批量刷数的方式主动导入大量数据。对于后者,在以前的文章当中已经提到了一些通用的风险点,但如果考虑到数据同步的需要,还会有一些额外的考量。

第一块是压力,数据同步的压力相比于一般修数是更加大的,源存储有读的压力,而目标存储有写的压力,并且由于一般读操作可能会分散到多个存储节点,写压力对于单点存储的影响会更大,因此需要重点考虑目标节点当前的QPS情况,选择一个相对合适的数字。

第二块的考量点是同步数据的筛选和转化。通常如果涉及到异构数据存储,同步链路上需要执行数据转化的服务节点,这些节点也会承受一定的压力。如果服务节点的QPS过高,可能会影响服务节点连带的一些服务,或者也有可能导致服务节点注册的网关触发限流,这样就有业务不可用的风险。同时,数据转化本身的代码逻辑也需要保证健壮性,如果触发了corner-case导致服务报错,也有可能影响甚至阻塞数据同步。

第三块的考量点是数据校验。尤其针对批量调用服务接口导入数据的情况,需要通过一定的机制去验证数据的正确性,保证同步的数据生效并对符合业务需求表现。校验方面,需要补上小时级、日级的数据对账;发布过程本身,也需要保证有阶段性的灰度过程,并尽可能随机遴选数据,确保全量发布前数据验证无误。

最后再回到压力。这块讨论的是数据同步已经在线上稳定运行时,其它变更需要考虑到线上已有的数据同步链路。好比说DB数据的增量持续性同步,如果线上有大批量的修改数据,那么就会有可能导致潜在的数据同步链路因为突然的压力发生阻塞,影响某些业务可用性。要解决这个问题,需要梳理变更操作涉及的DB,以及DB涉及的数据同步链路,通过小流量灰度的方式初步检测压力状况如何,再逐步地修改并发参数,找到最合适的变更方式。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当在内网环境下进行数据迁移时,可以考虑以下两个方面: 1. 选择适合的迁移工具: - 数据库备份和恢复工具:使用Oracle备份工具(如RMAN)将数据备份,然后使用GaussDB的恢复工具将备份文件恢复到GaussDB中。 - 数据同步工具:使用数据同步工具(如SymmetricDS、Debezium等)实时同步Oracle数据库的变更到GaussDB中,确保数据的一致性。 - 数据导出和导入工具:使用Oracle提供的数据导出工具(如expdp)将数据导出为适当的格式,然后使用GaussDB提供的导入工具将数据导入到GaussDB中。 - 数据库连接工具:使用合适的数据库连接工具(如DBeaver、Navicat等)在内网环境下连接到Oracle数据库和GaussDB数据库,并通过工具提供的数据传输功能进行数据迁移。 2. 注意内网环境的限制: - 在内网环境中建立安全通道:确保在内网环境中建立安全的传输通道,以保护数据的安全性。 - 遵循内网环境的安全策略和规定:根据内网环境的安全策略和规定,进行必要的访问控制和权限管理。 - 进行充分的测试和验证:在进行迁移操作之前,对选择的迁移工具进行充分的测试和验证,确保其在内网环境下的可靠性和稳定性。 通过选择适合的迁移工具,并注意内网环境的限制,您可以在内网环境下安全、高效地进行数据迁移。请根据具体需求和内网环境的要求,选择合适的工具和方法来完成迁移任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

utmhikari

创作不易,共同助力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值