位置

佈建 Firestore 執行個體時,您必須選擇執行個體的位置。為了縮短延遲時間並提高可用性,請將您的資料儲存在需要這些資料的使用者和服務附近的位置。

您也可以選擇在專案中建立多個資料庫,每個資料庫都有自己的位置設定。

請注意,資料庫執行個體佈建完成後,您就無法變更其位置設定。

位置的類型

您可以將 Firestore 資料儲存在多地區位置單一地區位置

多區域位置

選取多地區位置,盡可能提高資料庫的可用性和耐用性。

多區域位置由一組定義的區域組成,資料庫的多個副本會儲存在這些區域。每個副本可以是讀寫副本 (包含資料庫中的所有資料),也可以是見證副本 (不維護完整資料集,但會參與複製作業)。

透過在多個區域之間複製資料,即使整個區域都遺失,資料仍可繼續提供服務。在某個區域內,資料會在各個可用區中複製,因此即使某個可用區發生故障,該區域仍可繼續提供資料。

Firestore 支援下列多區域位置:

多地區名稱 多地區說明 讀寫地區 見證地區
eur3 歐洲 europe-west1 (比利時)、europe-west4 (荷蘭) europe-north1 (芬蘭)
nam5 美國 (中部) us-central1 (愛荷華州)、us-central2 (奧克拉荷馬州 - 不公開的 GCP 地區) us-east1 (南卡羅來納州)
nam7 美國 (中東部) us-central1 (愛荷華州)、us-east4 (北維吉尼亞州) us-central2 (奧克拉荷馬州 - 私有 Google Cloud 區域)

地區位置

單一地區位置是指特定地理位置,例如南卡羅來納州。單一地區位置中的資料會在區域內的多個可用區中複製,所有單一地區位置彼此皆相隔至少 100 英里遠。

選取單一地區位置可降低成本、縮短寫入延遲時間 (如果應用程式對延遲時間很敏感),或與其他資源共置 Google Cloud

Firestore 支援下列區域資源位置:

地區名稱地區說明
北美洲
us-west1奧勒岡州
us-west2洛杉磯
us-west3鹽湖城
us-west4拉斯維加斯

us-central1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

愛荷華州
northamerica-northeast1蒙特婁

northamerica-northeast2

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

多倫多

northamerica-south1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

克雷塔羅
us-east1南卡羅來納州
us-east4北維吉尼亞州

us-east5

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

哥倫布

us-south1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

達拉斯
南美洲

southamerica-west1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

聖地亞哥
southamerica-east1聖保羅
歐洲
europe-west2倫敦

europe-west1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

比利時

europe-west4

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

荷蘭

europe-west8

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

米蘭

europe-southwest1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

馬德里

europe-west9

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

巴黎

europe-west12

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

杜林

europe-west10

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

柏林
europe-west3法蘭克福

europe-north1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

芬蘭

europe-north2

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

斯德哥爾摩
europe-central2華沙
europe-west6蘇黎世
中東地區

me-central1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

杜哈

me-central2

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

達曼

me-west1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

特拉維夫市
亞洲
asia-south1孟買

asia-south2

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

德里
asia-southeast1新加坡
asia-southeast2雅加達
asia-east2香港
asia-east1台灣
asia-northeast1東京
asia-northeast2大阪
asia-northeast3首爾
澳洲
australia-southeast1雪梨

australia-southeast2

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

墨爾本
非洲

africa-south1

這個位置不支援 App Engine。 如果您打算使用 App Engine,請選擇其他位置。

約翰尼斯堡

位置服務水準協議

Firestore 位置類型會決定服務水準協議 (SLA) 的正常運作時間百分比:

涵蓋服務 每月正常運作時間百分比
Firestore Multi-Region >= 99.999%
Firestore Regional >= 99.99%

位置定價

Firestore 位置會決定資料庫作業的費用。

如要全面瞭解各區域和各區域類型的定價,請參閱「瞭解 Firestore 計費方式」。

查看資料庫位置

請使用下列其中一種方法,查看資料庫的位置設定:

由於「預設 Google Cloud 資源的位置」而可能出現位置依附元件

「預設資源位置」是與 Google App Engine 相關聯的任何專案資源的位置設定,包括: Google Cloud

  • 預設 Firestore 資料庫執行個體
  • 預設的 Cloud Storage for Firebase 值區,名稱格式為 *.appspot.com
  • Google Cloud Scheduler (專門用於第 1 代排程函式)

「預設資源位置」是不可變更的設定。 Google Cloud 此外,由於相關聯的資源都與 App Engine 相關聯,因此當您為其中一個資源設定位置時,也會間接為所有資源設定位置。

不過,隨著 Firebase 和 Google Cloud 生態系統在過去幾年發生許多變化,資源與 App Engine 的關聯也隨之改變。最值得注意的是,自 2024 年 10 月 30 日起,所有新佈建的預設 Cloud Storage for Firebase bucket 都會採用 *.firebasestorage.app 的命名格式,且不會與 App Engine 建立關聯。

以下是可能位置資訊依附元件的變更詳細資料:

  • 2024 年 10 月 30 日起如果尚未佈建預設 Firestore 執行個體和預設 Cloud Storage for Firebase bucket,將會發生以下情況:

    • 佈建預設 Firestore 執行個體時,系統會為專案中日後佈建的任何 App Engine 應用程式設定位置。不過,這不會決定日後預設 Cloud Storage 值區的位置。

    • 系統不再透過佈建預設 Cloud Storage 值區來佈建 App Engine 應用程式。因此,預設 Cloud Storage 值區的位置不會決定未來預設 Firestore 執行個體的位置。

  • 2024 年 10 月 30 日起如果已佈建預設 Firestore 執行個體,但尚未佈建預設 Cloud Storage for Firebase bucket:

    • 現有的預設 Firestore 執行個體不會決定未來預設 Cloud Storage 值區 (*.firebasestorage.app) 的位置。
  • 2024 年 10 月 30 日起如果佈建預設的 Cloud Storage for Firebase bucket (具體來說,就是 *.appspot.com bucket),但尚未佈建預設的 Firestore 執行個體:

    • 在預設 Cloud Storage 值區 (*.appspot.com) 佈建時,系統佈建了 App Engine 應用程式,因此當時就設定了未來預設 Firestore 執行個體的位置。即使刪除 *.appspot.com bucket,您也無法刪除 App Engine 應用程式,因此系統已設定未來預設 Firestore 執行個體的位置。

如果您使用第 1 代排程函式,系統會將函式位置設為預設 Google Cloud 資源的位置。這是因為 Cloud Scheduler 和 App Engine 先前彼此關聯。此外,如果您在佈建共用這個位置設定的其他資源前,設定了第 1 代排程函式,也請設定這些資源的位置。

請注意,如果您的 App Engine 應用程式位於 us-centraleurope-west,則預設 Google Cloud 資源的位置會視為多地區

後續步驟

  • 如要進一步瞭解如何建構符合延遲時間、可用性與耐用性需求的應用程式,請參閱地理位置與地區