gpt4 book ai didi

python - Cassandra 作为时间序列存储

转载 作者:行者123 更新时间:2023-11-30 23:31:16 25 4
gpt4 key购买 nike

我正在考虑使用 Cassandra 作为时间序列存储。我有数百万个系列,每个系列都有大约 10K 个间隔均匀的连续点。有些系列的分数只有几千分或更少。它们可能在不同的点开始和结束,但都共享相同的时间。我访问数据系列

  1. 垂直:预定义分区(例如一年中的所有天),我需要所有行。
  2. 水平:特定系列的所有值(随机)

我正在考虑两种选择。首先,我每次可以只拥有一列,因为例如建议用于监控系统(尽管我有不同的访问模式)。其次,每个分区使用一个列表列。

我担心读取性能(第二个用例更关键)和存储开销。我确实找到了以下公式:
总列大小 = 列名称大小 + 列值大小 + 15 here

我认为这会使第一个选项在存储方面相当昂贵。我找不到任何有关列表存储布局的文档。你知道吗?还有其他建议吗?

顺便说一句,如果这有什么区别的话,我正在使用 python 作为 cassandra 的客户端。

最佳答案

“存储很便宜”通常是这里的理念。如果您有 2 个查询模式(您似乎是这样),则将所有内容存储两次:一次按您所需的垂直领域(按外观的天数)分区,另一次按您选择的系列分区。如果您不知道如何提前对系列进行分区(问题中不清楚),那么它就会变得更加复杂。按顺序读取时,Cassandra 读取是连续的 - 无论如何,这是您应该使用它的唯一方法。

您拥有 X00 亿点的区域,这比您的平均数据库大,但并没有近乎荒谬,特别是当分布在集群上时。鉴于我不知道数据点的宽度,很难给出确切的数字,但如果这些只是标量值,那么这只会是 2TB 左右的数据。

关于python - Cassandra 作为时间序列存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20049048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com