ソーシャルネットワーク用にDatastax Cassandraを使用しており、私たちが必要とする設計/データモデリングテーブルは、私たちにとっては紛らわしく、いくつかのテーブルを設計する方法はわかりません。小さな問題!ソーシャルネットワーク向けのカサンドラデータモデリング
:我々は、すべてのクエリのために理解されるようにカサンドラでは、posts_by_user
あるテーブルを有する、
今は異なるテーブルを持っている必要があり、例えば、ユーザAは、ユーザC及びB以下れます
user_id | post_id | text | created_on | deleted | view_count
likes_count | comments_count | user_full_name
私たちはユーザーのフォロワーに基づいてテーブルを持っています。user_timeline
テーブルに投稿情報を挿入します。フォロワーユーザーが最初のWebページを訪問したときにuser_timeline
テーブルからデータベースから投稿を取得します。
そして、ここではuser_timeline
テーブルです:
follower_id | post_id | user_id (who posted) | likes_count |
comments_count | location_name | user_full_name
まず、このデータモデリングはフォローベース(フォロワー、次のアクション)ソーシャルネットワークのための正しいですか?
そして今、我々はあなたが我々は両方のテーブルの同類の数(user_timeline
、posts_by_user
)を持って見るように、ポストの同類をカウントし、一人のユーザーを想像したくは1000人の信者は、それぞれのような作用によって、私たちはしていましたuser_timeline
のすべての1000行を更新し、posts_by_users
の1行を更新します。これは論理的ではありません!
次に、私の2番目の質問はどのようにすべきかです。私はどのように(好きな)テーブルが好きなのですか?