java中数据存储的自动增量实体id

java中数据存储的自动增量实体id,java,google-app-engine,google-cloud-datastore,objectify,Java,Google App Engine,Google Cloud Datastore,Objectify,我知道数据存储不支持自动递增。 但是,在java中,如何创建唯一的id以及比前一个id更大的id呢。我知道java支持UUID这是唯一的,但不是任何顺序 我之所以需要自动递增,是因为若我以某种方式管理自动递增,我可以按顺序得到结果。我不需要应用任何额外的过滤器来对数据存储结果进行排序。默认情况下,我在某处读到数据存储返回ASC顺序。若我按顺序创建唯一的id,我可以按订单格式获得结果 我用的是objectify 有什么建议吗 这是分布式系统中的一个难题。订购需要多精确?如果它需要完全单调,那么您需

我知道数据存储不支持自动递增。
但是,在java中,如何创建唯一的id以及比前一个id更大的id呢。我知道java支持
UUID
这是唯一的,但不是任何顺序

我之所以需要自动递增,是因为若我以某种方式管理自动递增,我可以按顺序得到结果。我不需要应用任何额外的过滤器来对数据存储结果进行排序。默认情况下,我在某处读到数据存储返回
ASC
顺序。若我按顺序创建唯一的id,我可以按订单格式获得结果

我用的是objectify


有什么建议吗

这是分布式系统中的一个难题。订购需要多精确?如果它需要完全单调,那么您需要有一个发出id的单节点仲裁器。否则,您将进入分布式一致性算法领域,这是一个复杂而缓慢的领域

数据存储是一个大规模分布式系统,不是为这个特定的用例而设计的。如果你能忍受每秒发出两个ID,你可以将当前值存储在实体中,并在事务中更新它。。。但是你不能超过这个吞吐量