关于双写重复数据问题

关于双写重复数据问题

老师,你好,我最近在做数据迁移,将一个旧的库数据迁移到新的库,采用的是如下双写方案

https://img1.sycdn.imooc.com//climg/6399c07d0996ab3215720632.jpg

如果在开启双写期间,新写入的数据同时写入新库和旧库,这时写入到新库的数据与新库已经有的数据重复咋办?有什么方法可以避免吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
风间影月 2022-12-14 20:34:14

不建议迁移的时候同时再给用户写入,有风险的。以稳定为主吧~

  • 提问者 慕运维4436765 #1

    但双写这样做会比较平滑,用户过渡比较舒服。如果迁移的时候直接封旧库写,一些在旧库途中的数据没有保留下来,这个不是有风险吗?这个有更好的方法吗?

    2022-12-14 20:42:36
  • 我们以前有过一次迁移,我们半夜里执行的,对外维护,所以不存在继续写旧库问题。如果都要写,又要稳定,又要考虑事务一致性,以及高并发场景,风险很大嗯,鱼与熊掌不可兼得啊~~
    2022-12-14 20:44:57
  • 不过你可以考虑使用offset,把当前以及以前的都迁移,标记之后的用canal同步到临时库,最终再合并。不过后面还是一直会有新数据写入旧库的问题存在,死循环啊~~
    2022-12-14 20:47:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java高级工程师
  • 参与学习       419    人
  • 解答问题       316    个

通过一个大型项目贯穿,掌握主流技术栈,提升技术广度与深度 实现复杂度极高的招聘业务,用户端+企业端+SaaS平台全覆盖 构建技术+业务+工程实战+就业服务闭环,实现从初中级到高级工程师的跨越!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师