gpt4 book ai didi

firebase - Cloud Firestore 和 Firebase 实时数据库有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:09:54 28 4
gpt4 key购买 nike

Google 刚刚发布了 Cloud Firestore,这是他们的新应用文档数据库。

我一直在阅读文档,但我没有发现 Firestore 和 Firebase DB 之间有太多差异。

要点是,Firestore 使用文档和集合,与 Firebase(基于 JSON 的传统 noSQL 数据库)相比,可以轻松使用查询。

我想更多地了解它们的差异或用法,或者 Firestore 是否只是为了取代 Firebase DB?

最佳答案

我写了一个entire blog post关于这个问题,我建议您查看(或 official documentation )以获得更完整的答案。

但是如果您想要快速(-ish)摘要,这里是:

更好的查询和更结构化的数据 - 虽然实时数据库只是一个巨大的 JSON 树,但 Cloud Firestore 的结构化程度更高一些。您的所有数据均由文档(基本上是键值存储)和集合(文档的集合)组成。文档还经常指向子集合,子集合包含其他文档,子集合本身又可以包含其他文档,等等。

这些结构化数据可以通过两种方式帮助您解决问题。首先,所有查询都是浅层的,这意味着您可以请求文档而无需获取底层的所有数据。这意味着您可以以对您更有意义的方式分层存储数据,而不必担心数据库会变得浅薄。其次,你有更强大的查询。例如,您现在可以跨多个字段进行查询,而无需创建那些组合(和非规范化)数据库其他部分的数据的“组合”字段。在某些情况下,Cloud Firestore 将直接运行这些查询,而在其他情况下,它将自动为您创建和维护索引。

专为扩展而设计 - Cloud Firestore 将能够比实时数据库更好地扩展。请务必注意,您的查询会根据结果集的大小而不是数据集的大小进行缩放。因此,无论您的数据集有多大,搜索都将保持快速。

更轻松地手动获取数据 - 与实时数据库一样,您可以在 Cloud Firestore 中设置监听器以实时流式传输更改。但如果您不想要这种行为,而只是想要一个简单的“获取我的数据”调用,Cloud Firestore 也有这种功能,并且它是作为主要用例内置的。 (它们比实时数据库领域的 once 调用要好得多)

多区域支持 - 这基本上意味着更高的可靠性,因为您的数据可以同时在多个数据中心之间共享。但您仍然具有很强的一致性,这意味着您可以随时进行查询并确保您获得的是最新版本的数据。

不同的定价模型 - 实时数据库主要根据存储或网络带宽收费,而 Cloud Firestore 主要根据您执行的操作数量收费。这会更好,还是更糟?这取决于您的应用程序。

对于新闻应用、回合制多人游戏或您自己的 Stack Overflow 版本之类的应用,从定价的角度来看,Cloud Firestore 可能看起来相当有利。对于像实时团体绘图应用程序这样的应用程序,您需要每秒向多人发送多个更新,它可能会比实时数据库更昂贵。

为什么您仍然希望使用实时数据库——这可以归结为几个原因。

  1. 我之前提到的“对于进行大量频繁更新的应用程序来说可能会更便宜”,

  2. 它已经存在很长时间了,并且已经过数千个应用程序的实际测试,

  3. 它具有更好的延迟,当您需要可靠的低延迟以获得实时感觉时,实时数据库可能会工作得更好。

对于大多数新应用,我们建议您查看 Cloud Firestore。但是,如果您的应用程序已经在实时数据库中,我真的不建议为了切换而切换,除非您有令人信服的理由这样做。

关于firebase - Cloud Firestore 和 Firebase 实时数据库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46549766/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com