当前位置: 首页 > 知识库问答 >
问题:

Firebase实时数据库还是Firestore聊天应用?

濮阳弘扬
2023-03-14

我们正在构建一个聊天应用程序,一对一聊天是该应用程序的主要目的,所以目前,消息传递速度是我们的首要任务。我们需要一个后端解决方案,我们最初计划使用Firebase实时数据库。但是后来Firestore出现了,从那以后我们看到了来自Firebase团队的很多关于Firestore而不是Realtime database的推荐。

我们同时使用了Realtime Database和Firestore,因此我们非常清楚两者的功能和查询功能。对于我们的用例而言,在特性方面,它们中的任何一个都是可以的。但正如我之前所说的,我们主要关注的是消息传递速度。那么哪一个更实时呢?

共有1个答案

楚彦
2023-03-14

那么哪一个更实时呢?

我不认为一个比另一个更实时。

但是后来Firestore出现了,从那里开始我们看到了很多关于Firestore的推荐

没错,Firestore在Firebase实时数据库上有一些新的特性,这就是为什么被命名为“新旗舰店”的原因。查询性能取决于您请求的项的数量,而不取决于您请求它们的项的数量。所以每次你想获取数据的时候,都要按一定的比例获取数据,以保持你所说的速度。正如Firebase团队的人所说,Cloud Firestore有性能保证,没有慢速查询,因此应用程序检索数据所花费的时间只取决于检索的数据量,而不取决于Firebase服务器上的数据量。换句话说,如果在一个集合中有一千个,一百万个,甚至十亿个文档,这并不重要,例如检索其中的15个文档,将总是花费相同的时间。

这种性能带有一些约束,为此,我建议您查看官方文档中有关在Cloud FireStore中获取数据的所有部分。这就是Firestore使用这些约束的原因,这是因为必须维护这种性能保证。但从我的经验来看,在Cloud FireStore中,没有什么“SQL”查询不能以某种方式进行翻译。

因此请记住,如果您请求10个文档中的一个文档或100.000或100.000.000.000中的一个项目,结果将在准确的时间内到来,这真的无关紧要。这里我以一个文档为例。所以关于速度,从一亿份文件中请求一份文件会比从一亿份文件中请求10份文件要快。因此集合中文档的数量对查询性能没有影响。

这是关于Cloud Firestore的,但我建议您在使用之前阅读两个主要的参考资料:

所以检查每一个的价格模型。但是,IMHO,云Firestore和Firebase实时数据库可以非常好地协同工作。

 类似资料:
  • 我们正在构建一个聊天应用程序,一对一聊天是该应用程序的主要目的,所以目前,消息传递速度是我们的第一要务。我们需要一个后端解决方案,我们最初计划使用Firebase实时数据库。但后来Firestore出现了,从那以后,我们看到了Firebase团队对实时数据库Firestore的许多建议。 我们已经使用了实时数据库和Firestore,所以我们非常了解两者的功能和查询能力。对于我们的用例,就特性而言

  • 我正在构建一个使用Firestore存储大多数数据的应用程序。该应用程序具有聊天功能,我正在考虑使用实时数据库。使用Firebase Firestore vs Realtime Database实现此聊天功能有哪些好处?如果没有区别,我应该什么都使用Firestore吗? 附言:我已经阅读了两个https://firebase.google.com/docs/database/rtdb-vs-fi

  • 我正在开发一个Android聊天应用程序,似乎我需要通过FCM发送每条消息,还需要保存到实时数据库。 我使用Firebase realtime DB存储和发送消息。我仍然需要发送每个消息(或至少消息id)也通过FCM。我担心如果我不这样做,并且只在应用程序在后台时发送FCM,用户可能会错过一些传入的消息。 将侦听器放在服务上似乎不够可靠(如果android干掉了服务怎么办?直到我重新启动它,我可能

  • 我需要将数据从Firebase实时数据库切换到Firestore DB。我该怎么做? 视频主要关注实时db,但我认为由于我没有激活实时db,它会转到Firestore。但我让它工作的唯一方法是启用实时db。所以我可以在Firebase中插入和读取数据,但我需要它在Firestore中。 任何帮助都是非常感激的。

  • 我正在为具有许多嵌套行的json数据库寻找将Firebase实时数据库数据迁移到云Firestore的最佳方法。示例: 我没有找到任何可以帮助我的东西。我需要迁移的是Cloud FireStore的新离线功能。我正在使用Ionic3(角度5)

  • 我正在寻找最好的方法来迁移我的应用程序数据库,它使用firebase实时数据库到新的云Firestore数据库。对于我正在进行的项目,我确信我不需要做任何数据模式的更改,所以我几乎只是尝试1-1映射它。Firebase在他们的网站上建议只编写一个脚本来实现这一点,但我不确定最好的方法。有没有人已经做了一个脚本来完成这件事?

  • 我很难弄清楚如何正确地构造多用户聊天室体系结构。 基本上,该应用程序支持用户之间的私人消息(可以是两个用户之间的消息,也可以是多个用户之间的消息)。如果只在2个用户之间,数据结构真的很容易。 我试图降低成本(我不希望当当前登录的用户正在与某人聊天,而观察者正在获得与该特定聊天无关的所有消息时),并正确地构造数据。如果只有2个用户,我总是可以在当前用户ID下添加受体,并只查询该节点。但是有多个用户(