【问题标题】:Is a Firestore database suitable for this time-series data or should I implement something else?Firestore 数据库是否适合这种时间序列数据,还是我应该实现其他东西?
【发布时间】:2020-12-19 10:20:17
【问题描述】:

我正在制作一个带有 Firestore 后端的 Flutter 应用。

我想从传感器读数中保存时间序列数据,如果可能的话,我想使用 firestore 数据库,因为我将它用于其他所有事情。数据每分钟生成一次,有 12 个值和一个索引 (count_seconds)。稍后我想在登录同一帐户的任何手机上显示 Flutter 应用上数据的条形图。

将有数千部手机上传数据。

我正在这样写数据:

  DocumentReference history = Firestore.instance.collection("devices").document(deviceId).collection('updates').document("history");
  history.setData({
    "values": FieldValue.arrayUnion(
      [
        {
          countSeconds.toString(): [
            value0,
            value1,
            value2,
            value3,
            value4,
            value5,
            value6,
            value7,
            value8,
            value9,
            value10,
            value11
          ]
        }
      ],
    )
  }, merge: true);

它以数组的形式存储在每个设备的数组中。

当我导航到数据库的 firestore 数据库页面时,需要很长时间才能显示该页面。

我担心这是错误的方法。我知道当我检索数据时,我只会选择视图所需的数据。例如最后 200 行。我不确定这是否会很慢。我知道每个文档有 1MB 的限制,但我不确定这相当于多少行。

感谢任何建议

【问题讨论】:

    标签: google-cloud-firestore


    【解决方案1】:

    如果您要向 Firestore 添加“大量”数据,则将这些项目添加到单个文档中的数组通常不是一个好主意。您应该为每个项目创建一个新文档。是的,有很多文档读取,但您不会遇到任何size or rate limits

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 2020-04-27
      • 2011-02-02
      相关资源
      最近更新 更多