对数据进行拆分了。有垂直和水平两种。
垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。
水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。
分库分表方案:分库分表方案最主要就是路由算法,把路由的key按照指定的算法进行路由存放。
1. hash取模方案
优点:数据可以均匀地放到表中,不会有热点问题
缺点:将来的数据迁移和扩容,会很难
2. range范围方案
优点:即使增加表,也不需要迁移
缺点:受访问影响,压力可能集中在一张表中,而其他表没有什么压力