【问题标题】:Basic WhatsApp database design in Cassandra [closed]Cassandra中的基本WhatsApp数据库设计[关闭]
【发布时间】:2017-06-19 06:01:31
【问题描述】:

只是开始一个线程来讨论 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))

如果可以设计得更好,请提供评论。

【问题讨论】:

    标签: database-design cassandra whatsapp nosql


    【解决方案1】:

    您一般无法回答这个问题。在 cassandra 中,您必须使用查询优先设计 - 基于每个所需的查询,您可以开始设计强非规范化表。

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

    【讨论】:

    • 这就是我所做的,我们需要为用户查询联系人列表,这将由第一个表提供,聊天列表查询将由第二个表提供,第三个表将用于和一个特别的朋友聊天。
    • 好的。对于这 3 个查询,我将以相同的方式实现它。您还可以为时间戳设置 desc 排序...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2010-09-22
    • 1970-01-01
    • 2011-03-13
    相关资源
    最近更新 更多