Sharding-Proxy分库分表的实现方案
一 安装:
https://www.jb51.net/article/237937.htm
二资源
- ROLE
- master1
- slave1
- slave2
- Sharding
三为什么分库分表
业务越来越大,数据库扛不住啊。
扛不住会怎样呢?数据库性能降低
解决方法:
1 增加mysql硬件资源
2 历史数据归档
3 增加数据库—— 读写分离
4 增加数据库—— 分库分表
5 云数据库TIDB
四如何分库分表
1 垂直拆分 -- 微服务化 -- 一个服务一个库
1) 每个库(表)的数据结构一般不同
2) 每个库(表)至少有一个列一样—— 为了join缺点:
1)数据不均衡。
2 水平拆分--分库分表 -- 数据存的不一样
1)每个库(表)的数据结构都一样
2)双十一订单大,订单一定均分到012库中,解决数据热点问题缺点:1)扩容的问题,麻烦
3 水平拆分和垂直拆分结合:垂直拆库,水平拆表
五Sharding-Proxy分库分表实战
1 master建库建表
库: bookstore_0 bookstore_1 在库中分别建表: bookinfo_0 bookinfo_1

2 修改Config-sharding.yaml
①把mysql驱动jar包复制到lib文件夹下
②config-sharding.yaml
schemaName: bookstore
dataSources:
bookstore_0:
url: jdbc:mysql://IP:3306/bookstore_0?serverTimezone=UTC&useSSL=false
username: root
password:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 50
bookstore_1:
url: jdbc:mysql://IP:3306/bookstore_0?serverTimezone=UTC&useSSL=false
username: root
password:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 50
shardingRule:
tables:
bookinfo:
actualDataNodes: bookstore_${0..1}.bookinfo_${0..1}
databaseStrategy:
inline:
shardingColumn: storeid
algorithmExpression: bookstore_${storeid % 2}
tableStrategy:
inline:
shardingColumn: bookid
algorithmExpression: bookinfo_${bookid % 2}
#keyGenerator:
#type: SNOWFLAKE
#column: order_id
bindingTables:
- bookinfo
defaultDatabaseStrategy:
inline:
shardingColumn: storeid
algorithmExpression: bookstore_${storeid % 2}
defaultTableStrategy:
none:
- mysql -hIP -uroot -P3307 -p
4 进行sql命令操作,只能看到一个库
5 插入数据。Sharding-Proxy代理端里有数据了

6 连接真正的数据库
这里有个问题:
分库失败,全部写入bookstore_0
分表成功

到此这篇关于Sharding-Proxy分库分表的文章就介绍到这了,更多相关Sharding-Proxy分库分表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Boot整合Spring Security的示例代码
这篇文章主要介绍了Spring Boot整合Spring Security的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-04-04
MybatisPlus EntityWrapper如何自定义SQL
这篇文章主要介绍了MybatisPlus EntityWrapper如何自定义SQL,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
Springboot JPA级联操作的实现(一对一、一对多、多对多)
本文深入解析JPA中的一对一、一对多和多对多级联操作,包括实体间的关系建立、查询、保存、刷新和删除等操作,具有一定的参考价值,感兴趣的可以了解一下2025-07-07
详细学习Java Cookie技术(用户登录、浏览、访问权限)
这篇文章主要为大家详细介绍了Java Cookie技术,显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放)等,感兴趣的小伙伴们可以参考一下2016-08-08
Java 多线程并发 ReentrantReadWriteLock详情
这篇文章主要介绍了Java多线程并发ReentrantReadWriteLock详情,ReentrantReadWriteLock可重入读写锁。实际使用场景中,我们需要处理的操作本质上是读与写,更多相关资料,感兴趣的小伙伴可以参考一下下面文章内容2022-06-06


最新评论