一.概念
垂直分表
表中列字段过多,把不常用的数据较大的字段拆分到其他表。
水平分表
单表数据量太大,按照一定规则,把数据存到不同的表中,但是这些表还在同一个库。
垂直分库
单个数据库到达瓶颈,把业务表垂直拆分,比如用户表和订单表放在不同的数据库。
水平分库
把单张表的数据切分到多个服务器。解决单台机器和单个数据库的瓶颈。
二.
在分库分表时,同时有新数据不断插入和增删改查,如何不停机迁移数据?
结合rdis的rehash场景,用一个游标index确定数据迁移,index是旧数据,index之后是新数据,要更新的数据如果在index之前就插入在分库分表中,如过大于index就在旧库中操作。