数据库的扩容

来源:互联网 发布:程序员在银行干什么 编辑:程序博客网 时间:2024/06/06 09:13

1. 假设初始状态下有2个主库,分别为A和B,写数据和读数据都是MOD2来进行的hash,即对于一个要写入或者读取的数据,都是通过一个MOD2算法来进行hash,这样同一个数据,如果写到了A数据库,那么读的时候通过相同的MOD2这个hash算法也会从A数据库读

2. 进行数据库扩容,一般不会把2个库扩展成三个库,这样不方便,一般是2 -> 4 -> 8 -> 16的加倍的扩展方式

3. 将数据库扩容成4个,变成A,B,C,D。后续会在第4步将MOD2改成MOD4,这样读数据的时候之前mod的结果为0的,现在的结果可能是0或者2,,如果mod到0,那么能读到数据,但是mod到2就读不到数据了,所以要将A库的数据同步到C库,同理,要将B库的数据同步到D库。同步的目的仅仅是为了能读到老的数据,没有别的目的

4. 同步完成后,才将代码的MOD2 改成 MOD4,并将代码发布线上

0 0
原创粉丝点击