美文网首页
数据库分库分表生产环境怎么实现不停机数据迁移或者扩容的?

数据库分库分表生产环境怎么实现不停机数据迁移或者扩容的?

作者: 技术灭霸 | 来源:发表于2021-07-26 10:01 被阅读0次

    在不停机条件下需要对数据的迁移或者扩容,这里推荐我们常用的一种方案,也就是在线双写的机制。

    1、通过在写原有的数据库的同时也写一份数据到我们的新的库表中。

    2、同样写一个后台迁移数据的程序,将我们的旧库的数据通过我们的数据库中间件迁移到新的多库表中。

    3、在迁移的过程中,每次插入数据的时候,还需要检测数据的更新情况。比如,如果新的表中没有当前的数据,则直接新增;如果新表有数据并没有我们要迁移的数据新的话,我们就更新为当前数据,只能允许新的数据覆盖旧的数据(这里其实推荐使用Canal这样的数据库同步中间件对增量更新做同步)。

    4、经过一轮之后,也就是假如旧表中1000万条旧数据迁移完之后,我们就需要进行校验,校验两边数据是否是一模一样的。

    5、这样反复的跑了几天之后,就数据库和新的数据库肯定是会一模一样的,最后观察下数据正常了,就可以停掉旧库的写入动作了。

    相关文章

      网友评论

          本文标题:数据库分库分表生产环境怎么实现不停机数据迁移或者扩容的?

          本文链接:https://www.haomeiwen.com/subject/esbwmltx.html