分库分表字段 模(%) 32 = 库编号。

主要针对扩容问题提供一种解决思路。

为什么需要扩容,业务估算不够,库和表又支撑不住了,要继续扩容。

恭喜你,你们公司业务够大了。

扩容方式停机扩容(不推荐)

把现有库表的数据抽出来慢慢倒入到新的库和表里去。但是存在一个问题,说明你现有的数据量已经很大了,此时停机,在数据迁移的过程中需要停止对外服务的时间太久,是无法接受的。

固定数量(一种解决思路)

固定分库分表的数量,通过增大数据库服务器的数量来进行扩容,本质上不是对表和库的数量进行扩容,而是对服务器进行扩容,从而增大数据库的吞吐量。

设定好几台数据库服务器,每台服务器上几个库,每个库多少个表,推荐 32 库 * 32 表路由的规则,orderId 模 32 = 库编号,orderId / 32 模 32 = 表编号扩容时呈倍数扩容,4 台服务器,扩到 8 台服务器,再到 16 台服务器(保障数据的均匀分布)。

图解