在佈建 Cloud Firestore 執行個體時,您必須為執行個體選擇位置。為了縮短延遲時間並提高可用性,請將您的資料儲存在需要這些資料的使用者和服務附近的位置。
如果專案採用預付制 Blaze 定價方案,您可以選擇在專案中建立多個資料庫,每個資料庫都有各自的位置設定。
請注意,一旦您佈建資料庫執行個體,就無法變更其位置設定。
位置的類型
您可以將 Cloud Firestore 資料儲存在多地區位置或單一地區位置。
多區域位置
選取多地區位置,盡可能提高資料庫的可用性和耐用性。
多地區位置包含一組定義的區域,用於儲存多個資料庫備用資源。每個備用資源都是讀寫備用資源,包含資料庫中的所有資料,或是見證備用資源,不維護完整的資料組,但會參與複製作業。
透過在多個區域之間複製資料,即使整個區域遭到中斷,也能繼續提供資料。在某個區域內,資料會在各個可用區中複製,因此即使某個可用區發生故障,資料仍可在該區域內繼續提供。
Cloud Firestore 支援下列多地區位置:
多地區名稱 | 多地區說明 | 讀取/寫入區域 | 見證區域 |
---|---|---|---|
eur3 |
歐洲 | europe-west1 (比利時)、europe-west4 (荷蘭) |
europe-north1 (芬蘭) |
nam5 |
美國 | us-central1 (愛荷華州)、us-central2 (奧克拉荷馬州,不公開的 GCP 地區) |
us-east1 (南卡羅來納州) |
請注意,如果您的專案已有 App Engine 應用程式,且位置為 us-central
或 europe-west
,則系統會將預設
Cloud Firestore 資料庫視為多地區。
地區位置
單一地區位置是指特定地理位置,例如南卡羅來納州。單一地區位置中的資料會在區域內的多個可用區中複製。所有單一地區位置彼此皆相隔至少 100 英里遠。
選取單一地區位置可降低成本,如果應用程式對延遲時間較為敏感,則可縮短寫入延遲時間,或是與其他 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-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 控制台中,前往「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 的關聯也不斷改變。最值得注意的是,自 *.firebasestorage.app
以下是可能的位置依附元件變更的詳細資料:
自
2024 年 10 月 30 日起 ,如果 Firebase bucket 的預設 Cloud Firestore 例項和預設 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
- 現有的預設 Cloud Firestore 例項「不會」決定未來預設 Cloud Storage 值區的位置 (
自
2024 年 10 月 30 日起 ,如果 Firebase 儲存桶的預設 Cloud Storage 已佈建 (具體來說是 儲存桶),但預設 Cloud Firestore 例項未佈建:*.appspot.com
- 在預先佈建預設 Cloud Storage 儲存體 (
) 時,系統也預先佈建了 App Engine 應用程式,因此會在當時設定未來預設 Cloud Firestore 執行個體的位置。即使您刪除*.appspot.com
值區,也無法刪除 App Engine 應用程式,因此未來預設 Cloud Firestore 執行個體的位置設定已設定完成。*.appspot.com
- 在預先佈建預設 Cloud Storage 儲存體 (
如果您使用第 1 代排程函式,則其位置會設為預設 Google Cloud 資源的位置。這是因為 Cloud Scheduler 和 App Engine 先前曾彼此建立關聯。此外,如果您在前置配置共用此位置設定的其他資源時設定第 1 代排程函式,就會一併設定這些資源的位置。
請注意,如果您有 App Engine 應用程式,且位置為 us-central
或 europe-west
,則系統會將預設 Google Cloud 資源的位置視為多地區。
後續步驟
- 如要在特定位置建立 Cloud Firestore 資料庫,請參閱「開始使用 Cloud Firestore」。
- 如要進一步瞭解如何建構符合延遲時間、可用性和耐用性需求的應用程式,請參閱「地理位置與地區」。