微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

InfluxDB 优化了 27 亿系列及更多的存储

如何解决InfluxDB 优化了 27 亿系列及更多的存储

我们希望将一些数据迁移到 InfluxDB。我正在测试服务器上使用 InfluxDB 2.0 来确定存储数据的最佳方式。

截至今天,我有大约 27 亿个系列要迁移到 InfluxDB,但这个数字只会增加

这是我需要存储的数据结构:

  • ClientId(截至今天为 332 个值,7 个字符的字符串)
  • 驱动程序(int,截至今天的 45k 值,将会增加
  • 车辆(int,截至今天的 28k 值,将会增加
  • 通道(100 个值,不应增加,40 个字符的字符串)
  • 通道的值(浮动,在给定的时间戳每个通道/车辆/驱动程序/客户端有 1 个值)

起初,我想以这种方式存储我的数据:

  • 一个存储桶(因为所有数据都具有相同的数据保留时间)
  • 测量值 = 通道(因此可以存储 100 种测量值)
  • 标签键 = ClientId
  • 字段 = 驾驶员、车辆、渠道价值

根据此article

,这给了我 1 * 100 * 332 * 3 = 99 600 的基数

但后来我意识到 InfluxDB 根据“测量名称标签集和时间戳”处理 duplicate

因此,对于我的数据,这不起作用,因为我需要至少基于 ClientId、Channel、Vehicle 进行复制。

但是如果我改变我的数据结构以这种方式存储:

  • 一个存储桶(因为所有数据都具有相同的数据保留时间)
  • 测量值 = 通道(因此可以存储 100 种测量值)
  • 标签键 = ClientId、Vehicle
  • 字段 = 驱动因素,渠道价值

那么我将得到 2 788 800 000 的基数。

我知道我需要保持尽可能低的基数。 (理想情况下,我什至需要能够按驾驶员和车辆进行搜索。)

我的问题是:

  • 如果我将数据拆分到不同的存储桶中(例如:每个 clientId 1 个存储桶),它会减少我的基数吗?
  • 为如此大量的系列存储数据的最佳方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。