我想使用 cassandra 作为数据库来存储消息,而在我的模型中消息是按通道聚合的。消息的3个主要重要领域:
- 频道 ID
- 由...制作
- message_id(唯一)
主要的读取/获取 API 是通过按 . 排序的通道获取消息created_by
。另外,我有一个由channel_id
+更新的小规模消息message_id
。
所以我的问题是关于 primary_key 定义。如果我要定义它(channel_id,created_by)
,我是否可以UPDATE
使用WHERE
cLause 之类的channel_id=X and message_id=XX
,即使message_id
它不在主键中(我确实为查询提供了分区键)?
如果没有,如果我将像这样定义主键,(channel_id,created_by, message_id)
我将能够使用 where Cause 仅使用 1 个聚类列进行读取,(channel_id,created_by)
并使用 where Cause channel_id
+进行更新message_id
?
谢谢