推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Spring】
总结——》【SpringBoot】
一、分库分表的实现
选择合适的中间件:mycat、shardingsphere
水平分库,水平分表,垂直分库,垂直分表
1、垂直分库
特点:把一个数据库按照 业务 拆分成不同的数据库
优点:减少并发压力
2、水平分表
特点:把单张表的 数据 按照一定的规则分布到多个数据库
优点:解决存储瓶颈
二、分库分表的原则
1、能不切分尽量不要切分
2、如果要切分一定要选择合适的切分规则,提前规划好
3、数据切分尽量通过数据冗余或表分组来降低跨库 Join 的可能
4、由于数据库中间件对数据 Join 实现的优劣难以把握,而且实现高性能难度极大,业务读取尽量少使用多表 Join
三、总结
分库分表 | 特点 | 优点 |
---|---|---|
垂直分库 | 把一个数据库按照业务拆分成不同的数据库 | 减少并发压力 |
水平分表 | 把单张表的数据按照一定的规则分布到多个数据库 | 解决存储瓶颈 |