【发布时间】:2012-08-24 01:26:06
【问题描述】:
我正在将 cassandra 用于博客应用程序。我的列族之一是用于存储用户的所有关注者 - UserFollowers。其中每一行是一个用户,列是由 firstname+lastname+uuid 组成的关注者的排序键。复合键是这样我可以搜索关注者的范围并为他们提供分页服务。
示例 - 用户 A 的关注者如下所示:
一个 |约翰:2f432t3 |山姆:f242fg |乔:f24gf24
到目前为止一切都很好。当我添加一个追随者时,他会落入他的分类位置,我可以随意搜索和检索。但现在山姆决定不再做追随者,我需要删除他。此外 - 就在此之前,sam 将他的名字改为 samuel,所以我现在发送的删除消息是 samuel:f242fg。将找不到该值,并且 sam:f242fg 列将保留。
我现在唯一的解决方案是,当我想删除时,我必须拉出整行。仅通过他的 id 找到 sam。获取最初存储的密钥并将其删除。对于有很多追随者的人来说效率非常低,并且依赖于这些类型的移除不会发生很多。
有更好的策略吗?
谢谢 或
【问题讨论】:
标签: cassandra