【发布时间】:2017-01-19 16:38:34
【问题描述】:
我对 Cassandra 还很陌生,我只是通过 Datastax 课程学习的,但是我在此处或 Internet 上找不到有关存储桶的足够信息,并且在我的应用程序中,我需要使用存储桶来拆分我的数据。
我有一些可以测量的工具,很多,并且每天拆分测量(时间戳作为分区键)可能有点冒险,因为我们可以轻松达到分区的 100MB 限制。每个度量都涉及一个用 ID 标识的特定对象。所以想用桶,但是不知道怎么做。
我正在使用 Cassandra 3.7
这是我的桌子大致的样子:
CREATE TABLE measures (
instrument_id bigint,
day timestamp,
bucket int,
measure_timestamp timestamp,
measure_id uuid,
measure_info float,
object_id bigint,
PRIMARY KEY ((instrument_id, day, bucket), measure_timestamp, measure_id)
);
我想将 object_id 添加为分区键,但随后我失去了仪器所做的“测量流程”,因为我感兴趣的是查看仪器在特定日期或时间段内所做的所有测量.
- 那么问题来了,当我想查询某一特定仪器一天的所有记录时,如果桶数很多怎么办?
- 如果我希望分区限制为 400 000 行,我如何知道插入数据时必须在哪个存储桶中插入数据?
- 有没有办法知道桶的数量?
非常感谢您的帮助!
【问题讨论】:
标签: cassandra time-series datastax partition bucket