美文网首页
存储2N倍扩容原理

存储2N倍扩容原理

作者: 请叫我淼哥哥 | 来源:发表于2017-12-26 14:22 被阅读0次

    首先分享一个58同城非常帅气的秒级数据扩容的方案。这个方案解决什么问题呢?原来数据库水平切分成N个库,现在要扩容成2N个库,解决的就是这个问题。

    假设原来分成两个库,假设按照hash的方式分片。如上图,分为奇数库和偶数库。

    第一个步骤提升从库,底下一个从库放到上面来(其实什么动作都没有做); 

    第二个步骤修改配置,此时扩容完成,原来是2个分片,修改配置后变成4个分片,这个过程没有数据的迁移。原来偶数的那一部分现在变成了两个部分,一部分是0,一部分是2,奇数的部分现在变成1和3。0库和2库没有数据冲突,只是扩容之后在短时间内双主的可用性这个特性丢失掉了。

    第三个步骤还要做一些收尾操作:把旧的双主给解除掉,为了保证可用性增加新的双主同步,原来拥有全部的数据,现在只为一半的数据提供服务了,我们把多余的数据删除掉,结尾这三个步骤可以事后慢慢操作。整个扩容在过程在第二步提升从库,修改配置其实就秒级完成了,非常的帅气。

    相关文章

      网友评论

          本文标题:存储2N倍扩容原理

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