2017-02-02 31 views
0

Просто, чтобы начать обсуждение, чтобы обсудить дизайн базы данных WhatsApp в NoSQL. Я разработал базу данных для базовой функциональности (список чатов, список друзей, чат) в Кассандре.Базовый дизайн базы данных WhatsApp в Cassandra

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

Вы не можете ответить на этот вопрос в целом. В cassandra вам нужно использовать первый запрос - на основе каждого требуемого запроса вы можете приступить к разработке сильно денормализованных таблиц.

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

+0

Это то, что я сделал, мы должны запросить контакт листинга для пользователя, который будет подан первым столом, общайся листинг запрос будет подан второй таблице и третьей таблице будет использоваться для беседуйте с подругой. – Nishat

+0

O.K. для этих 3 запросов я бы реализовал его таким же образом. Вы также можете установить порядок декодирования для временных меток ... – itstata