0

Datastoreを使用して、時系列に並べ替えられた一連のイベントで構成される (Facebook や Twitter のように)一種の User- Timelineを持つGoogle App Engineアプリを作成しています。 しかし、私はいくつかの効率的な方法を思い付くことができません。 現在のソリューションでは、エンティティを次のように定義します。

エンティティ:アクティビティ:-
- ID
- 詳細...
- ...
- タイムスタンプ

これは、タイムスタンプに従って、ソートされた順序でアクティビティにインデックスを付けて取得できる方法ですか? 私はJavaで作業しており、データアクセスにObjectifyを使用しています。

4

1 に答える 1

0

ルールは次のとおりです。プロパティを使用してクエリ/注文する場合は、インデックスを作成する必要があります。私はそれがかなり簡単だと思います、あなたがしていることはうまくいきます。

問題は、他に何が欲しいですか?パフォーマンスは主要なニーズですか? (おそらく、あなたのアプリはユーザー指向のように見えるため)。

ユーザー アクティビティをログに記録して取得するだけでよい場合は、"Activity" エンティティを親エンティティ "User" または "UserActivity" の下に置くことをお勧めします。

  • UserActivity (キー名 = ユーザー ID)
    • アクティビティ (ID、詳細、タイムスタンプ [インデックス付き])

そうすれば、ユーザーの ID を使用して祖先クエリを実行し、すべての投稿を取得できます。唯一の欠点は、このエンティティ グループ (基本的には「すべてのユーザー アクティビティ」) で 1 秒あたり 1 回の書き込みに制限されることです。

于 2013-11-06T14:18:03.823 に答える