您当前的位置: 首页 >  面试

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

关于分库分表面试题

java持续实践 发布时间:2021-06-06 16:35:50 ,浏览量:1

笔记来源: Java工程师面试突击专栏 https://apppukyptrl1086.pc.xiaoe-tech.com/detail/p_5d3114935b4d7_CEcL8yMS/6

为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)? 用过哪些分库分表中间件? 不同的分库分表中间件都有什么优点和缺点? 你们具体是如何对数据库如何进行垂直拆分或水平拆分的?

高并发系统单库单表是扛不住的. 单表几百万数据最多了.

为什么要分库分表

分库分表是两个概念. 可能只分库不分表. 可能只分表不分库.

模拟的项目的演进: 刚开始用户量较少, qps 可能就几十个请求. 之后产品获得爆发式增长, 用户量到达2000万, 单表数据量每天新增已经达到了10万条. 单个库每秒并发稳定在1000左右较为合适, 不要超过2000. 之后公司再次获得融资, 用户量达到一亿, 活跃用户达到上千万, 单表新增数据上千万条数据. 高峰期每秒8k请求. 中间可能用个mq , 用于流量消峰.

高峰后, mq积压了很多消息, 要一两个小时才能消费完 . 此时系统的问题 :

  1. 部署的MySQL单机, 扛不住高并发
  2. MySQL单机磁盘容量快满了
  3. MySQL单表数据量太大了, sql越跑越慢.

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0463s