一、分库分表的基本概念
当表的数量或大小超过一定限度,对业务效率产生了一定的影响,可以考虑分库分表。阿里的推荐是,当数据库超过500万行或者单张表大小超过2G,建议分库分表。
二、好处
- 减少数据库的压力;
- 提高查询的效率;
三、分库分表的两种方式
1、 垂直方式:将一个多字段的表,拆分成多个有关联的表;
2、 水平方式:将表按行数进行拆分。
四、问题解决层次
五、其他
1、 避免跨库的关联查询的方式:库表字段冗余、数据同步、RPC(不推荐)
2、 全局ID生成的方式:数据库(for update)、UUID、Redis、ZK、雪花算法、Leaf