您当前的位置: 首页 > 

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

分库分表之 垂直拆分与水平拆分

java持续实践 发布时间:2022-05-03 14:03:46 ,浏览量:1

垂直拆分

垂直拆分 : 把一个数据库, 拆分为多个数据库. 按不同的模块拆分. 原来是一个模块 , 公用一个数据库的资源, 垂直拆分后, 各个模块的项目竞争的资源, 不存在了 .

优点:

  • 减轻了原有单库的压力, 提高了每个数据库的分摊数据, 给每个库的 CPU 内存, 网络压力变小了
  • 业务更加清晰
  • 解耦
  • 系统扩展更加容易了

缺点:

  • 系统复杂性增加了
  • 多个数据库的联表查询, rpc调用, 可能有超时之类的问题 .
  • 事务需要分布式事务处理
  • 单表的数据量很大, 垂直拆分也无法解决.
水平拆分

上面介绍的垂直拆分的问题是, 某个库中的某个表也可能在业务的发展中, 数据量变得很大, 从而导致查询超时, rpc调用 服务雪崩等.

水平分库分表 对数据库进行拆分, 对数据库中的表进行拆分.

水平拆分的问题:

  1. 水平拆分过程比较复杂
  2. 事务处理变得复杂
  3. 多库多表联查复杂度大
  4. 水平拆分后, 多个数据库源, 单表的数据会分散到不同的数据源中.
关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0404s