【问题标题】:Firebase Realtime Database vs Cloud FirestoreFirebase 实时数据库与 Cloud Firestore
【发布时间】:2019-08-07 21:09:48
【问题描述】:

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

我决定在我的项目后端使用 firebase。对于firestore,它被称为“下一代实时数据库”。现在我正试图决定走哪条路。实时数据库还是云 Firestore?

计费:

乍一看,Firestore 按返回的结果数、读取次数、写入/更新次数等收费。实时数据库收费基于传输的数据。读写操作的数量无关紧要。他们也都对存储在谷歌服务器上的数据收费(我认为在这方面 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?

非常感谢!

【问题讨论】:

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


【解决方案1】:

您还能想到哪些其他差异?

我的想法,好的。我使用 realtime-database 有 6 个月的经验,不同的是,firestore 易于对数据进行排序。例如,我想检索基于用户名的时间戳。

Query firstQuery = firestore.collection("Names").orderBy("timestamp", Query.Direction.DESCENDING).limit(10); // load 10 names

对于不同类型的 项目?

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

还有适用于 SMART OFFICE 的 Firestore,如空调,或 Light-room 和 Enterprise,如库存数量等。

您仍然使用实时数据库还是从 那个去火库?如果有,为什么?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-04
    • 2018-03-14
    • 2020-02-16
    • 2019-07-05
    • 2018-03-15
    相关资源
    最近更新 更多