线上业务系统的迁移思路【MySQL】

概论

在日常开发场景中,迁移数据库是非常常见的。但是线上业务系统进行迁移,并不是见一个简单的问题,必须考虑到迁移过程中线上系统的可用性、性能等。本文针对MySQL对迁移策略进行讨论。

实现方法

思路一:binlog

MySQL的binlog日志是一种二进制格式的日志,binlog记录所有的DDL和DML语句,以Event的形式记录,同时记录语句的执行时间。其主要的应用场景为:

  • 数据恢复:通过日志数据恢复因为数据库宕机等不可抗力产生的数据丢失。
  • 主从复制:多机备份,可以监听binlog日志,同步写库的更改。

这么一看,binlog简直完美符合数据迁移的场景。Mysql中的数据在大批量导出的时候会容易阻塞,导致数据库慢查询,然后我们的优化思路是在写数据到数据库的时候同时监听数据库binlog到其他库中。

好处:

  1. 不会因为数据导出的慢查询
  2. 监听binlog的方式可以使得代码解耦

思路二:双写

采用在写入数据库的时候再同时写入新的库,如果对性能要求比较高,可以将写入操作作为移步任务添加到一个线程安全队列。

参考文章

  1. https://www.cnblogs.com/rickiyang/p/13841811.html
posted @   月落随山隐  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示