【问题标题】:Firestore Pricing - Does The Amount Of Documents In A Collection Matters?Firestore 定价 - 集合中的文档数量是否重要?
【发布时间】:2018-04-19 03:46:34
【问题描述】:

我在documentation 中读到,我将按我向read、write 或update documents 提出的请求数量收费。我还读到阅读collection 的价格与阅读document 的价格相同(“对于文档读取以外的查询,例如对集合 ID 列表的请求,您需要为一个文档付费阅读。"),如果我错了,请纠正我。

我的问题是:阅读带有大量 documents 的 collection(比如说 - 10,000 documents)的价格是否与阅读带有 10 个的 collection 的价格相同?

我想得到一些关于它的解释......

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    这取决于“读取集合”的含义,但对于大多数人来说,这意味着“从集合中查询一堆文档”。答案是定价通常取决于检索到的文档数量。

    稍微简化一下:

    如果您有 10 名员工的集合,并且您拨打collection("employees").get() 电话,您将获得 10 份员工文件,并按 10 次阅读收取费用。

    如果您有 10,000 名员工的集合,并且您拨打 collection("employees").get() 电话,您将获得 10,000 名员工,并收取 10,000 次阅读的费用。

    如果您有 10,000 名员工,并且您拨打 collection("employees").get().limit(10) 电话,您将获得 10 名员工,并收取 10 次读取费用。

    如果您有 10,000 名员工的集合,其中 4 名被命名为“Courtney”,并且您拨打 collection("employees").where("first_name", "==", "Courtney") 电话,您将获得 4 名员工并收取 4 次读取费用。

    【讨论】:

    • 是我自己还是这个定价模型比以前的实时数据库贵 100 倍?使用实时数据库查询现在被视为集合的内容被视为单次读取。我很想改用 Firestore,因为它具有更好的查询功能,但是当我的集合中有数千个文档时,我会很快超过配额。
    • 不一定。实时数据库主要根据带宽大小收费,而 Cloud Firestore 主要根据读取次数收费。当您处理频繁更新少量数据的应用程序时,实时数据库通常更具成本效益,而当您处理较大块的文档时,Cloud Firestore 通常更有效。不过,无论哪种方式,您都应该真正考虑对查询进行分页以获得更高的成本效益。
    • @ToddKerpelman collection("employees").get().limit(10) 应该是 collection("employees").limit(10).get()
    • 这是你的答案,这是有道理的,我一直在考虑减少我的阅读量,我有 53 个文档,当我测试时,我在一小时内使用了 1,000 次阅读,我什至将每个文档中的所有数据放入一个数组或字典中
    • 子集合例如collection("/users/applications").where("first_name", "==", "Courtney") 呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2019-03-30
    • 2019-01-08
    • 2022-10-19
    • 1970-01-01
    • 2018-05-11
    • 2018-10-21
    相关资源
    最近更新 更多