【问题标题】:InfluxDB: storing audio or videoInfluxDB:存储音频或视频
【发布时间】:2016-02-01 22:52:55
【问题描述】:

我们正在寻找 InfluxDB 来存储大量流式测量(1-2 tera-samples)。此外,我们还希望能够存储与测量相对应的音频和视频流(不是全部,而是很多)。至少对我来说这是有道理的,因为它都是时基数据。但我在网上没有看到任何关于此的讨论。
我想视频数据可以分解成帧。并且音频数据可以分解为 100 毫秒的音频帧。
有没有人试过这个?有什么建议吗? 干杯。 凯文

【问题讨论】:

  • 说实话,我认为 InfluxDb 不适合存储音频/视频流。将它存储在某种存储中不是更好吗(取决于您使用的是什么 - 私人服务器,云服务......)。 InfluxDb 专门用于“metric-y”类型的数据,而音频/视频流并非如此。这可能不值得。您始终可以将 InfluxDb 与其他类型的数据库和/或存储结合使用。
  • 感谢您的评论。我明白你的意思。也许我们使用数据库的方式与大多数情况略有不同。我们希望长时间记录持续的测量数据流(大约 100Hz 采样率)。每次测量都很小(一个或两个字节),并且会有许多同时流。 (续)
  • (续)主要目标是能够提取时间对齐的单个测量值(跨所有流)(例如,在上午 11:00:00 跨所有流的所有测量)。一些流是音频,另一些是视频,我们需要同时提取单独的音频/视频帧(例如,上午 11:00:00)。所以我们需要跨多个流的时间同步访问。我的想法是时间序列数据库会对此有好处。
  • (续)当然,我们可以将视频存储在单独的数据库中,并带有指向单个帧的链接和时间码。但这似乎效率低下。每个流测量将是一个字节(每 10 毫秒报告一次),并且可能需要包含 100 个字节的链接和时间码信息以指向并行数据库。每秒 100 个样本乘以 30 个测量值,每个测量值都有 100 字节的链接数据,即浪费了 300KB 的信息。叹。无论如何,这就是我所看到的问题。谢谢。
  • 你是怎么看出来的?这个周末我打算开始一个听起来很相似的项目——尽管我在 Elastic 和 InfluxDB 之间争论不休。

标签: database audio video sensors influxdb


【解决方案1】:

大多数时间序列数据库都针对存储浮点值进行了优化,偶尔会出现字符串。存储超过 1KB 的 BLOB 对于 InfluxDB 来说可能不是一个好的用例,尽管我们还没有对更大的二进制数据进行过多的性能测试。

也就是说,我不太了解您的用例。看起来更像是您需要索引音频和视频,而不是存储和分析时间序列数据。 TSDB 不仅针对以时间为主轴的事物进行了优化,还针对聚合这些值和寻找随时间的变化进行了优化。您的用例似乎不涉及任何聚合或模式搜索,只是一个简单的按时间查找表。

我认为 NoSQL 数据库同样适用于此,或者可能是构建在 Cassandra 之上的 OpenTSDB。

【讨论】:

  • 感谢您的回复。我们需要聚合 20-30 个基于时间的传感器数据流 (100-200Hz),并在给定日期的上午 10:00:00 获取所有时间对齐的测量值。由于数据都是异步的(有自己的时基),我们需要在那个时间点获取时间上最接近的样本。那么,这仍然是 TSDB 的正确选择吗?谢谢。
  • 这听起来像是一个更合理的 TSDB 用例。您可以将时基存储为字段,将实际日历时间存储为时间戳,然后查询位于同一时间戳或某个时间戳范围内的点。
猜你喜欢
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多