【问题标题】:Is Firestore a good choice for time series data? [closed]Firestore 是时间序列数据的好选择吗? [关闭]
【发布时间】:2019-08-07 05:38:50
【问题描述】:

我有一个小项目,涉及一些简单的金融时间序列数据,前端有一些实时组件。我希望使用 Firebase 基础架构,因为它提供了很多东西而无需设置太多基础架构,但经过调查,它似乎不是存储时间序列数据的好选择。

诚然,我在关系数据库方面有更多经验,所以我可能会问一个非常基本的问题。如果我要使用 Firestore 来存储时间序列数据,有人可以提供一个示例来说明如何构建它以进行高效查询吗?

使用 Postgres 之类的东西会更好吗?

【问题讨论】:

  • 如果您需要高效的时间序列查询,您宁愿选择时间序列数据库 (tsdb) imo。我个人偏爱 Warp10,因为您可以使用它进行迄今为止最复杂的查询。
  • 为了让我们提出解决方案,我们需要了解您要查询的内容以及预期的最终结果。此外,提出意见类型的问题是题外话——我们无论如何都无法回答这个问题,因为我们不知道用例。
  • @Jay 该数据在第一行被描述为“简单的金融时间序列数据”。用例被描述为“前端的实时组件”。对于时间序列数据,通常需要按日期时间范围进行查询。如果问题需要澄清,那么我可以问 - Firestore 是否适合按日期时间进行索引和查询以进行实时图表?问题的第二部分当然是征求有根据的意见,但第一部分应该很清楚
  • 这很模糊,因为几乎任何数据库都可以查询时间戳(又名“数据”)。您是否可以提供一个描述您的数据的具体示例,或者您想要运行的查询示例?在您的问题中也包含代码和结构是一个好主意,这样我们就可以看到您尝试了什么以及什么不起作用。请花点时间查看How do I ask a good question? 和非常重要的How to create a Minimal, Complete, and Verifiable example
  • 哦,Firestore 入门指南Queries 提供了一些很好的简单和复合查询示例,包括限制和范围。完成该代码后,它可能会为 Firestore 功能提供更好的感觉。

标签: firebase google-cloud-firestore time-series


【解决方案1】:

最好的办法可能是使用时间序列数据库。看起来已经提到了 Warp 10 (https://www.warp10.io)。

类似 warp 的好处是能够查询数据库的时间组件。我相信 firebase 只有简单的大于/小于时间可用的查询。

【讨论】:

  • 感谢您的链接,这很有帮助。我可能会选择这个或像 Postgres 这样更相关的东西,而不是 Document Store。我还发现这个链接很有帮助:stackoverflow.com/questions/4814167/…
  • 澄清一下,Firestore 没有 time 组件,它可以存储数字(双精度)。请记住,warp10 时间戳 ts 时间戳是签名的 LONG。 Firestore 具有更大/更小/相等的查询和范围,这类似于扭曲查询,并且可以查询“时间”组件。从Fetch Docs 可以看出,查询是类似的。对于未来的读者,您能否澄清这个答案,因为不清楚答案到底是什么?
  • @Jay,Warp10 能够在服务器端执行分析时间序列查询和计算,而 Firestorm 需要一个查询,然后在客户端完成这些分析计算。虽然有人可以使用 Firestorm + Google Cloud Functions 来近似 Warp10 分析,但对于某些用户来说可能太低级了。这是关于 Warp10 功能的一个很好的简报medium.com/@PierreZ/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
相关资源
最近更新 更多