我需要建议以正确设计 Cassandra 中的表格。我需要得到所有书籍的排序列表。排序按上次更新日期执行。每次购买特定书籍时,number_of_buyers
都会更新该列。另外,我需要更新updated_at
列的值。问题是updated_at
列clustering key
是primary key
. 我们无法更新属于主键的列中的值。
create table books (
book_id uuid,
created_at timestamp,
updated_at timestamp,
book_name varchar,
book_author varchar,
number_of_buyers int,
primary key (book_id, updated_at)
) with clustering order by (updated_at desc);
另一个例子:
create table chat_rooms (
chat_room_id uuid,
created_at timestamp,
updated_at timestamp,
last_message_content varchar,
last_message_author varchar,
unread_messages_number int,
primary key (chat_room_id, updated_at)
) with clustering order by (updated_at desc);
每个聊天室都有最新消息。这些信息总是在变化。如果发生变化,我想将聊天室放在列表的顶部。许多信使的经典行为。