✅为啥要全局分布式ID,每张表自增不行吗?

✅为啥要全局分布式ID,每张表自增不行吗?

典型回答

其实没啥不行的,只要你能接受以下几个问题就行。(狗头)

1、id会重复,每张表都用自己的自增id,不用全局分布式id,就会导致id的重复,如果id重复了,那么全局查询的实际,就没办用id唯一定位一个数据。尤其是很多需要做数据汇总、统计的场景,会把数据同步到离线表,那么就会导致数据主键冲突,无法同步。

2、无法支持二次分表,每张表自己做自增,在单表中是唯一了,不冲突了,但是如果后面如果要重新分表,那么就会导致表中出现重复id的情况,这是一定有问题的。

所以,一般做过了分库分表之后,都会用一个分布式ID来做主键id、或者业务唯一号,要不然就会出现以上两个问题,而且这两个问题基本上可以认为是无法接受的。

✅分表后全局ID如何生成?