Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现数据分表+读写分离

读写分离

在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的读写分离。读写分离的好处就是在并发量比较大的情况下,将查询数据库的压力 分担到多个从库中,能够满足高并发的要求。比如上一篇实现的那样,架构图如下:

13894260-5b39dc8dcae11e28
image

数据分表

当数据量比较大的时候,比如单个表的数据量超过了500W的数据,这时可以考虑将数据存储在不同的表中。比如将user表拆分为四个表user0、user1、 user2、user3装在四个表中。此时如图所示:

13894260-fa32ad5c6746a4a2
image
案例详解

和上一篇文章使用的数据库是同一个数据库,数据库信息如下:

数据库类型 数据库 ip
cool 10.0.0.3
cool 10.0.0.13
cool 10.0.0.17

在主库初始化Mysql数据的脚本,初始化完后,从库也会创建这些表,脚本信息如下:

1.  `USE `cool`;`

3.  `/*Table structure for table `user_0` */`

5.  `DROP TABLE IF EXISTS `user_0`;`

7.  `CREATE TABLE `user_0`  (`

8.  ``id`  int(12) NOT NULL AUTO_INCREMENT,`

9.  ``username` varchar(12) NOT NULL,`

10.  ``password` varchar(30) NOT NULL,`

11.  `PRIMARY KEY (`id`),`

12.  `KEY `idx-username`  (`username`)`

13.  `) ENGINE=InnoDB AUTO_INCREMENT=149 DEFAULT CHARSET=utf8;`

15.  `/*Table structure for table `user_1` */`

17.  `DROP TABLE IF EXISTS `user_1`;`

19.  `CREATE TABLE `user_1`  (`

20.  ``id`  int(12) NOT NULL AUTO_INCREMENT,`

21.  ``username` varchar(12) NOT NULL,`

22.  ``password` varchar(30) NOT NULL,`

23.  `PRIMARY KEY (`id`),`

24.  `KEY `idx-username`  (`username`)`

25.  `) ENGINE=InnoDB AU
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值