分库分表的常见策略
1. 分库分表基础概念
分库分表是通过数据分散存储来突破单机数据库性能瓶颈的核心解决方案,主要包括垂直拆分和水平拆分两种维度。
1.1 垂直拆分
-
垂直分库:按照业务维度将不同表拆分到不同数据库
- 例如:用户库、订单库、商品库分离
- 优点:降低单库压力,业务解耦
- 缺点:跨库事务复杂
-
垂直分表:将宽表的列拆分到不同表
- 例如:用户基础表(user_base) + 用户详情表(user_detail)
- 优点:减少IO压力,提高高频字段查询效率
- 缺点:需要JOIN操作
1.2 水平拆分
- 水平分库:将同一表数据按规则分布到不同数据库
- 水平分表:将同一表数据拆分到同库的不同表