佈建 Cloud Firestore 執行個體時,必須為執行個體選擇位置。為了縮短延遲時間並提高可用性,請將您的資料儲存在需要這些資料的使用者和服務附近的位置。
如果專案採用即付即用 Blaze 定價方案,您可以選擇在專案中建立多個資料庫,每個資料庫都有各自的位置資訊設定。
請注意,佈建資料庫執行個體後,就無法變更位置設定。
位置的類型
您可以將 Cloud Firestore 資料儲存在多區域位置或區域位置。
多區域位置
選取多區域位置,盡可能提高資料庫的可用性和耐用性。
多區域位置是由一組定義的區域組成,其中儲存了多個資料庫副本。每個副本都是讀寫副本 (包含資料庫中的所有資料),或見證副本 (不維護完整資料集,但參與複製作業)。
在多個區域之間複製資料,即使整個區域遺失,資料仍可繼續提供。在某個區域內,資料會在各個可用區中複製,因此即使某個可用區遺失,該區域仍可繼續提供資料。
Cloud 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 區域) |
地區位置
單一地區位置是指特定地理位置,例如南卡羅來納州。區域位置中的資料會在區域內的多個可用區中複製。
如果應用程式對延遲時間較為敏感,請選取區域位置,以降低成本、縮短寫入延遲時間,或與其他 Google Cloud 資源共置。
Cloud Firestore 支援下列區域性資源位置:
| 區域名稱 | 地區說明 | |
|---|---|---|
| 北美洲 | ||
us-west1 | 奧勒岡州 | |
us-west2 | 洛杉磯 | |
us-west3 | 鹽湖城 | |
us-west4 | 拉斯維加斯 | |
|
|
愛荷華州 | |
northamerica-northeast1 | 蒙特婁 | |
|
|
多倫多 | |
|
|
克雷塔羅 | |
us-east1 | 南卡羅來納州 | |
us-east4 | 北維吉尼亞州 | |
|
|
哥倫布 | |
|
|
達拉斯 | |
| 南美洲 | ||
|
|
聖地亞哥 | |
southamerica-east1 | 聖保羅 | |
| 歐洲 | ||
europe-west2 | 倫敦 | |
|
|
比利時 | |
|
|
荷蘭 | |
|
|
米蘭 | |
|
|
馬德里 | |
|
|
巴黎 | |
|
|
杜林 | |
|
|
柏林 | |
europe-west3 | 法蘭克福 | |
|
|
芬蘭 | |
|
|
斯德哥爾摩 | |
europe-central2 | 華沙 | |
europe-west6 | 蘇黎世 | |
| 中東地區 | ||
|
|
杜哈 | |
|
|
達曼 | |
|
|
特拉維夫 | |
| 亞洲 | ||
asia-south1 | 孟買 | |
|
|
德里 | |
asia-southeast1 | 新加坡 | |
asia-southeast2 | 雅加達 | |
asia-southeast3 | 曼谷 | |
asia-east2 | 香港 | |
asia-east1 | 台灣 | |
asia-northeast1 | 東京 | |
asia-northeast2 | 大阪 | |
asia-northeast3 | 首爾 | |
| 澳洲 | ||
australia-southeast1 | 雪梨 | |
|
|
墨爾本 | |
| 非洲 | ||
|
|
約翰尼斯堡 | |
地點服務水準協議
Cloud Firestore 位置類型會決定服務水準協議 (SLA) 運作時間百分比:
| 涵蓋服務 | 每月正常運作時間百分比 |
|---|---|
| Cloud Firestore 多區域 | >= 99.999% |
| Cloud Firestore 單一區域 | >= 99.99% |
位置定價
Cloud Firestore 位置會決定資料庫作業的費用。
如要全面瞭解各區域和區域類型的定價,請參閱「瞭解 Cloud Firestore 計費方式」。
查看資料庫的位置
如要查看資料庫執行個體清單和位置,請前往 Firebase 控制台,依序點選「資料庫和儲存空間」>「Firestore」>「資料」分頁標籤。
「預設 Google Cloud 資源的位置」可能導致位置依附關係
「預設 Google Cloud 資源的位置」是與 Google App Engine 相關聯的任何專案資源的位置資訊設定,包括:
- 預設 Cloud Firestore 資料庫執行個體
- Firebase bucket 的預設 Cloud Storage,名稱格式為
*.appspot.com - Google Cloud Scheduler,專門用於第 1 代排定函式
「預設 Google Cloud 資源的位置」設定無法變更。此外,當您為其中一項相關聯資源設定位置時,由於這些資源與 App Engine 具有共同關聯,因此您會間接為所有資源設定位置。
不過,隨著 Firebase 和 Google Cloud 生態系統多年來的變化,資源與 App Engine 的關聯也一直在改變。最重要的是,自 *.firebasestorage.app
以下是可能位置依附元件的變更詳情:
2024 年 10 月 30 日 起,如果尚未佈建預設 Cloud Firestore 執行個體和預設 Cloud Storage for Firebase bucket:佈建預設 Cloud Firestore 執行個體後,日後在專案中佈建的任何 App Engine 應用程式都會設為相同位置。不過,這項設定「不會」決定未來預設 Cloud Storage bucket 的位置。
佈建預設 Cloud Storage bucket 時,不再佈建 App Engine 應用程式。因此,預設 Cloud Storage bucket 的位置不會決定未來預設 Cloud Firestore 執行個體的位置。
2024 年 10 月 30 日 起,如果已佈建預設 Cloud Firestore 執行個體,但尚未佈建預設 Cloud Storage for Firebase bucket:- 現有的預設 Cloud Firestore 執行個體「不會」決定未來預設 Cloud Storage bucket (
) 的位置。*.firebasestorage.app
- 現有的預設 Cloud Firestore 執行個體「不會」決定未來預設 Cloud Storage bucket (
2024 年 10 月 30 日 起,如果 Firebase bucket 的預設 Cloud Storage 已佈建 (具體來說,是 bucket),但預設 Cloud Firestore 執行個體尚未佈建:*.appspot.com- 佈建預設 Cloud Storage bucket (
) 時,系統「也」佈建了 App Engine 應用程式,因此當時已設定未來預設 Cloud Firestore 執行個體的位置。即使刪除*.appspot.com bucket,也無法刪除 App Engine 應用程式,因此未來預設 Cloud Firestore 執行個體的位置資訊設定已設好。*.appspot.com
- 佈建預設 Cloud Storage bucket (
如果您使用第 1 代排定函式,其位置會設為預設 Google Cloud 資源的位置。這是因為 Cloud Scheduler 和 App Engine 先前彼此相關聯。此外,如果您在佈建其他共用這項位置資訊設定的資源之前,就設定了第 1 代排定函式,那麼您也設定了這些資源的位置。
請注意,如果您的 App Engine 應用程式位置為 us-central 或 europe-west,則預設 Google Cloud 資源的位置會視為多區域。
後續步驟
- 如要在特定位置建立 Cloud Firestore 資料庫,請參閱「開始使用 Cloud Firestore」。
- 如要進一步瞭解如何建構符合延遲時間、可用性和耐用性需求的應用程式,請參閱「地理位置與區域」。