数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。
说白了,就是分担写负载
分库分表一
节点:mysql数据库一主多从的数据库集群(数据一致),所以用节点表示
重新对数据库连接进行配置就行
优点:数据库拆分比较简单,尤其适合没有跨库查询的情况下
缺点:如果写操作主要在订单表,那就分库分表的作用不是很大了
分库分表二
当表所在的服务器也达到瓶颈时,无法继续升级
分库分表三:水平拆分(分片->不同物理节点)
类似分区表(不同:一个节点:数据库),分片很容易出现问题,难以维护,慎重
分片前准备