Cassandra删除宽行表现

时间:2017-12-06 05:33:42

标签: cassandra data-modeling datastax cql

我有一个像这样的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个节点。

我通常会添加此数据,然后在处理后一小时内删除此数据。当我在一周后的下一次添加新数据时,我的堆使用量会增加很多,并且节点有时会下降。现在我有几个问题:

  1. 是否发生这种情况是因为我的gc_grace_seconds是10天,当我第二次获取数据时,Cassandra还会查看带有墓碑的旧行?
  2. 有更好的方法来建模我的数据吗?鉴于我没有idcode与我的列表。
  3. 我知道我不应该使用Cassandra作为队列,因为超过100Mb的分区将开始导致堆问题,但如果我可以为此目的利用Cassandra,我会很高兴。

0 个答案:

没有答案