Cloud Firestore 的位置

预配 Cloud Firestore 实例时,您必须为该实例选择位置。为减少延迟并提高可用性,请将您的数据存储在需要这些数据的用户和服务附近。

如果您的项目使用的是随用随付 Blaze 定价方案,则可以选择在项目中创建多个数据库,每个数据库都有自己的位置设置。

请注意,预配数据库实例后,您将无法更改其位置设置。

位置类型

您可以将 Cloud Firestore 数据存储在多区域位置单区域位置

多区域位置

如果您想要最大限度地提高数据库的可用性和耐用性,请选择多区域位置。

多区域位置由一组定义的区域(其中存储了数据库的多个副本)组成。 每个副本要么是包含数据库全部数据的读写副本,要么是虽不保存完整数据但参与复制的见证副本。

通过在多个区域之间复制数据,即使整个区域丢失,系统也能继续传送数据。在一个区域内,数据会跨可用区复制,因此,即使可用区丢失,系统也能继续在该区域内传送数据。

在此流水线操作预览期间,原生模式 Firestore 企业版数据库可在以下多区域位置使用:

多区域名称 多区域说明 读写区域 见证者区域
nam5 美国(中部) us-central1(爱荷华)、us-central2(俄克拉荷马 - 不公开的 GCP 区域) us-east1(南卡罗来纳)

单区域位置

单区域位置是具体的地理位置,如南卡罗来纳州。单区域位置中的数据会复制到单个区域内的多个地区。

如果您的应用对延迟较敏感,或者您想要与其他 Google Cloud 资源共用位置,请选择单区域位置以降低成本和写入延迟。

在此流水线操作预览期间,原生模式 Firestore 企业版数据库可在以下区域资源位置使用:

区域名称区域说明
北美洲
us-east4北弗吉尼亚
南美洲
southamerica-east1圣保罗
欧洲

europe-west4

荷兰
亚洲
asia-south1孟买
asia-east1台湾

位置价格

您的 Cloud Firestore 位置决定了数据库操作的费用。

如需全面了解私密预览期间各区域及区域类型的定价,请参阅价格

查看数据库的位置

在 Firebase 控制台中,前往Cloud Firestore 数据”标签页,查看数据库实例及其位置的列表。

由于“默认 Google Cloud 资源的位置”而可能存在的位置依赖关系

“默认 Google Cloud 资源的位置”是指与 Google App Engine 关联的所有项目资源的位置设置,包括以下内容:

  • 默认的 Cloud Firestore 数据库实例
  • Firebase 存储桶的默认 Cloud Storage,其名称格式为 *.appspot.com
  • Google Cloud Scheduler,专门用于第 1 代预定函数

此“默认 Google Cloud 资源的位置”设置不可更改。此外,当您为某个关联资源设置位置时,由于这些关联资源与 App Engine 共同关联,您会间接地为所有资源设置位置。

不过,Firebase 和 Google Cloud 生态系统在过去几年发生了许多变化,资源与 App Engine 的关联也随之不断发生变化。最值得注意的是,从 2024 年 10 月 30 日开始,所有新配置的 Firebase 存储桶的默认 Cloud Storage 的名称格式都为 *.firebasestorage.app,并且App Engine 相关联。

以下是可能的位置依赖项中发生变化的详细信息:

  • 2024 年 10 月 30 日开始,如果默认 Cloud Firestore 实例和 Firebase 存储桶的默认 Cloud Storage 尚未配置,则

    • 预配默认的 Cloud Firestore 实例会为项目中日后预配的任何 App Engine 应用设置位置。不过,它不会决定未来默认 Cloud Storage 存储桶的位置。

    • 配置默认的 Cloud Storage 存储桶不再会配置 App Engine 应用。因此,默认 Cloud Storage 存储桶的位置不会决定未来默认 Cloud Firestore 实例的位置。

  • 2024 年 10 月 30 日开始,如果默认 Cloud Firestore 实例配置,但 Firebase 存储桶的默认 Cloud Storage 尚未配置

    • 现有的默认 Cloud Firestore 实例不会决定未来默认 Cloud Storage 存储桶的位置 (*.firebasestorage.app)。
  • 2024 年 10 月 30 日开始,如果 Firebase 存储桶的默认 Cloud Storage 配置(具体而言,是 *.appspot.com 存储桶),但默认 Cloud Firestore 实例配置

    • 在配置默认 Cloud Storage 存储桶 (*.appspot.com) 时,配置了 App Engine 应用,因此当时就设置了未来默认 Cloud Firestore 实例的位置。即使您删除了 *.appspot.com 存储桶,也无法删除 App Engine 应用,因此未来默认 Cloud Firestore 实例的位置设置已设置。

如果您使用的是第 1 代预定函数,则其位置会设置为默认 Google Cloud 资源的位置。这是因为 Cloud SchedulerApp Engine 之前相互关联。此外,如果您在预配共用此位置信息设置的其他资源之前设置了第 1 代预定函数,那么您也需要设置其位置信息。

请注意,如果您有位置为 us-centraleurope-westApp Engine 应用,则默认 Google Cloud 资源的位置将被视为多区域