我正在尝试为 Cassandra 11x 中的传感器网络建模时间序列数据。我的主要用例是从特定源设备查询大时间范围。我更喜欢使用 cql 来节省实现时间。
使用 cql3 我正在定义一个这样的表:
create table example (
source int,
sample_time timeuuid,
value double,
PRIMARY KEY (source,sample_time)
);
但是这个分区键会导致行很快变得太宽/太热,并且不会对查询进行并行化。理想情况下,我想定义一个复合类型作为我的分区键,cql 支持吗?
我读过 http://www.datastax.com/dev/blog/advanced-time-series-with-cassandra 并且关于高吞吐量时间线的部分特别相关。我是否必须直接定义存储布局而忘记 cql?
最佳答案
这需要 Cassandra 1.2:
CREATE TABLE foo (
a int,
b text,
c uuid,
PRIMARY KEY ((a, b))
);
将为您提供一个由 int,text 组合而成的存储引擎行键。
关于cassandra - CQL 和时间序列架构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13500216/