2017-12-02 16 views
0

データストアでは自動インクリメントがサポートされていません。
しかし、いくつかの方法で、一意のIDとそれ以前のIDをJavaで作成することは可能です。私はJavaのサポートを知っていますUUIDこれは一意ですが、どんな順序でもありません。Javaのデータストアの自動インクリメントエンティティID

なぜ私は自動インクリメントが必要なのか何とか私は自動インクリメントを管理する場合、私は結果をシーケンス順に得ることができます。私はデータストアの結果をソートするために余分なフィルタを適用する必要はありませんでした。私はどこかのデータストアがデフォルトでASCの注文を返すと読んでいます。一意のIDを順番に作成すると、結果はすでにオーダー形式で取得できます。

私はobjectifyを使用しています。

提案がありますか?

答えて

1

これは分散システムでは難しい問題です。注文はどのくらい正確にする必要がありますか?正確に単調である必要がある場合は、IDを発行する単一ノードのアービタを持つ必要があります。さもなければ複雑で遅い分散コンセンサスアルゴリズムの領域に入っています。

データストアは、大規模な分散システムであり、この特定のユースケース用に設計されていません。あなたが毎秒カップルのIDを発行して暮らすことができるのであれば、現在の値をエンティティに格納し、トランザクションで更新するだけですが、そのスループットを超えることはできません。

関連する問題