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

firebase实时数据库下载定价与firestore读取

李谦
2023-03-14

众所周知,firebase rtdb的读/写成本是免费的。再深入一点,我就可以发现读/写实际上会以非直接方式产生成本。好的,所以我一直在搜索文档和问题,以找出“FIRESTORE阅读成本(每100000个文档0.06美元)和实时数据库下载成本(每GB 1美元)之间的确切区别”,但遗憾的是,我无法完成它。

RTDB的存储数据成本(5美元/GB)非常明确,我知道每月的账单价格(这是真的,对吧?)。但下载成本到底是多少?通过几个问题和官方文档,我可以发现rtdb下载成本与firestore读取成本非常相似,指定数据库非常重要。跳入最后一条路径,清楚地参考路径。但是,如果下载成本都与这些操作有关,比如读取特定字段或路径中的json数据,那么firestore读取的概念和这些rtdb下载操作的概念有什么区别?

如果地球上已经发生了所有这些事情,那么RTDB在“概念阅读”方面的成本永远不会是免费的,即使我们以直接的方式说话。那么,为什么一些社区成员和文章总是说“RTDB的读/写成本是免费的”?我正在考虑将一些功能从firestore迁移到RTDB,因为众所周知RTDB是免费读写的。该功能每月数百次更新500B大小的单一路径(firestore文档)。但这个问题让我很困惑。

假设firestore的100000读取值为0.04美元,RTDB的下载值(看起来像读取值)为1美元/GB。根据我的计算,从firestore读取2500000个文档相当于从RTDB下载一个GB。这意味着,如果单个操作读取的数据量大于400B(约),firestore读取成本甚至比RTDB读取成本更低。如果单个操作需要检索每个操作大于400B的数据,那么我没有理由使用RTDB来读取数据。感觉好像我被错误的观念抓住了,但要走出这片沼泽并不容易……]:

因此,我希望弄清楚RTDB读/写成本(如果它本身真的是免费的),以及为什么在应用程序必须执行大量读取操作时,使用RTDB比使用firestore更好(对我来说,每个用户每月大约1000次检索400B大小数据的操作)。据我所知,一些firebase大师感谢SO的firebase标签。我试图把问题写得尽可能清楚,但我认为问题中会有一些不清楚的部分。因此,我们非常感谢您的评论!希望你能回答这个问题。。提前感谢

共有2个答案

微生鸿轩
2023-03-14

从Firestore阅读文档时,您需要支付:

  1. 文档读取——在服务器上读取文档的成本

在大多数情况下,我们看到使用Firestore的开发人员的成本更多地来自文档读取,因为每GB的成本相对较低。

从实时数据库读取数据时,只需支付以下费用:

  1. GB下载——将数据下载到html" target="_blank">客户端的成本

在这里,成本主要来自下载数据的大小。它与Firestore的网络出口非常相似,但每字节读取的成本更高(当然,您不需要为服务器本身的读取操作付费)。

虽然计算器(如DIGI Byte的计算器,或定价页面上的计算器)是最好的,但粗略的指导是,如果您执行许多小读写,RTDB将是更好的选择,而如果您执行更少写入和/或更大的读取,那么Fi还原通常是更好的选择。

汪丁雷
2023-03-14

我已经创建了一个非常方便的电子表格计算器,它可以计算每个用户的有效载荷和缩放的粗略大小,同时也考虑到免费层的使用情况。您可以在顶部输入您的值,并获得一个不错的结果。

但总而言之,实时数据库每KB的读取成本非常高,而Firestore的每次读取成本高达1mb(潜在),而写入实时数据库的成本非常低。我已经证实,除了开销之外,写入实时数据库是免费的。

实时数据库与Fi还原相比并不经济,它的设计是为了涵盖Fi还原的一些警告。读取(下载)的实时计费是(数据开销)舍入到最近的kb

TLDR:

  • Firestore是高读、低写、静态信息的理想选择
  • 实时更适合低读、高写、易变的信息
 类似资料:
  • 我需要将数据从Firebase实时数据库切换到Firestore DB。我该怎么做? 视频主要关注实时db,但我认为由于我没有激活实时db,它会转到Firestore。但我让它工作的唯一方法是启用实时db。所以我可以在Firebase中插入和读取数据,但我需要它在Firestore中。 任何帮助都是非常感激的。

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

  • 我已经花了几个小时阅读产品分支中的0和1。请在Firebase数据库有经验的人帮助我:(

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

  • 我正在一个聊天应用程序,其中消息存储在firebase实时数据库。现在,如果我创建一个如下所示的节点(Chats-Better-A-ID和-B-ID是自动生成的聊天室密钥),那么我想知道当用户S在聊天应用程序中打开与用户T聊天时,so数据库将只读取存储在Chats-Better-S-T-ID中的消息,而不会读取其他聊天室消息!?我说的对吗?如果是,那么它会降低定价吗? 或 如果我存储如下所示的数据

  • 如何与FireStore执行廉价连接? 雅库布 PS如何实际使用引用数据类型?不幸的是,文档中没有对此进行描述。