0

将来のソーシャルアプリケーションでの権限にはほとんど問題がありません。

プラットフォームはdb(GoogleのBigTable)を非関連にします。

私のアプリケーションでは、各ユーザーにグループがあります(たとえば、友達、共同編集者、家族など)。グループには(Facebookのように)友達がいます。また、このグループに対してのみ一部のコンテンツ(ニュース、短いテキストなど)を公開できます。グループにユーザーがいる場合、それは私の友達です。Facebookと同様ですが、より多くのグループがあります。

私の考えでは、各ユーザーは1つのページですべての友達の最後のコンテンツをすべて(自分自身で「フィード」して)見ることができます(Facebookのトップニュースのように)。しかし、単純なクエリの作成に問題があります。

例えば:

SELECT * FROM News WHERE group_key IN [list_of_groups_where_i_am]

これはうまくいきますが、サブクエリがあり、リストの制限は30アイテムです。もう1つの方法は、コンテンツの強力なキャッシュです。

誰かが何か考えを持っていますか?または任意の学習資料、例...

4

1 に答える 1

1

このような要件では、読み取りまたは書き込みのいずれかを最適化できますが、通常は両方を最適化することはできません。最適化された書き込みバージョンがあります。正しいグループ キーを使用してレコードを書き込むだけですが、すべてのグループのコンテンツを取得するための複雑なクエリが必要です。

読み取りに最適化されたバージョンは、コンテンツ (またはその ID のみ) を各ユーザーのフィードに書き込むことで、読み取りクエリを非常に単純にします。

于 2011-01-21T03:59:45.900 に答える