绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
简单总结分表+分区+分库+分片
2019-05-02 16:38:11


第一部分-不跨DB拆分(Scale Up纵向扩展升级机器配置)

将大表打散。


一、分表

是把一张表分成多个小表(有时也将表分别存放到不同server上,即用于拆库),适用如下场景

1、一张表的查询速度已经慢到影响使用的时候。

2、当频繁插入或者联合查询时,速度变慢。


二、分区

是把一张表的数据分成N多个区块,仍然是同一张表跨存储不跨DB,适用如下场景

1、一张表的查询速度已经慢到影响使用的时候。

2、对数据的操作往往只涉及一部分数据,而不是所有的数据




第二部分-跨DB拆分(Scale Out横向扩展加机器)



将数据库打碎。


一、分库、分片

1、垂直(纵向)拆分/拆字段

大字段的垂直切分。

按照用途垂直切分。

按照访问频率垂直切分。

2、水平(横向)拆分/拆记录行:

按照时间水平切分

按照用户ID范围切分

分类拆分:论坛的置顶帖子,可以把置顶贴水平切分开来,避免取置顶帖子时从所有帖子的表中读取


二、跨DB拆分需配合分布式事务机制

1、数据库事务管理出现了困难

2、跨库跨表的join问题。

3、需要有服务器进行查询路由转发

4、额外的逻辑运算



动力小刚于2019年4月  个人邮箱:zcs0237#163.com


分享好友

分享这个小栈给你的朋友们,一起进步吧。

MySQL干货资料
创建时间:2020-05-06 14:18:32
每天都有干货输出哦
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~