gpt4 book ai didi

mongodb - mongodb 是否适合通用时间序列数据?

转载 作者:可可西里 更新时间:2023-11-01 09:46:00 26 4
gpt4 key购买 nike

我需要收集像这样的各种时间序列指标

{event_type, event_time, data_point1, data_point2}

然后我需要执行临时查询,例如“如果数据点 2=7,则事件 X 的所有数据点 1 值在 5 分钟间隔内”或“事件 Y 在这一小时内的数据点 1-数据点 2 的平均值”。

我看过 some material关于在 mongo 中建模时间序列,但它似乎根据您将要询问的查询预先聚合数据。是否仍然可以在 mongo 中保存所有数据点并执行免费查询?

最佳答案

我可能在这里遗漏了一些东西,但我相信你想要一个集合:

{event_type, event_time, data_point1, data_point2}

以便您可以执行查询。本文档应该很容易满足您的两个查询,后者是使用聚合框架 ($avg) 完成的。

这将为您提供完整的自由形式查询。

我认为您可能刚刚被链接的帖子 ( http://www.quora.com/Time-Series/What-is-the-best-way-to-store-time-series-data-in-MongoDB) 弄糊涂了。它显示了一种预聚合形式,它将形成数据的顶级结果,这通常很难按需进行。

当然,正如您所注意到的,这种方法限制了查询能力,但是时间序列可能会变得非常大,而且我不确定聚合框架是否适用于对您的自由格式数据集进行更复杂的查询。这就是预聚合的用武之地。它为您的低级数据提供了一些顶级数据,有效地使聚合变得更加容易。

所以在那篇文章中你可以看到@Jared 实际上展示了他拥有的第一个收藏,这是一个详细的收藏:

{ 
timestamp: "Sun May 02 2010 19:07:40 GMT-0700",
metric1: 10,
metric2: 20,
}

这将是您的详细信息集合,其中包含:

{event_type, event_time, data_point1, data_point2}

您可以以自由形式查询的集合,然后@Jared 继续展示如何创建以将数据分级到该详细集合以使其他聚合更容易。

所以我不确定问题出在哪里,详细信息集合存储所有 data_points 并允许您执行免费查询,当然前提是您有正确的索引。

关于mongodb - mongodb 是否适合通用时间序列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024577/

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