如何使用cql对宽行进行数据建模

时间:2016-06-03 06:54:24

标签: cassandra cql3

我正在从版本1到版本3进行cassandra更新,并用CQL替换thrift API,并使用CQL重做数据模型。但我发现一个表有点难以翻译成CQL

旧的定义是这样的:

CREATE COLUMN FAMILY vsc_data
WITH key_validation_class='CompositeType(LongType, IntegerType)'
AND comparator = 'CompositeType(LongType,LongType)';

数据看起来像这样:

{1,11111,[(2222222,3333333,value1,value2),(4444444,555555,value3,value4)...]}

“1”和“11111”是复合行键,“2222222”和“3333333”是复合列键,查询时,数据首先按“2222222”排序,然后按“3333333”列排序。

那么我如何使用CQL对数据建模以及如何查询呢?

1 个答案:

答案 0 :(得分:2)

Thrift 架构

CREATE COLUMN FAMILY vsc_data
WITH key_validation_class='CompositeType(LongType, IntegerType)'
AND comparator = 'CompositeType(LongType,LongType)';

CQL 架构

CREATE TABLE vsc_data (
     partition1 bigint,
     partition2 int,
     clustering1 bigint,
     clustering2 bigint,
     value1 ???,
     value2 ???, 
     PRIMARY KEY((partition1, partition2), clustering1, clustering2)
);