cassandra:将数据保存在第二个相同的表或字段过滤器中

时间:2014-02-20 23:28:00

标签: cassandra filtering

我有包含列的表格文档:

user_id uuid,
folder_id uuid,
id uuid,
name varchar,
data blob,

and
primary key ((user_id), folder_id, id)

有些文件可以在很长一段时间内处理。我需要存储未处理的数据。

我有两种方法:

1) 添加布尔列'processed',并将在DAO中过滤文档。

2) 创建具有相同结构的第二个表并将数据保存在其中。

哪种方式更好? 感谢。

更新:

我使用cql。

我的疑问:

select * from documents;
select * from documents where user_id = ...;
select * from documents where user_id = ... and folder_id = ...;
select * from documents where user_id = ... and folder_id = ... and id = ...;

1 个答案:

答案 0 :(得分:0)

没有重大区别。 如果你使用一个带有布尔变量的表,你的密钥将变为

primary key ((is_processed, user_id), folder_id, id)

每行有一个变量的开销。

所以我会使用两张桌子。