我有一个像这样的Cassandra架构:
CREATE TABLE wide_data (
index int,
id text,
code text,
created_at timestamp,
data text,
PRIMARY KEY (index, id, code)
) WITH CLUSTERING ORDER BY (id ASC, code ASC)
我使用此表每周处理一次。我的数据通常有4-5百万列,只有几个索引(我的分区键),这意味着我只有几个分区键,我的数据只有1-2个节点。
我通常会添加此数据,然后在处理后一小时内删除此数据。当我在一周后的下一次添加新数据时,我的堆使用量会增加很多,并且节点有时会下降。现在我有几个问题:
gc_grace_seconds
是10天,当我第二次获取数据时,Cassandra还会查看带有墓碑的旧行?id
或code
与我的列表。我知道我不应该使用Cassandra作为队列,因为超过100Mb的分区将开始导致堆问题,但如果我可以为此目的利用Cassandra,我会很高兴。