Datastax Cassandra中的动态列族

时间:2014-08-28 12:20:18

标签: cassandra datastax-enterprise cql3 datastax-java-driver

因为有一种方法可以通过CQL 3在Cassandra中创建动态列族,即使用具有COMPACT STORAGE的复合主键。

  1. 用于在动态列族(宽行)中插入数据,这将是有效的方式,数据传输java驱动程序或Thrift API。

  2. 由于我正在使用Datastax,而Datastax强烈建议将非紧凑表用于新开发,尽管非紧凑表在内部不那么“紧凑”,那么我应该如何创建动态列族,紧凑的存储或没有紧凑的存储。

  3. 请建议。

2 个答案:

答案 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