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

标签 firebase firebase-realtime-database google-cloud-firestore

众所周知,firebase rtdb 的读/写成本是免费的。通过更多的挖掘,我可以发现读/写实际上可以以非直接方式花费。好的,所以我一直在搜索文档和 SO 问题,以弄清楚“FIRESTORE 阅读成本(每 100,000 个文档 0.06 美元)和实时数据库下载(1 美元/GB)成本之间的确切区别是什么”,但遗憾的是我不能没办法完成。

RTDB 的存储数据成本(5 美元/GB)非常清楚,而且我了解按月计费的价格(这个价格是真的,对吗?)。但究竟什么是下载成本?通过一些 SO 问题和官方文档,我可以发现 rtdb 下载成本与 firestore 读取成本非常相似,并且通过深入了解最终路径来明确指定 db.ref 路径很重要。但是,如果下载成本都与这些操作有关,例如读取特定字段或路径中的 json 数据,那么 firestore 读取的概念与这些 rtdb 下载操作的概念有什么区别?

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

假设 Firestore 的 100,000 次读取是 0.04 美元,RTDB 的下载(看起来像是在读取)是 1 美元/GB。在我的计算中,从 firestore 读取 2,500,000 个文档等于从 RTDB 下载一个 GB。这意味着如果单个操作读取大于 400B(大约)的数据,firestore 读取成本甚至比 RTDB 读取成本更便宜。如果单个操作需要每次操作检索大于 400B 的数据,那么我没有理由使用 RTDB 读取数据。感觉好像被错误的概念给困住了,但要走出这个沼泽并不容易..]:

所以我希望弄清楚RTDB的读/写成本(如果它本身真的免费的话),以及为什么使用RTDB比使用firestore更好的原因,当应用程序必须做很多事情时读取操作数(对我来说,例如,每个用户每月大约有 1,000 次操作检索 400B 大小的数据)。我知道一些 firebase 专家正在感谢 SO 的 firebase 标签.我试图尽可能清楚地写出问题,但认为问题中会有一些不清楚的部分。所以,评论将不胜感激!希望这个问题能联系到你。提前致谢 [:

最佳答案

我创建了一个非常方便的spreadsheet calculator它计算负载的粗略大小和每个用户的规模,同时还考虑了免费层的使用情况。您可以在顶部输入您的值并获得不错的结果。

但总而言之,Realtime DB 读取每 KB 的成本非常高,而 Firestore 的额定每次读取高达 1mb(潜在),而写入 Realtime 非常便宜,我已经确认除了开销之外,它可以免费写入实时数据库。

与 Firestore 相比,Realtime db 并不经济,旨在涵盖 Firestore 的一些注意事项。读取(下载)的实时计费是(数据 + 开销)四舍五入到最接近的 kb

TLDR:

  • Firestore 非常适合高读取、低写入、静态信息。
  • 实时更适合低读取、高写入、 volatile 信息。

关于firebase 实时数据库下载定价与 firestore 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68587130/

相关文章:

ios - 此假通知应转发到 firebase Swift5 iOS

swift - 将视频上传到 Firebase 存储错误 Swift

swift - Firestore:如何在集合中获取随机文档

android - react native android firebase sign in with apple [错误 : The supplied auth credential is malformed, 已过期或当前不受支持。]

ios - Crashlytics显示哪些Google Analytics(分析)事件导致崩溃?

arrays - 在加载时对来自 Firebase 的数组运行排序?

c# - Firebase 实时数据库 : how can I retrieve 10 records around a specific key after ordered by value?

火力地堡 : How to validate a User ID posted by another user.

firebase - Flutter 单元测试 Firestore

ios - 如何在字段包含字典数组的 firestore 上查询?