2016-04-11 10 views
1

MySQLで私はすべてのユーザのIDを生成するために自動インクリメントを使用しました。私は、ユーザーのIDが一意になるGoogle Datastoreに同様のユーザーテーブルを作成したいと考えています。これらのドキュメントによると、https://cloud.google.com/appengine/docs/java/datastore/entities一意のIDのGAEデータストアを生成する

システム割り当てID値は、エンティティグループに固有のものです。

しかし、この投稿によると:Ever see duplicate IDs when using Google App Engine and ndb? idは一意ではありません。このIDは一意である必要があります。ドキュメントではidがユニークだと言っているので混乱していますが、この投稿からはidがユニークではないということはユニークなキーです。私の目的は、2人のユーザーが同じIDを持つことがないようにすることです。これをどうすれば保証できますか?私は、このフォームの世話をするデータベースを好むだろう、私は大規模なIDを手動でuuidsなどのものを使用して作成することに反対した。

+0

あなたが言及したリンクからAncestor Pathを読み込む必要があります。私はあなたがUsersテーブルのための親を必要としないと信じています。だからこの場合、あなたはいつもユニークIDを持っていますが、まだそれを読んでいます –

答えて

2

イゴールが正しく観察されるため、エンティティには親が存在しない限りIDは常にです。

ユーザーエンティティを他のエンティティの子にする理由は考えられないので、あなたは安全です。

IDはデータストア全体に均等に負荷を分散するので、データストアがどのように設計されているかの副産物であるため、IDはシーケンシャルではありません。

+0

私のためにそれを明確にしてくれてありがとう!私の種類の「ユーザー」には親を持つエンティティはありません。ただ1つのエンティティ= 1人のユーザ。 – user2924127