分库分表方式
分库分表可以分为:垂直拆分、水平拆分
垂直拆分
垂直拆分又分为垂直分库和垂直分表两类
垂直分库
定义:按照业务进行划分,将单一的数据库拆分。
好处:这样就可以做到专库专表,减少数据库的IO压力
垂直分表
定义:将数据库中的某一张表中的一部分字段数据存到另一张新表里面,在将这张表中的其他一部分数据存到领一张表内。这就是垂直分表
水平拆分
水平拆分也分为水平分库和水平分表两类
水平分库
定义:他就相当于把数据库水平切割,原来一个表中的数据可能会分配到不同的数据库中。
水平分表
定义:把表中的数据进行了水平切割,也就是着按照行进行切割,即不同行的数据被切割后可能在不同的表中。
分库分表的应用
1、在数据库的设计阶段就要考虑垂直分库或者垂直分表
2、当我们的数据库中数据增加的时候,首先不是要考虑水平拆分的,而是要首先考虑缓存处理或者是读写分离,使用索引来解决问题,如果这些方式还不能够从根本上解决我们遇到的瓶颈问题,再来考虑做水平分库或者是水平分表。
分库分表的问题
1、跨节点连接查询的问题(排序、分页操作会带来不必要的麻烦)
2、多数据源管理的问题
欢迎大家点击下方卡片,关注《coder练习生》