mysql水平扩展的设计思路

项目中应用了mysql数据库,由于数据量较大,采用了对mysql进行水平扩展的方式来应对,目前已基本实现。下面是水平扩展时需要处理的一些关键点:

 

1.处理一级路由(DB节点的拆分,例如DB节点由一组服务器扩展为2组服务器)

2.处理二级路由(DB节点内的拆分,例如一组DB服务器内将1张表拆分为10张表)

 

3.处理动态数据源

   3.1 向当前系统中增加新的DB节点,应用系统在不重启的情况下实现连接新DB和数据库操作。

 

4.处理非切分字段查询和同步

5.处理跨节点数据集合操作

6.处理历史路由表(第二阶段实现)

 

7.处理迁移策略实现 (n: DB节点)

  7.1 只有N1,散列空间 0-1000 
  7.2 增加N2,散列空间n1(0-500),n2(501-999) 
  7.3 迁移策略:
      7.3.1 根据一级切分策略,向一级切分映射表中插入需要迁移的一级映射数据。
      7.3.2 根据二级切分策略,将一级映射表中的数据插入到相应的二级切分映射表中。
      7.3.3 n2上根据二级切分策略计算各表的散列空间,将n1的二级切分映射表中符合条件的数据插入到n2的相应的表 

               中,完成数据迁移。

 

8.处理分页排序操作

 

后面如果有时间会补充部分处理难点和优化思路。欢迎大家一齐讨论mysql数据库的扩展思路,谢谢。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值