因为有一种方法可以通过CQL 3在Cassandra中创建动态列族,即使用具有COMPACT STORAGE的复合主键。
用于在动态列族(宽行)中插入数据,这将是有效的方式,数据传输java驱动程序或Thrift API。
由于我正在使用Datastax,而Datastax强烈建议将非紧凑表用于新开发,尽管非紧凑表在内部不那么“紧凑”,那么我应该如何创建动态列族,紧凑的存储或没有紧凑的存储。
请建议。
答案 0 :(得分:3)
回答你的其他问题。你应该远离Thrift API进行新的开发。如果您使用Trift API,您将错过CQL 3的所有强大功能,包括:
使用最新的Datastax Java驱动程序!
(2.1) http://www.datastax.com/documentation/developer/java-driver/2.1/java-driver/whatsNew2.html
答案 1 :(得分:2)
做与以前用"宽行"做类似的事情。您将需要使用包含群集列的复合主键。
CREATE TABLE data (
sensor_id int,
collected_at timestamp,
volts float,
PRIMARY KEY (sensor_id, collected_at)
);
有关在CQL3中使用宽分区以及旧的thrift术语与您在CQL3中可以执行的操作相关的更多信息,请参阅以下博客文章:
http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows
http://www.datastax.com/dev/blog/cql3-for-cassandra-experts
http://www.datastax.com/dev/blog/thrift-to-cql3