mysql分库分表方案

分库分表的几种方式

1、把一个实例中的多个数据库拆分到不同的实例

 

2、把一个库中的表分离到不同的数据库中

 

 

3、对一个库中的相关表进行水平拆分到不同的实例数据库中

 

如何选择分区键:

1、分区键要能尽量避免跨分片查询的发生

2、分区键要能尽量使各个分片中的数据平均

如何存储无需分片的表:

1、每个分片中存储一份相同的数据

2、使用额外的节点统一存储

如何在节点上部署分片

1、每个分片使用单一的数据库,并且数据库名也相同

2、将多个分片表存储在一个数据库中,并且在表名上加入分片号后缀

3、在一个节点中部署多个数据库,每个数据库包含一个分片

如何分配分片的数据:

1、按分区键的hash值取模来分配分片数据

2、按分区键的范围来分配分片数据

3、利用分区键与分片的映射表来分配分片数据

如何生成全局唯一ID

1、使用auto_increment_incremen(增加步长)t与auto_increment_offset(开始值)参数

2、使用全局节点生成ID

3、在Redis等缓存服务器中创建全局ID

分库分表实现可以利用oneProxyp工具进行分表分库

待续。。。

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值