数据库的分库分表及动态切换到分库分表

一.为什么要分库分表?
分库分表是为了支持高并发,数据量大两个问题的。

1.分表
单表数据量太大,会极大影响sql执行的性能,到了后面sql可能就跑的很慢了。
分表就是把一个表的数据放到多个表中,然后查询的时候就查一个表。比如按照用户id分表,将一个用户的数据就放在一个表中,然后操作的时候对一个用户就操作那个表就好了。每张表数据在200万以内。
分表主要解决数据量大的问题。

2.分库
分库就是一个库依经验而言,最多支撑到并发2000,一定要扩容了,而且一个健康的单库并发值最好保持在每秒1000左右,不要太大。那么可以将一个库的数据拆分到多个库中,访问的时候就访问一个库就好了。
在这里插入图片描述
二.分库分表中间件
1.Sharding-jdbc
当当开源的,属于 client 层方案,目前已经更名为 ShardingSphere(后文所提到的 Sharding-jdbc,等同于 ShardingSphere)。确实之前用的还比较多一些,因为 SQL 语法支持也比较多,没有太多限制,而且截至 2019.4,已经推出到了 4.0.0-RC1 版本,支持分库分表、读写分离、分布式 id 生成、柔性事务(最大努力送达型事务、TCC 事务)。而且确实之前使用的公司会比较多一些(这个在官网有登记使用的公司,可以看到从 2017 年一直到现在,是有不少公司在用的),目前社区也还一直在开发和维护,还算是比较活跃࿰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值