数据库分库分表:打破单库的性能瓶颈

515 | 数据库分库分表:打破单库的性能瓶颈

场景引入

图书馆的书架:

图书馆刚开始有100本书,放一个书架就够了。

后来书越来越多,一个书架放不下了:

方案一:换成大书架

问题:有上限,最多放1000本

方案二:多建几个书架

按类别分: - A-F书架(文学) - G-L书架(科技) - M-R书架(历史) - S-Z书架(其他)

分库分表就是"多建书架"的策略。


分库分表类型

1. 垂直分库

按业务分库 原来: ┌─────────────────────────┐ │ 单一数据库 │ │ 用户表、订单表、商品表... │ └─────────────────────────┘ 垂直分库后: ┌─────────┐ ┌─────────┐ ┌─────────┐ │用户数据库│ │订单数据库│ │商品数据库│ │ 用户表 │ │ 订单表 │ │ 商品表 │ └─────────┘ └─────────┘ └─────────┘

2. 垂直分表