【问题标题】:Optimising Firestore costs for time series data?优化时间序列数据的 Firestore 成本?
【发布时间】:2020-05-08 04:44:11
【问题描述】:

我一直在使用 Postgres 存储时间序列传感器数据,但我正在权衡使用 Firestore 的成本,因为我更喜欢 Firestore 的无服务器特性。我唯一担心的是 Firestore 的成本,因为我为每次阅读付费。我希望能够在我的网络应用程序上显示此传感器信息。现在,我每 10 秒采集一次数据,并且有超过 400 个传感器点(我的 postgres 表中每行 400 列)

目前,如果用户查询一周的工作数据,大约有 60,000 行数据,但我通过只取每第 n 个值来“羽化”数据来优化它。因此,以每 20 行为例,我将返回的数据减少到 3000 行,这是可管理的,并且图表仍然显示出明显的趋势。

我希望能够在 Firestore 中执行此操作以节省成本,因为如果用户查询一周的数据,我将支付 60000 次文档读取费用,但无论如何我都无法在 Web 应用程序上显示所有这些数据点。我已经尝试寻找查询firestore以获取第N行数据的方法,但没有找到任何具体的解决方案。

有人对我如何优化时间序列数据的 Firestore 成本或任何其他廉价的无服务器方法来管理这些数据有任何建议吗?

【问题讨论】:

    标签: firebase google-cloud-firestore cloud


    【解决方案1】:

    正如您所说,Firestore 不提供任何方法来“羽化”查询中的数据。您可以做的是在每个文档中放入一个整数来描述其“第 N 个”值,然后只查询您想要的那些“N”。

    【讨论】:

    • 但是放置一个描述每个第 N 个值的整数需要我跟踪将数据上传到 Firestore 的脚本上的运行编号,但是如果运行编号由于某种原因被弄乱了,这肯定会带来一些复杂性和不灵活性数据丢失或需要重新上传
    • 我敢肯定,如果这些问题不经常发生或可以解决,则可以忽略。我想不出其他选择。我相信你必须在客户端解决这个问题。
    • 好吧。感谢您的建议! :)
    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多