数据库的扩容
来源:互联网 发布:程序员在银行干什么 编辑:程序博客网 时间: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
- 数据库的扩容
- oracle数据库扩容
- 数据库动态扩容
- oracle数据库表空间扩容
- 闪回区的扩容方案
- 夸张的扩容盘!
- HashMap的扩容
- ASM的在线扩容
- StringBuffer扩容的问题
- Java数组的扩容
- 磁盘的分区扩容
- vector的自动扩容
- Codis的动态扩容
- HashMap的扩容
- HashMap 的扩容机制
- ensureCapacity arraylist的扩容
- ArrayList的扩容机制
- CENTOS的磁盘扩容
- 注解三篇
- spring 注解方式配置定时任务
- MapReduce2.0架构
- 九九乘法表----java
- 数据库数据泵导出之前的完美数据量统计
- 数据库的扩容
- java双端链表
- 对mini2440存储器的理解和使用
- wcf教程-传递数据过大怎么配置?读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- Java IO操作——掌握压缩流的使用(ZipOutputStream、ZipFile、ZipInputStream)[java.util包中]
- linux系统maven安装
- yum命令
- 根据日期判断星期几
- 如何让你的网站/应用/app满足大规模并发?