繁体   English   中英

Java中数据存储区的自动增量实体ID

[英]Auto increment entity id for datastore in java

我知道数据存储区不支持自动增量。
但是,在Java中,如何创建唯一的ID并大于先前的ID是有可能的。 我知道Java支持UUID这是唯一的,但没有任何顺序。

为什么需要自动递增,是因为如果我以某种方式管理自动递增,我可以按顺序获得结果。 我不需要应用任何额外的过滤器即可对数据存储区结果进行排序。 我在某处读取了默认情况下数据存储区返回ASC顺序的信息。 如果我按顺序创建唯一的ID,则可以按订单格式获取结果。

我正在使用objectify。

有什么建议吗?

在分布式系统中,这是一个难题。 订购需要精确到什么程度? 如果需要完全单调,则需要一个发布ID的单节点仲裁器。 否则,您将进入复杂且缓慢的分布式共识算法领域。

数据存储区是一个大规模分布式系统,并非针对此特定用例而设计。 如果您可以忍受每秒发布几个ID,那么您可以将当前值存储在实体中并在事务中更新它……但是您不能超过该吞吐量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM