有时数据库可能面临着高并发访问的压力,有需要面对海量数据的存储问题,这是需要对数据库即采用分库策略,也采用分表策略,以便同时扩展系统的并发处理能力,以及提升表的查询性能,这就是所谓的分库分表。
分库分表比仅分库分表的策略要更为复杂,一种分库分表的路由策略:
同样采用user_id作为路由字段,首先使用user_id对库数量x每个库表的数量取模,得到一个中间变量;然后使用中间变量除以每个库表的数量,取整,变得到对应的库;而中间变量对每个奎奥的数量取模,即得到对应的表。
假设将原来的单库单表order拆分成256个库,每个库包含该1024个表,那么按照前面所提到的路由策略,对于user_id=262145的访问,路由的计算过程如下: