相同的数据存储在Cassandra的不同表中

时间:2013-07-03 15:16:35

标签: cassandra data-modeling data-storage

我正在使用Cassandra存储大数据。

为了运行多个查询,我担心我需要创建不同的表并在这些表中插入几乎相同的数据。

会影响性能吗?

我现在所做的是从队列中读取一条记录,将其推入我在Cassandra中创建的五个表中。 如果一个表中的记录占用大约10M内存,那么在五个表中,总共需要50M内存吗? 有没有更好的方法在Cassandra中存储重复数据?

谢谢。

1 个答案:

答案 0 :(得分:0)

  

如果我创建多个主键,它总是抛出异常。

预计,您无法拥有多个素数键。组合列以生成主键时,它称为复合(或复合)键。例如:

CREATE TABLE timeline (
  user_id varchar,
  tweet_id uuid,
  author varchar,
  body varchar,
PRIMARY KEY (user_id, tweet_id)); // PK consists of two columns!

对于您的数据模型,我会尝试以下方式:

CREATE TABLE timeline (
  user_id varchar,
  module varchar,
  host varchar,
  body varchar,
PRIMARY KEY (user_id, module, host));