【发布时间】: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