2017-02-02 10 views
0

NoSQLでWhatsAppデータベース設計について議論するスレッドを開始するだけです。私はCassandraの基本機能(チャットリスト、友達リスト、チャット)用のデータベースを設計しました。CassandraのWhatsAppデータベース設計の基礎

create table friendship(user_id,friend_id,friend_name,mobile_no,status,primary key((user_id),friend_id)) 

create table chat_list(user_id,message_time,friend_id,last_message,unread_count,primary key((user_id),(message_time))) 

create table chat(user_id,friend_id,message_time,message,primary key((user_id,friend_id),message_time)) 

より良いデザインができればコメントをください。

答えて

2

一般的にこの質問に答えることはできません。カスカンドラでは、必要な各クエリに基づいてクエリーファーストデザインを使用する必要があります。これは、強く非正規化されたテーブルの設計を開始することができます。私がやっていることである

http://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling

+0

、我々は最初のテーブルで提供されますユーザーのためのリスト連絡先を照会する必要があり、チャットリストのクエリは、第二のテーブルによって提供され、第三の表は、使用されます粒状の友人とチャット。 – Nishat

+0

O.K.この3つのクエリでは、私は同じ方法で実装します。タイムスタンプの降順を設定することもできます... – itstata