数据在分片时,典型的是分库分表,就有一个全局ID生成的问题
1不能有单点故障。
2以时间为序,或者ID里包含时间。这样一是可以少一个索引,二是冷热数据容易分离。
3可以控制ShardingId。比如某一个用户的文章要放在同一个分片内,这样查询效率高,修改也容易。
4不要太长,最好64bit。使用long比较好操作,如果是96bit,那就要各种移位相当的不方便,还有可能有些组件不能支持这么大的ID。
数据在分片时,典型的是分库分表,就有一个全局ID生成的问题
1不能有单点故障。
2以时间为序,或者ID里包含时间。这样一是可以少一个索引,二是冷热数据容易分离。
3可以控制ShardingId。比如某一个用户的文章要放在同一个分片内,这样查询效率高,修改也容易。
4不要太长,最好64bit。使用long比较好操作,如果是96bit,那就要各种移位相当的不方便,还有可能有些组件不能支持这么大的ID。