-
资料
分库分表的概念及应用场景详解
分库分表带来的一些问题
sharding-jdbc水平垂直分库分表环境搭建
sharding-jdbc水平分库分表实战
sharding-jdbc垂直分库分表实战 -
分布式事务问题
数据库的事务只是在本地是有效的,能保证结点本身的的操作是一个事务.当多个数据库时,数据库之间是不可见的,所以存在分库时数据不一致性问题. -
跨结点关联查询问题
当垂直分库的时候,比如订单和支付是不同模块,那么这个时候想查看订单详情,那么需要关联查询,那么再也不能像单库那样,直接使用join就能达到预期效果了 -
跨结点排序,分页,max,min,count等问题
当水平分库的时候,每个数据库结点都是保存一部分数据,那么排序,分页,max,min,count是对整体数据的操作,也不能像单库那样,直接使用order by, limit, max,min,count(*)就能解决了 -
主键重复问题
当水平分表分库的时候,主键的生成策略就没用了,水平分库分表就不能依赖表本身主键生成策略了,否则很可能发生重复 -
公共表问题
一些功用表,比如一些常量表,是多个数据库结点都要使用到的,但是是不需要分库分表的 -
总结
虽然分库分表可以给我们解决数据库性能问题,但是也会给我们带来上面基本的五个问题,可能在开发当中需要解决,这些解决方案在一些中间价已经帮我们解决了,我们只需要使用这些中间价的方案即可.
分库分表带来的一些问题
猜你喜欢
转载自blog.csdn.net/weixin_38312719/article/details/109134841
今日推荐
周排行