代码之家  ›  专栏  ›  技术社区  ›  Francisco Durdin Garcia

云Firestore和Firebase实时数据库之间有什么区别?

  •  380
  • Francisco Durdin Garcia  · 技术社区  · 8 年前

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

    主要的一点是,Firestore使用文档和集合,与Firebase相比,Firebase允许轻松使用查询,Firebase是一个具有JSON库的传统noSQL数据库。

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

    8 回复  |  直到 6 年前
        1
  •  534
  •   Mario Petrovic Emmanuel Onah    4 年前

    entire blog post 关于这个问题,我建议你去看看(或者 official documentation )以获得更完整的答案。

    但是,如果您想要快速的摘要,请点击这里:

    --虽然实时数据库只是一棵巨大的JSON树,但云Firestore的结构更为结构化。所有数据都由文档(基本上是键值存储)和集合(文档集合)组成。文档还经常指向子集合,子集合包含其他文档,子集合本身可以包含其他文档,等等。

    这种结构化数据有两种帮助。第一 ,这意味着您可以请求文档,而无需获取下面的所有数据。这意味着您可以以一种对您更有意义的方式分层存储数据,而不必担心数据库过于肤浅。其次,您有更强大的查询。例如,您现在可以跨多个字段进行查询,而不必创建那些组合字段,这些字段将来自数据库其他部分的数据合并(并反规范化)。在某些情况下,云Firestore将直接运行这些查询,在其他情况下,它将自动为您创建和维护索引。

    按比例设计

    --与实时数据库一样,您可以在云Firestore中设置侦听器,以实时传输更改。但是,如果你不想要这种行为,只需要一个简单的“获取我的数据”调用,Cloud Firestore也有这样的功能,它内置为一个主要用例。(它们比 once

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

    不同的定价模型 --虽然实时数据库主要根据存储或网络带宽收费,但云Firestore主要根据

    对于为新闻应用程序、基于回合的多人游戏或类似您自己版本的Stack Overflow提供支持,从定价角度来看,云Firestore可能会非常有利。对于像实时群组绘图应用程序这样的应用程序,你可以在一秒钟内将多个更新发送给多个人,这可能比实时数据库更昂贵。

    --归结起来有几个原因。

    1. 它已经存在了很长一段时间,并经过了数千个应用程序的测试,

    2. 它有更好的延迟,当您需要一些具有可靠低延迟的东西来实现实时感时,实时数据库可能会工作得更好。

    希望这有帮助!

        2
  •  92
  •   Maciej Gurban    5 年前

    你可以在这里阅读整篇文章: https://medium.com/@beingrahul/firebase-cloud-firestore-v-s-firebase-realtime-database-931d4265d4b0

    Firebase Realtime database Cloud Firestore 将数据存储在文档(文档是一组键值对)和集合(文档集合)中。

    更多结构数据

    enter image description here

    更好的查询

    • 在实时数据库中,我们只能在单个查询中对单个属性进行排序或过滤,而不能同时对属性进行排序和过滤。在 云FireStore,您可以链接过滤器,并将过滤和 在单个查询中对属性进行排序。
    • 如果您希望按降序提取数据,则可以使用Cloud FireStore 对你很有用。对于实时数据库,没有查询 功能可用。 enter image description here
    • 云FireStore中的查询(逻辑与)。 enter image description here

    可扩展性

    手动获取数据

    安全

    在实时数据库中,我们需要使用验证规则单独验证数据,但在云FireStore中,数据验证会自动进行。

    我们可以作为一个批处理执行多个操作,并通过以下任意组合以原子方式完成它们: set() , update() delete() 方法。 enter image description here

    定价

        3
  •  25
  •   Community Mohan Dere    5 年前

    这是一个改进版本

    Firebase数据库足以支持基本应用程序。但它的功能不足以处理复杂的需求。这就是为什么引入云Firestore。这里有一些主要的变化。

    • 对web客户端的脱机支持。
    • 写入和事务操作是原子操作。
    • 可靠性和性能改进
    • 缩放将自动进行。
    • 将更加安全。

    定价

    Here 是有关计费的完整详细信息。

    谷歌的未来计划

    当他们发现实时数据库的缺陷时,他们创造了另一个产品,而不是改进旧产品。尽管没有可靠的细节显示他们在实时数据库上的当前排名,但现在是时候开始考虑它可能被放弃了。



        4
  •  4
  •   TechFree    6 年前

    建议从谷歌链接: Firebase Real-time Database vs FireStore

    是基于JSON的无SQL数据库,用于移动应用程序、区域,通常用于实时/极低延迟在用户/设备之间存储和同步数据。

    消防仓库

        5
  •  2
  •   ezaspi    5 年前

    虽然大多数答案基本正确,但Firebase文档表明,说Firestore是一种新方式并不是一件简单的事。这取决于你想对数据库做什么! Firebase在下面的链接中向您提出了许多问题,请仔细考虑,因为围绕一个应用程序编写一个应用程序,然后发现您需要使用另一个应用程序并不容易!

    例如: 数据库实例数: 如果前者使用Firebase实时数据库,如果后者使用Firestore。

    rtdb-vs-firestore

        6
  •  1
  •   user12449933    5 年前

    云firestore基本上是为简单但大的数据而设计的 实时数据库用于复杂的数据存储(看起来像JSON)

    • 云Firestore
    • 实时数据库 是Firebase的原始数据库。它是一种高效、低延迟的解决方案,适用于需要跨客户端实时同步状态的移动应用程序。

    主要区别:-

    • 简单的数据很容易存储。
    • 复杂的分层数据更难大规模组织。
    • 简单的数据很容易存储在文档中,这与JSON非常相似。
    • 使用文档中的子集合,更容易大规模组织复杂的层次数据。
    • 需要更少的非规范化和数据平坦化。

    来源(更多信息由谷歌提供):- https://firebase.google.com/docs/database/rtdb-vs-firestore#key_considerations

        7
  •  0
  •   Tarun Sharma    4 年前
    • 发展它建立在实时数据库成功的基础上 一种新的、更直观的数据模型。Cloud Firestore还具有以下功能 比实时数据库更丰富、更快的查询和扩展。

    • 实时数据库是Firebase的原始数据库。这是一个高效的,
        8
  •  0
  •   Ishaan Kotagar    4 年前

    它通常在用例中结束,如果你打算使用更高的带宽,98%的时间都有存储空间,并使用更高的数据处理,那么我会使用fire store,否则你可以使用实时数据库。

    推荐文章