突破Java面试(48)-设计可动态扩容缩的分库分表

javaedge 2019-07-13

云栖社区 java 数据库 中间件 数据迁移 面试题

0 Github

1 面试题

设计可动态扩容的分库分表

2 考点分析

  • 选一个数据库中间件,然后深入之
  • 设计分库分表的方案,要分成多少个库,每个库分成多少个表
  • 基于已选的数据库中间件,以及在测试环境建立好的分库分表,能否正常执行分库分表的读写
  • 完成单库单表到分库分表的迁移(使用上一文提到的双写方案)
  • 线上系统,开始基于分库分表对外服务

突然! 扩容了,扩容成6个库,每个库需要12个表,你怎么来增加更多库和表呢?

这个你必须面对的事,就是当你已经弄好分库分表方案,测试也通过了,数据能均匀分布到各个库和表里去,而且接着你还通过双写方案上了系统,已经直接基于分库分表方案在搞了。

需求来了~现在这些库和表又支撑不住了,要继续扩容,咋办?

这个可能就是每个库的容量又快满了,或者表数据量又太大了,也可能每个库的写并发太高了,得继续扩容!

3 停机扩容(不推荐)

这就跟停

登录 后评论
下一篇
冒顿单于
6289人浏览
2019-08-28
相关推荐
突破Java面试(46)-分库分表
826人浏览
2019-07-12 22:23:49
MySQL数据库水平扩容方案
8819人浏览
2018-04-08 17:11:17
分库分表的几种常见形式
514人浏览
2016-11-24 09:56:00
面试整理
1975人浏览
2018-07-23 08:15:02
0
0
0
648