0

我正在尝试为我正在为一个客户端运行的基准测试创建一个平台,该客户端包括 Cassandra 作为用于大量写入吞吐量负载的数据库。有大量的指标(时间序列)要存储,并且认为每个指标都应该存储为 CQLTable / Column Family。
第一个问题是创建它们(约 10M 指标)需要几天时间(运行 4 节点集群)。我尝试使用executemany(python cql)进行批量处理,但延迟的“服务时间”大致相同。任何人都可以建议更好的方法吗?

4

1 回答 1

0

您不应该为每个列族创建单独的列族 - 10M 列族太多了,因为每个 CF 占用了固定资源。

您可能最好将它们放在单个 CF 中。您可以将指标名称添加为复合主键的组成部分,例如

create table metrics (
    metric text,
    day timestamp,
    time timestamp,
    value text,
    primary key ((metric, day))
);

day 字段用于按天对指标进行分片,因此对于给定的指标,它们不会都在同一行中。

于 2013-07-29T11:29:19.390 回答