对数据跟表进行拆分
垂直拆分
特点:
1.每个库(表)的结构都不一样
2.每个库(表)的数据都是(至少有一列)一样
3.每个库(表)并集是全量表的数据
优点:
1.拆分后业务清晰(专库专用按业务拆分)
2.数据维护简单.按业务不同业务放在不同的机器上
缺点:
1.如果单表的数据量大.读写压力大
2.受某种业务来决定.或者被限制.也就是说一个业务往往会影响到数据库的顶瓶(性能问题)
3.部分业务无法关联
join.只能通过Java程序接口去调用,提供了开发复杂度.
水平拆分
优点:
1单库(表)的数据保持一致的量(减少),有助于性能提高
2.提高了系统的稳定性和复杂能力
3.拆分的表结构相同.程序改造较少
缺点:
1.数据的扩容很有难度.维护量大
2.拆分规则很难抽象出来
3.分片事务的一致性的问题部分业务无法关联
join,只能通过Java程序接口去调用