主键:分布式全局唯一ID
- 不能再使用自增主键,不然会使不同分片的数据表主键重复
- 使用雪花算法或者UUID,使用雪花算法偏多
常见分片规则和策略
- 确定分片字段,常见的是根据ID或者时间字段,实际中应根据业务场景来确定。找出最频繁使用或者最重要的字段作为分片字段
- 常见分片规则:两种类型:随机分片和连续分片
随机分片
- hash取模
优点
- 数据分布较均匀,不容易出现热点数据和并发瓶颈
缺点
- 分片集群扩容需要迁移旧数据
- 容易面临跨分片查询数据的问题
连续分片
- 根据时间
- 根据范围(如id1-2000,2001-4000,。。。)
优点
- 如果需要根据分片字段查询范围,可以高效查询,避免跨分片
- 想扩展分片集群,只需要加节点即可,无需对其他分片数据进行迁移
缺点
- 容易存在热点数据问题,如果根据分片字段查询范围,某些节点会成为热点数据节点,这些热点数据节点会成为整个系统的瓶颈,其他节点的是历史数据,很少用到。