文章预览
分库分表的一般做法 一般会使用三种算法: 哈希分库分表: 根据分库分表键算出一个哈希值,根据这个哈希值选择一个数据库。最常见的就是数字类型的字段作为分库分表键,然后取余。比如在订单表里,可以按照买家的ID除以8的余数进行分表 范围分库分表: 将某个数据按照范围大小进行分段。比如说根据ID, [0,1000) 在一张表, [1000,2000) 在另外一张表。最常见的应该是按照日期进行分库分表,比如每个月一张表 中间表: 引入一个中间表来记录数据所在的目标表。一般是记录主键到目标表的映射关系。 这三者并不互斥,也就是说可以考虑使用哈希分库分表,同时引入一个中间表;也可以先进行范围分库分表,再引入一个中间表。 分库分表中间件的形态 SDK形态: 通过依赖的形式引入代码里,比如Java的依赖ShardingSphere Proxy形态: 独立部署的
………………………………