如何在Cassandra中使用聚类键内的静态列

时间:2016-04-06 13:42:19

标签: cassandra


我有一张桌子

CREATE TABLE my_table (
    user_id text,
    add_id  text,
    other_user_id text,
    date timestamp,
    PRIMARY KEY (user_id, add_id, other_user_id)
);

我想分享列日期不是针对空洞分区(即user_id),而是针对 user_ud / add_id 级别。

所以我想要的是类似于将日期设为静态列,但考虑到 add_id

所需表的示例:

'user1'  'add1'  'otheruser1' date1
'user1'  'add1'  'otheruser2' date1
'user1'  'add1'  'otheruser3' date1

'user1'  'add2'  'otheruser4' date2
'user1'  'add2'  'otheruser5' date2
'user1'  'add2'  'otheruser6' date2

(* midle中的空格用于说明目的)

这是可能的吗?如果是这样,怎么样?

更多解释:

关系数据库中,关系将是一个表格,其中包含:
[ user_id(pk) | add_id(pk) | date ]

pk:主键

Cassandra表中的other_user_id是我正在做的一项实验,旨在通过惩罚写入时间来缩短Cassandra的读取时间

谢谢!

2 个答案:

答案 0 :(得分:2)

目前不可能在群集级别上拥有静态列。我在这里创建了一个 JIRA ,但它被解雇了

答案 1 :(得分:0)

如果每个add_id的日期保持不变,那么我建议您使用date作为主键,而不是other_user_id

CREATE TABLE my_table (
    user_id text,
    add_id  text,
    date timestamp,
    other_user_id text,
    PRIMARY KEY (user_id, add_id, date)
);

它将创建具有单个键(user1, add1, date1)的分区 和记录将是:

'otheruser1'
'otheruser2'
'otheruser3'