Firestore 定價
本文詳細說明 Firestore 的計費方式,並介紹如何限制及監控 Firestore 的使用費用。
如果您使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的對應貨幣價格計費。
定價總覽
使用 Firestore 時,系統會根據下列項目向您收費:
- 實際讀取、寫入及刪除的文件數量。
- 資料庫使用的儲存空間量,當中包含中繼資料和索引的經常用量。
- 您使用的網路頻寬流量。
儲存空間和頻寬用量的計算單位為 GiB,1 GiB 為 230 個位元組。所有費用都會逐日累計。
下列各節詳細說明 Firestore 使用費用的計算方式。
依所在位置計價
下表列出各個 Firestore 位置的讀取、寫入、刪除作業和儲存空間定價:
如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的對應貨幣價格計費。
讀取、寫入與刪除作業
每次透過 Firestore 讀取、寫入及刪除文件時,系統都會向您收取費用。
寫入和刪除作業的計費方式相當簡單。以寫入作業來說,每項 set
或 update
作業均會計為一次寫入。
不過請注意,讀取作業的計費方式略有不同,以下各節會進一步說明。
監聽查詢結果
Firestore 可讓您監聽查詢結果,並在查詢結果變更時取得即時更新。
在監聽查詢結果期間,每次結果集新增或更新文件時,系統就會向您收取進行一次讀取作業的費用。另外,如果文件從結果集中移除,系統也會向您收取讀取作業費用,這是因為文件已經過變更。反之,如果文件遭到刪除,系統並不會向您收取讀取作業費用。
另外,如果監聽器連線中斷超過 30 分鐘 (例如使用者離線時),系統會當做您發出了全新的查詢工作,進而向您收取讀取作業費用。
管理大型結果集
針對會傳回大量結果的查詢,Firestore 提供數個協助您管理查詢的功能:
- 游標:若是執行長時間的查詢,可使用游標繼續執行。
- 頁面符記:可協助您將查詢結果分頁。
- 限額:可指定要擷取的結果數量。
- 偏移:可讓您略過固定數量的文件。
使用游標、頁面符記和限額功能不會產生額外費用。事實上,這些功能可讓您僅讀取實際所需的文件,協助您節省費用。
不過,如果您傳送的查詢含有偏移值,系統會針對每份略過的文件向您收取讀取作業費用。舉例來說,如果偏移值為 10 的查詢傳回了 1 份文件,則系統會向您收取 11 次讀取作業的費用。因此,我們會建議您盡可能使用游標功能,而不要使用偏移功能,以免產生額外費用。
文件讀取作業以外的查詢
針對文件讀取作業以外的查詢 (例如要求集合 ID 清單的查詢),系統會向您收取一次文件讀取作業的費用。如果系統必須發出多次要求才能擷取完整的結果集 (例如您使用分頁功能時),則系統會針對每次要求向您收費。
查詢作業的基本費用
即便查詢未傳回任何結果,系統還是會針對您執行的每項查詢收取基本費用,也就是讀取文件一次的費用。
Firestore 安全性規則
以行動和網路用戶端程式庫來說,如果您的 Firestore 安全性規則使用了 exists()
、get()
或 getAfter()
讀取資料庫中的一或多份文件,系統會按照下列規則向您收取這些額外讀取作業的費用:
系統會按照評估 Firestore 安全性規則所需的讀取作業次數向您收費。
舉例來說,如果您的規則參照了三份文件,但 Firestore 僅需讀取其中兩份文件即可評估您的規則,系統便會向您收取額外兩次的文件讀取費用,即讀取這兩份相關文件的費用。
即便規則參照同一份相關文件的次數超過一次,系統也只會向您收取讀取一次的費用。
在一項要求中,系統僅會向您收取一次規則評估費用。
因此,相較於一次讀取一份文件,一次讀取多份文件的費用會較低,因為一次讀取多份文件所需的要求數量較少。
您在監聽查詢結果時,系統會在下列各個情況中向您收取規則評估費用:
- 您發出查詢時。
- 每次更新查詢結果時。
- 每次使用者的裝置離線後又重新連線時。
- 每次您更新規則時。
- 每次您更新規則中的相關文件時。
儲存空間大小
系統會針對您儲存在 Firestore 中的資料量向您收費,當中包含儲存空間的經常用量。經常用量包括中繼資料、自動索引和複合式索引。儲存在 Firestore 中的每份文件都必須含有下列中繼資料:
- 文件 ID,包括集合 ID 和文件名稱。
- 每個欄位的名稱和值。由於 Firestore 無結構定義,文件中的每個欄位名稱均須與欄位值儲存在同一處。
- 參照文件的任何單一欄位和複合式索引。每個索引項目均包含集合 ID、任意數量的欄位值 (數量取決於索引定義) 和文件名稱。
如要瞭解 Firestore 儲存空間大小的計算方式,請參閱儲存空間大小計算一文。如要查看資料庫使用的儲存空間量,請前往 Cloud Console 中的 App Engine 配額詳細資料頁面。
網路頻寬
系統會針對 Firestore 要求使用的網路頻寬向您收費,如以下各節所示。Firestore 要求的網路頻寬費用取決於要求的回應大小、Firestore 資料庫的所在位置,以及回應的目的地。
Firestore 會以序列化訊息格式計算回應大小。安全資料傳輸層 (SSL) 流量等通訊協定流量不會計入網路頻寬用量,遭 Firestore 安全性規則拒絕的要求亦然。
如要瞭解自己使用了多少網路頻寬,您可以使用 Cloud Console 將帳單資料匯出為檔案。
一般網路定價
針對 Google Cloud Platform 中元件產生的要求 (例如在 Google Compute Engine 中運作的應用程式產生的要求),系統會依據下列項目向您收取費用:
流量類型 | 費率 |
---|---|
輸入 | 免費 |
在單一區域中輸出 | 免費 |
在同一個多區域中的不同區域之間輸出 | 免費 |
在美國境內的不同區域之間輸出 (每 GiB) | $0.01 (每個月前 10 GiB 免費) |
在不同地區之間輸出 (不含美國境內不同地區之間的流量) | Google Cloud Platform 網際網路輸出流量費率 |
如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格計費。
網際網路輸出費率
系統會針對下列項目向您收取網際網路輸出流量費用:
- 不同區域之間的 Google Cloud 要求 (不含美國境內不同區域之間的流量)
- 從 Google Cloud 以外位置 (例如使用者的行動裝置) 發出的要求
如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格計費。
監控用量
您可以在 App Engine 的「配額」頁面中查看每日的 Firestore 用量:
管理費用
請設定每月預算與快訊,以便管理您的費用。
Google Cloud 預算與快訊
Google Cloud 可讓您為所有 Google Cloud 服務設定一個每月預算。您可以使用每月預算監控 Google Cloud 的整體費用,包括 Firestore 的網路頻寬費用。設定預算完後,即可建立快訊,以便在費用接近預算上限時收到電子郵件通知。
計入 App Engine 支出上限的費用也會計入您的每月預算。
請按照這些操作說明設定每月預算,並在 Cloud Console 中建立快訊。
App Engine 支出上限
App Engine 可讓您針對 App Engine 本身及相關聯的資源 (包括 Datastore 和 Firestore 資料庫) 設定每日支出上限。您設定的上限為概略值,且需足以應付資源用量突增的情形。如果超出每日支出上限,免費用量限制涵蓋範圍外的所有 Firestore 作業都會失敗。
計費示例
如要透過實際的範例應用程式瞭解 Firestore 帳單費用累計方式,請參閱 Firestore 帳單範例的相關說明。
後續步驟
- 參閱 Firestore 說明文件。
- 開始使用 Firestore。
- 試用 Pricing Calculator。
- 瞭解 Firestore 解決方案和應用實例。