当前位置: 首页 > 网络应用技术

如何在分支表之后生成ID的唯一主键

时间:2023-03-09 02:22:10 网络应用技术

  当单个库无法满足业务需求时,分支表是一种优化方法。但是,在最初属于库的数据被分为多个副本之后,如果每个表的主要键仍然从1开始,则从1次开始,这显然是不满足全局ID的独特需求。,我们必须使用哪种方法来确保我们是唯一的全球情况。接下来,Hua Ge共享几种常见方法,可以根据特定业务方案选择。

  此方法非常简单。每次我们需要获取ID时,我们都会从同一库的表中插入数据。目前,我们将获得一个自我提示的ID。在表格中获得此ID后,同一方法的缺点也很明显。唯一的ID是通过单个库生成的,该库不适合高并发业务方案;

  如果您想改进此方法,那么您将专注于服务。该服务一次获得当前ID的最大值,然后单独添加一些ID,一次返回批次ID,然后将当前最大ID值修改为增加增加增加增加增加。几个ID;

  适用的方案:数据库和表格的两个原因,或单个库太高,或者单个库的数据量太大;除非您不是很高,否则由太多数据引起的数据量扩展了该解决方案,因为每秒并发的最大并发可能是每秒数百个,然后您可以使用单独的库和表来生成自我- 为主要钥匙。

  缺点:Paimoris非常低,数百/s

  这是我们常用的方法之一。它是在本地生成的,不依赖数据库,但是由于UUID太长,因为主键太差,因此不适合主键。

  合适的方案:如果要生成文件名,数字等。

  此方法是Twitter开源的分布式ID生成的算法。总体想法是采用64位长型ID,并首先研究结果:

  该结果可以分为四个部分:

  对于特定示例: