Multithreading 在多线程环境中实现增加id的策略

Multithreading 在多线程环境中实现增加id的策略,multithreading,solr,auto-increment,solr4,Multithreading,Solr,Auto Increment,Solr4,我们希望在我们的数据索引中构建一个自动递增字段,基本上类似于tweet的twitterId 我们希望根据sinceId和untilId向客户提供数据,实现这一目标的最佳策略是什么。我们的数据存储在Solr和HBase中 问候, Ayush.恐怕Solr中没有这样的功能。您可以使用这样的方法[1],它使用UUID。另外,正如您提到的HBase,请看一下 这篇有趣的论文[2] HBase文档[3] 根据您的上下文,单调递增的标识符不是很好,这里的UUID方法再次有用 [1] [2] 谢谢您的建议,U

我们希望在我们的数据索引中构建一个自动递增字段,基本上类似于tweet的twitterId

我们希望根据sinceId和untilId向客户提供数据,实现这一目标的最佳策略是什么。我们的数据存储在Solr和HBase中

问候,


Ayush.

恐怕Solr中没有这样的功能。您可以使用这样的方法[1],它使用UUID。另外,正如您提到的HBase,请看一下

这篇有趣的论文[2] HBase文档[3] 根据您的上下文,单调递增的标识符不是很好,这里的UUID方法再次有用

[1]
[2]

谢谢您的建议,UUID可以以任何方式递增。我的问题是我想在这个字段上实现排序,而且它们必须是唯一的。你可以将两件事分开:使用UUID作为唯一键,使用另一个基于字段的时间戳作为排序字段。尝试过这种方法后,问题是由不同线程处理的两个对象有时会获得相同的时间戳。某些文档在分页场景中丢失。