
sharding-jdbc
java持续实践
Java开发
展开
-
分库分表 路由策略与全局ID
分库分表支持的场景用户的角度 : 查询订单信息商家角度: 获取商家订单的角度.用户下单后, 可能查询多个表.根据一定的规则, 让同一个用户, 下单都落在同一个表中.路由key:根据用户id , 作为路由的key , 对表的数量进行取模.多库多表先找库, 再找表.先根据用户的id , 对数据库的数量进行取模, 再去找对应的表.在找对应表的时候, 除以表的数量, 再对表的数量进行取模, 防止根据库进行路由后, 只插入到某一个表中去.商户的路由策略:买家下完单之后, 发送订原创 2022-05-03 15:06:46 · 789 阅读 · 0 评论 -
分库分表之 垂直拆分与水平拆分
垂直拆分垂直拆分 : 把一个数据库, 拆分为多个数据库. 按不同的模块拆分.原来是一个模块 , 公用一个数据库的资源, 垂直拆分后, 各个模块的项目竞争的资源, 不存在了 .优点:减轻了原有单库的压力, 提高了每个数据库的分摊数据, 给每个库的 CPU 内存, 网络压力变小了业务更加清晰解耦系统扩展更加容易了缺点:系统复杂性增加了多个数据库的联表查询, rpc调用, 可能有超时之类的问题 .事务需要分布式事务处理单表的数据量很大, 垂直拆分也无法解决.水平拆分原创 2022-05-03 14:03:46 · 1140 阅读 · 0 评论