前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【MySQL】数据平滑迁移方案思考

【MySQL】数据平滑迁移方案思考

作者头像
看、未来
发布2022-05-06 14:37:08
1.4K0
发布2022-05-06 14:37:08
举报
文章被收录于专栏:CSDN搜“看,未来”

文章目录

数据迁移方案

这个想一下redis是怎么把数据做持久化的,思路就有了:快照 + 追加日志。

注意点: 1、在完成数据迁移之前,上游业务依然是访问旧数据库的。 2、研发一个数据迁移工具,进行离线数据迁移。 3、不断刷新“追加日志” 4、写一个数据校验脚本。将新旧库数据进行比对,直到追平。 5、在架构的时候就应该考虑到有一天要迁移,所以这时候就可以平滑迁移了。比方说:使用虚ip的方式。

还有一种方案,是用 双写 的方式。好像在哪里见过,不知道是不是redis恢复数据的时候。

数据完成迁移之前,上游应用业务依旧通过旧的服务访问数据。

注意点: 1、对旧库的修改,在新库上进行相同的修改操作,称之为双写。 2、如果修改时新库没有对应数据,则:

代码语言:javascript
复制
a、对于 insert,早晚会insert的。
b、对于 delete,那之后也不会被写入新库。
c、对于 update,后面写入的时候就是新值了。

这个方案就是说要一条一条的写进去,没有前面直接一个快照来的爽,不过快照有拖尾性。

3、切库之前要进行数据校验。

两个方案的bug

方案一:建议在夜深人静的时候做,可以尽快追平。 方案二:如果碰巧刷写某条数据的时候在update,会造成数据不一致。

数据校验工具

其实我个人认为那个数据校验工具才叫麻烦。因为不论哪个方案,新旧库都存在修改数据的可能性,所以建议放在夜深人静的时候做。

其次,要求数据是有序的呀,但是数据库的数据量又大,可以采用MapReduce的方式加快整合速度。这可不是个小工具啊!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 数据迁移方案
    • 两个方案的bug
      • 数据校验工具
      相关产品与服务
      云数据库 Redis®
      腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档