佈建 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 地區) |
地區位置
單一地區位置是指特定地理位置,例如南卡羅來納州。單一地區位置中的資料會在區域內的多個可用區中複製,所有單一地區位置彼此皆相隔至少 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 日起 ,如果尚未佈建預設 Cloud Firestore 執行個體和 Firebase bucket 的預設 Cloud Storage,將會發生以下情況:佈建預設 Cloud Firestore 執行個體會為專案中佈建的任何未來 App Engine 應用程式設定位置。 不過,這不會決定日後預設 Cloud Storage 值區的位置。
系統不再透過佈建預設 Cloud Storage 值區佈建 App Engine 應用程式。因此,預設 Cloud Storage 值區的位置不會決定未來預設 Cloud Firestore 執行個體的位置。
2024 年 10 月 30 日起 ,如果Cloud Firestore預設執行個體已佈建,但 Firebase bucket 的預設 Cloud Storage尚未佈建:- 現有的預設 Cloud Firestore 執行個體不會強制規範未來預設 Cloud Storage 值區 (
) 的位置。*.firebasestorage.app
- 現有的預設 Cloud Firestore 執行個體不會強制規範未來預設 Cloud Storage 值區 (
2024 年 10 月 30 日起 ,如果已佈建 Firebase bucket 的預設 Cloud Storage (具體來說,就是 bucket),但尚未佈建預設 Cloud Firestore 執行個體:*.appspot.com
- 在佈建預設 Cloud Storage bucket (
) 時,App Engine 應用程式也會一併佈建,因此未來預設 Cloud Firestore 執行個體的位置也會在當時設定。即使刪除*.appspot.com
值區,您也無法刪除 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」。
- 如要進一步瞭解如何建構符合延遲時間、可用性與耐用性需求的應用程式,請參閱地理位置與地區。