分表分库的原则要用你们在业务里不会“交叉”的数据值做哈希来分,比如说你负责的生产模块,物料表应该需要有归属,比如属于某个 User ,就用 User 的 id 做哈希分,或者属于某个 Team 就用 team 的 id 做哈希去分
ifuture
1 天前
本质上就是分而治之,分的话,可以多维度的分,可以用地区、时间或者哈希,反正目的就是保证最终落在每个数据库的数据规模是相对有限的,比如在生成用户 id 时候,可以携带地区编号和时间戳信息,这样通过用户 id 就能快速定位到对应的库表,对于订单表这种数据规模更大的数据表,订单本质上是基于用户产生,为了保证某个用户产生的订单都在一个库表里面,完全可以用户 id 哈希后获得对应的订单库表,然后进行订单数据的存储和查询