Datastax中的动态列族Cassandra
问题描述:
由于有一种方法可以通过CQL 3在Cassandra中创建动态列族,即使用COMPACT STORAGE的组合主键。Datastax中的动态列族Cassandra
用于在动态列族(宽行)中插入数据,这将是高效的方式,datastax java驱动程序或Thrift API。
由于我使用的是Datastax,而且Datastax强烈建议使用非紧凑表来进行新的开发,所以尽管非紧凑表在内部不那么“紧凑”,那么我应该如何创建动态列系列,使用COMPACT储存或无紧凑储存。
请建议。
答
回答你的其他问题。您应该远离Thrift API以进行新的开发。如果您使用TRIFT API,你就会错过CQL 3的所有强大功能,包括:
- 复合键
- 集合&其他类型
- 可用性
使用最新Datastax的Java司机!
(2.1) http://www.datastax.com/documentation/developer/java-driver/2.1/java-driver/whatsNew2.html
答
要做与以前用“宽行”做类似的事情,您需要使用包含聚类列的复合主键。
CREATE TABLE data (
sensor_id int,
collected_at timestamp,
volts float,
PRIMARY KEY (sensor_id, collected_at)
);
更多信息请参见下面的博客文章在CQL3使用范围分区,以及如何老节俭术语涉及到你可以在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