Firebase实时数据库与Cloud Firestore

时间:2019-03-17 09:03:43

标签: firebase firebase-realtime-database google-cloud-firestore

编辑:发布问题后,我想我也可以为您提供快速参考,需要快速了解一下这两种技术之间的一些差异,这可能有助于您做出决定最终是其中之一。我将编辑此问题并在我了解更多信息时添加更多信息。

我决定将Firebase用于我的项目后端。对于Firestore来说,它是“下一代实时数据库”。现在,我正在尝试确定要走的路。实时数据库还是云Firestore?

结算:

乍一看,它看起来像是按返回结果数,读取数,写入/更新数等对Firestore收费。实时数据库根据传输的数据收费。读写操作的数量无关紧要。他们俩也都对存储在google服务器上的数据收费(我认为在这方面,firestore便宜一些)。我为什么要提到这个价位?因为从我的角度来看,尽管它可能会减轻重量,但在选择一个而不是另一个时也要考虑。

缩放比例:

Cloudstore似乎可以无缝地水平扩展。我认为这对于实时数据库是不可能的。

编辑: 在实时数据库中,您需要使用多个数据库自行分片数据。而且,仅当您处于BLAZE配乐计划中时,您才能执行此操作。 参考:https://firebase.google.com/docs/database/usage/sharding

性能和索引编制:

另一件事是实时数据库的数据结构在两者上是不同的。实时数据库以我们构造数据的任何方式将数据存储为JSON对象。 Firestore将数据构造为集合和文档。因此,查询在两者之间也会发生变化。

我认为firestore会执行自动索引,这也会大大提高读取性能(这会降低读取性能)。我不确定实时数据库是否也是如此。

编辑: 实时数据库不会自动为您的数据建立索引。在对数据和需求进行全面检查后,您需要自己做。 参考:https://firebase.google.com/docs/database/security/indexing-data

您还能想到什么其他区别?

对于不同类型的项目,您会选择(或曾经选择过)?

您是否仍使用实时数据库,还是从实时数据库迁移到了Firestore?如果可以,为什么?

最后一件事。您将如何比较这两个的SDK?

非常感谢!

1 个答案:

答案 0 :(得分:0)

  

您还能想到什么其他差异?

我怎么想,好的。我使用实时数据库已有6个月的经验,不同之处在于,firestore易于对数据进行排序。作为示例,我想检索基于用户名的时间戳。

FROM debian
  

您将(或曾经)选择不同类型的   项目?

对我来说,当我使用Arduino时,用于数据流的实时数据库,我想存储Drone Speed。

还有SMART OFFICE的Firestore(如空调)或照明室,以及Enterprise(如库存数量)等。

  

您是否仍然使用实时数据库,或者是否从迁移   那到消防站?如果可以,为什么?

仍与实时同步,因为我需要 TREE 来显示流数据结构,而不是像Firestore这样的查询 TABLE