Firestore 标准版和企业版中的原生模式支持

本页面介绍了可用于访问原生模式数据库中数据的不同接口。

操作接口

原生模式支持两种用于访问数据的接口:

流水线操作

Cloud Firestore 的较新查询接口。流水线操作支持基于阶段的可组合语法。您可以通过定义一系列按顺序执行的连续阶段来构建操作。这样一来,您就可以执行复杂的运算,例如对汇总结果进行过滤,而这在原始接口(核心操作)中是不可能实现的。

流水线操作仅在 Cloud Firestore 企业版中提供,并且处于预览版发布阶段。

核心操作

核心操作是 Cloud Firestore 的原始接口。核心操作对文档或集合引用使用方法链式语法(.where().orderBy().get())来检索文档。查询阶段的顺序是隐含的,并且汇总支持有限。

核心操作在企业版和标准版中均可用,但不同版本之间的索引默认值差异很大。有关详情,请参见下文。

版本之间的接口差异

随着企业版中引入原生模式支持,Firestore 核心操作与流水线操作均可使用。在企业版中使用核心操作时,新的索引编制行为和定价模式消除了标准版的许多限制。

功能 标准版 企业版
支持的查询操作 仅限 Firestore 核心操作。 支持 Firestore 核心和流水线操作,以及与 MongoDB 兼容的 Firestore 操作。
索引编制要求 所有查询都需要索引。 查询不需要索引。
索引创建 系统会为单个字段创建自动索引。您可以手动创建复合索引。 系统不会创建任何自动索引。这些索引需要手动管理。
查询性能和费用 由于有索引要求,查询通常具有良好的性能表现 通过创建索引来优化查询性能和费用。您可以使用“查询解释”和“查询洞察”来识别缺失的索引。

随着数据集不断增长,无索引的查询可能会性能下降且成本上升,因此需要持续监控与优化。

索引开销费用 索引写入不收费,因为索引是自动的。 当写入关联文档时,写入索引条目会消耗写入单位(索引条目每 1 KiB 消耗 1 个写入单位)。由于无需为每个字段创建索引条目,因此可节省存储费用。
结算模式(读取/写入/删除) 文档读取、写入和删除操作收费。 按每次读取和写入(分批)收费。读取费用以读取单位计费(每 4 KiB 为一批次)。写入和删除操作会合并计入写入单位(按 1 KiB 为批次)。
基本定价(每百万次)

所示定价适用于 us-central1 区域

读取:每 10 万个文档 $0.03(每 100 万个文档 $0.30)。

写入:每 10 万个文档 $0.09(每 100 万个文档 $0.90)。

删除:每 10 万个文档 $0.01(每百万个文档 $0.10)

读取单位:每 100 万个读取单位 $0.05

写入单位:每 100 万个写入单位 $0.26。与标准读取费用相比,当文档大小小于 4KiB 时,价格通常会更低

实时更新

所示定价适用于 us-central1 区域

实时更新按读取计费,费率为每 10 万个文档 $0.03 实时更新具有新的独立 SKU(实时更新单位),按每 4 KiB 为一批次计费。实时更新的费用为每 100 万个读取单位 $0.30

后续步骤