Firestore 定價

本文詳細說明 Firestore 的計費方式,

如果您使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格來計費。

定價總覽

使用 Firestore 時,系統會根據下列項目向您收費:

  • 實際讀取、寫入及刪除的文件數量
  • 滿足查詢而讀取的索引項目數量進一步瞭解索引讀取作業
  • 資料庫使用的儲存空間量,當中包含中繼資料和索引的經常用量。
  • 您使用的網路頻寬流量

儲存空間和頻寬用量是以 GiB 計算,1 GiB 為 230 個位元組。所有費用都會逐日累計。

下列各節詳細說明 Firestore 使用費用的計算方式。

免費配額

Firestore 提供免費配額,您無須付費即可開始使用 (default) 資料庫。下表列出免費配額金額。如果您需要更多配額,則須為 Google Cloud 專案啟用計費功能

您每天可使用的配額有一定的限制,系統會在太平洋時間凌晨 12 點左右重設配額。

只有 (default) 資料庫才符合免費配額資格。

免費方案 配額
儲存的資料量 1 GiB
文件讀取次數 每天 50,000 次
文件寫入次數 每天 20,000 次
文件刪除次數 每天 20,000 次
傳出資料傳輸 每月 10 GiB

下列作業和功能不包含免費用量。 您必須啟用計費功能,才能使用以下功能:

  • 使用已命名 (非預設) 資料庫
  • 存留時間刪除
  • 時間點復原資料
  • 備份資料
  • 復原作業

如要進一步瞭解這些功能的計費方式,請參閱儲存空間定價

依所在位置計價

下表列出各個 Firestore 位置的讀取、寫入、刪除作業和儲存空間定價:

如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格計費。

已命名資料庫沒有免費配額

必須啟用計費功能,才能建立自行命名 (非預設) 的資料庫。

建立或刪除自行命名的資料庫不會產生額外費用,但系統會向你收取這些資料庫產生的用量費用,而且不適用免費配額。

讀取、寫入與刪除作業

系統會向您收取為了滿足查詢而讀取的文件和索引項目費用。每次寫入及刪除文件時,系統都會向您收取費用。

寫入和刪除作業的計費方式相當簡單。以寫入作業來說,每項 setupdate 作業均會計為一次寫入。

不過請注意,讀取作業的計費方式略有不同,以下各節會進一步說明。

索引項目讀取

針對查詢讀取的每批次 (最多 1,000 個索引項目),系統會向您收取一次讀取作業費用,但下列項目除外:

  • 針對 K-nearest 鄰近向量搜尋查詢,針對查詢讀取的每一批最多 100 個 kNN 向量索引項目,系統會針對每批次收取一次讀取作業費用。

    舉例來說,假設下列含有 limit: 5 的向量搜尋查詢傳回 5 份文件,並讀取 1550 個 kNN 向量索引項目,系統會針對傳回的文件向您收取 5 項讀取作業和 16 項索引項目的讀取作業費用:

    // Requires single-field vector index
    const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), {
      limit: 5,
      distanceMeasure: 'EUCLIDEAN'
    });
    
  • 在查詢中,如果查詢的範圍不超過一個範圍,則不會收取讀取索引項目的費用。

    舉例來說,下列查詢包含一個相等欄位 (age) 和一個範圍欄位 (start_date),系統不會針對讀取的索引項目收費:

    db.collection("employees").whereEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    下列查詢含有兩個範圍欄位 (agestart_date),系統會依據索引項目讀取作業產生費用:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    當查詢中至少有一個其他範圍欄位時,按照子句排序的欄位會視為範圍欄位。因此,下列查詢含有兩個範圍欄位 (agestart_date),系統會依據索引項目讀取作業計費:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .orderBy("start_date")
    

    即使 __name__ 欄位僅用於等式篩選器,系統一律會將其視為範圍欄位。因此,下列查詢含有兩個範圍欄位 (age__name__),系統會依據索引項目讀取作業計費:

    db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob"))
                              .orderBy("age")
    

匯總查詢

針對匯總查詢 (例如 count()sum()avg()),系統會針對查詢讀取的索引項目向您收取費用 (如上所述)。如為讀取了 0 個索引項目的匯總查詢,系統會收取一次文件讀取最低費用。

舉例來說,讀取 0 到 1, 000 個索引項目的 count() 作業會針對一次文件讀取作業收費。如為讀取 1500 個索引項目的 count() 作業,系統會向您收取 2 次文件讀取作業的費用。

如要進一步瞭解使用的索引以及讀取的索引項目,請使用查詢說明

監聽查詢結果

Firestore 可讓您監聽查詢結果,並在查詢結果變更時取得即時更新。

在監聽查詢結果期間,每次結果集新增或更新文件時,系統就會向您收取進行一次讀取作業的費用。另外,如果文件從結果集中移除,系統也會向您收取讀取作業費用,這是因為文件已經過變更。反之,如果文件遭到刪除,系統並不會向您收取讀取作業費用。

行動裝置和網頁 SDKS 中的事件監聽器計費方式,也取決於是否啟用離線持續性

  • 如果已啟用離線持續性,且事件監聽器連線中斷超過 30 分鐘 (例如使用者離線時),系統會視為您發出全新的查詢,針對讀取的文件和索引項目向您收取費用。

  • 如果停用離線持續性,則每當事件監聽器中斷連線及重新連線時,系統就會向您收取讀取的文件和索引項目費用,如同您發出全新的查詢一樣。

管理大型結果集

針對會傳回大量結果的查詢,Firestore 提供數個協助您管理查詢的功能:

  • 游標:若是執行長時間的查詢,可使用游標繼續執行。
  • 頁面符記:可協助您將查詢結果分頁。
  • 限額:可指定要擷取的結果數量。
  • 偏移:可讓您略過固定數量的文件。

使用游標、頁面符記和限額功能不會產生額外費用。事實上,這些功能可讓您僅讀取實際所需的文件,協助您節省費用。

不過,如果您傳送的查詢含有偏移值,系統會針對每份略過的文件向您收取讀取作業費用。舉例來說,如果偏移值為 10 的查詢傳回了 1 份文件,則系統會向您收取 11 次讀取作業的費用。因此,我們會建議您盡可能使用游標功能,而不要使用偏移功能,以免產生額外費用。

文件讀取作業以外的查詢

針對文件讀取作業以外的查詢 (例如要求集合 ID 清單的查詢),系統會向您收取一次文件讀取作業的費用。如果系統必須發出多次要求才能擷取完整的結果集 (例如您使用分頁功能時),則系統會針對每次要求向您收費。

查詢作業的基本費用

即便查詢未傳回任何結果,系統還是會針對您執行的每項查詢收取基本費用,也就是讀取文件一次的費用。

Firestore 安全性規則

以行動和網路用戶端程式庫來說,如果您的 Firestore 安全性規則使用了 exists()get()getAfter() 讀取資料庫中的一或多份文件,系統會按照下列規則向您收取這些額外讀取作業的費用:

  • 系統會按照評估 Firestore 安全性規則所需的讀取作業次數向您收費。

    舉例來說,如果您的規則參照了三份文件,但 Firestore 僅需讀取其中兩份文件即可評估您的規則,系統便會向您收取額外兩次的文件讀取費用,即讀取這兩份相關文件的費用。

    即便規則參照同一份相關文件的次數超過一次,系統也只會向您收取讀取一次的費用。

  • 在一項要求中,系統僅會向您收取一次規則評估費用。

    因此,相較於一次讀取一份文件,一次讀取多份文件的費用會較低,因為一次讀取多份文件所需的要求數量較少。

  • 您在監聽查詢結果時,系統會在下列各個情況中向您收取規則評估費用:

    • 您發出查詢時。
    • 每次更新查詢結果時。
    • 每次使用者的裝置離線後又重新連線時。
    • 每次您更新規則時。
    • 每次您更新規則中的相關文件時。

資料庫儲存空間大小

系統會針對您儲存在 Firestore 中的資料量向您收費,當中包含儲存空間的經常用量。經常用量包括中繼資料、自動索引和複合式索引。

儲存在 Firestore 中的每份文件都必須含有下列中繼資料:

  • 文件 ID,包括集合 ID 和文件名稱。
  • 每個欄位的名稱和值。由於 Firestore 無結構定義,文件中的每個欄位名稱均須與欄位值儲存在同一處。
  • 參照文件的任何單一欄位和複合式索引。每個索引項目均包含集合 ID、任意數量的欄位值 (數量取決於索引定義) 和文件名稱。

儲存空間費用是以每月 GiB 計算,且每日計算。Firestore 每天都會測量資料庫的大小。在一個月內,系統會計算這些樣本點的平均值,以計算資料庫儲存空間大小。這個平均值乘以儲存空間單位價格 (GiB-月)

如要瞭解 Firestore 儲存空間的計算方式,請參閱儲存空間大小計算一文。

時間點復原資料

如果啟用「PITR」,系統會向您收取 PITR 資料的儲存空間費用。多數客戶都會發現 PiTR 資料儲存空間的整體成本與資料庫的儲存空間成本差不多。

時間點復原 (PITR) 的儲存空間費用是以每月 GiB 計算,按每日計算。Firestore 每天都會測量資料庫的大小。在一個月的期間,系統會計算這些樣本點的平均值,藉此計算資料庫儲存空間大小。這個平均值會乘以時間點率 (GiB-月) 的單位價格。

例如,如果當月資料庫的平均大小為 1 GiB,且整個月啟用了時間點復原功能,則可計費時間點復原資料大小也會是 1 GiB。

最低計費方式:即使您在啟用後一天內停用時間點復原 (PITR),最多還是需要支付 1 天的時間點復原 (PITR) 儲存空間費用。

備份資料與還原作業

如果您啟用備份功能,就必須支付資料庫備份的儲存空間費用。備份儲存空間大小等於備份時資料庫的儲存空間大小。

備份的儲存空間費用是以每月 GiB 計算。在一個月的期間內,系統也會計算每筆備份的保留天數,並計算當月的平均值。每筆備份的費用計算方式如下:備份的儲存空間大小乘以備份在當月保留的比例,再乘以單位價格。為計算費用,天界線以 America/Los_Angeles 時區為準。

執行還原作業時,Firestore 會測量還原作業的備份大小。備份大小會與還原作業的單位價格 (GiB) 相乘。

查詢說明

使用 Firestore 查詢說明會產生費用。

以預設選項說明查詢時,不會執行任何索引讀取作業。無論查詢的複雜度為何,系統都會收取一項讀取作業的費用。

以分析選項說明查詢時,系統會執行索引和讀取作業,因此系統會照常向您收取查詢費用。說明和分析活動不會產生額外費用,只有執行查詢的一般費用才會收費。

網路頻寬

系統會針對 Firestore 要求使用的網路頻寬向您收費,如以下各節所示。Firestore 要求的網路頻寬費用取決於要求的回應大小、Firestore 資料庫的所在位置,以及回應的目的地。

Firestore 會以序列化訊息格式計算回應大小。安全資料傳輸層 (SSL) 流量等通訊協定流量不會計入網路頻寬用量,遭 Firestore 安全性規則拒絕的要求亦然。

如要瞭解使用了多少網路頻寬,您可以使用 Google Cloud 控制台將帳單資料匯出為檔案

一般網路定價

針對 Google Cloud Platform 中元件產生的要求 (例如在 Google Compute Engine 中運作的應用程式產生的要求),系統會依據下列項目向您收取費用:

流量類型 費用
傳入資料移轉 免費
單一地區內的資料移轉 免費
在同一個多區域中的不同區域之間移轉資料 免費
在美國境內的不同區域之間移轉資料 (每 GiB) $0.01 (每個月前 10 GiB 免費)
在不同區域之間移轉資料 (不含美國境內不同區域之間的流量) Google Cloud Platform 連出網際網路資料移轉率

如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格計費。

網際網路資料移轉速率

你必須為下列項目支付網際網路資料移轉費用:

  • 不同區域之間的 Google Cloud 要求 (不含美國境內不同區域之間的流量)
  • 從 Google Cloud 以外位置 (例如使用者的行動裝置) 發出的要求

如果使用美元以外的貨幣付費,系統將按照 Cloud Platform SKU 頁面上列出的相應貨幣價格計費。

監控用量

如要瞭解如何監控 Firestore 用量,請參閱監控用量

管理費用

請設定每月預算與快訊,以便管理您的費用。

Google Cloud 預算與快訊

Google Cloud 可讓您為所有 Google Cloud 服務設定一個每月預算。您可以使用每月預算監控 Google Cloud 的整體費用,包括 Firestore 的網路頻寬費用。設定預算完後,即可建立快訊,以便在費用接近預算上限時收到電子郵件通知。

按照這些操作說明設定每月預算,並在 Google Cloud 控制台中建立快訊。

計費示例

如要透過實際的範例應用程式瞭解 Firestore 帳單費用累計方式,請參閱 Firestore 帳單範例的相關說明。

後續步驟

索取客製化報價

Google Cloud 提供「即付即用」計費模式,您只需要為所用服務付費。貴機構如需索取客製化的報價,請與我們的銷售團隊聯絡。
聯絡銷售人員