查看 Cloud Firestore 定價範例

透過這個基本即時通訊應用程式的真實範例,估算 Cloud Firestore 用量和費用。這不是精確的預估結果,但可協助您進一步瞭解 Cloud Firestore 用量的計費方式。

總覽:按用量層級顯示的費用

為了說明一般費用,我們以即時通訊應用程式為例,讓使用者能夠與兩位以上的參與者展開即時通訊。使用者可以在清單中查看進行中的即時通訊、閱讀訊息和傳送訊息。在本例中,我們要使用北美洲多區域 (特別是 nam5) 的價格。

假設

請參考以下有關用量與資料儲存空間的假設:

  • 每日活躍使用人數 (DAU) 是應用程式總安裝次數的 10%。您可以利用每日活躍使用人數 (DAU) 的粗略估計,估算每日費用。這些使用者是在特定日期積極開啟及使用應用程式的使用者,這通常是總安裝次數的一小部分。根據下方計算,每日活躍使用人數預估是應用程式安裝總數的 10%。
  • 文件大小相對較小。請參閱下表,瞭解不同類型的文件大小細目。
  • 資料只會保留三個月。在範例即時通訊應用程式中,訊息只會儲存三個月的時間。為說明刪除作業,以下計算顯示的每日寫入次數為每日刪除次數。
  • 這些費用預估值只反映範例應用程式的大量費用,而非所有費用。我們計算了本指南所述的作業、使用者和訊息儲存空間,以及輸出最常出現的使用者工作,藉此考量應用程式的大量成本。不過,視應用程式的結構和資料需求而定,您可能還需要考量額外費用。請參考本範例來進行計算,但如要進一步瞭解 Cloud Firestore 費用,請參閱定價頁面

如需各項使用者任務的詳細資料,請參閱「Breakdown: Billed usage by user task」(細分依據使用者任務的計費用量) 一節。

小型
(安裝次數:5 萬次)

50,000 次應用程式安裝 (每日活躍使用人數 5,000 人):每月 $12.14 美元

讀取/寫入費用
每月總費用 = 每月 $11.10 美元
每日總計 40 萬次閱讀量 =   5 萬次免費閱讀 + (35 萬次讀取,每 10 萬美元 $0.06 美元) =   3.5 * $0.06 美元
$0.21 / 天 * 30 = $6.30
 
每日總計 10 萬次寫入 =   2 萬次免費寫入 (8 萬次寫入,每 10 萬次 $0.18 美元) =   0.8 * $0.18 美元
$0.14 美元 / 天 * 30 = $4.20 美元
 
每日總計刪除 10 萬次 =   2 萬次免費刪除 (8 萬次刪除,每 10 萬美元) =   0.8 * $0.02 美元
$0.02 美元 / 天 * 30 = $0.60 美元
儲存空間/網路費用
每月總費用 = 每月 $1.04 美元
每日輸出量 20 KB * 每日輸出量 5,000 名活躍使用者 =   每日輸出 100 MB * 30 =   每月 3 GB 網路輸出量
3 GB 免費輸出流量 = 免費1
 
每日 15 KB 訊息儲存空間 / 每日活躍使用者 + 3 KB 儲存空間 / 安裝2 =   45 KB 儲存空間 / 每日活躍使用者 * 5,000 每日活躍使用者 =   225 MB 每日儲存空間 / 每日活躍使用者 * 30 =   每月 6.75 GB 儲存空間用量
1 GB 免費儲存空間 + (5.75 * $0.18) = 每月 $1.04 美元

1 每月 10 GB 的網路輸出流量不會產生 Cloud Firestore 費用。
2 由於我們的假設是,每日活躍使用者人數是應用程式總安裝次數的 10%,因此這項數據會計入已安裝應用程式的使用者總數。

中等
(安裝次數:100 萬次)

1,000,000 次應用程式安裝 (每日活躍使用人數:100,000 人):每月 $292.02 美元

讀取/寫入費用
每月總費用 = 每月 $261.90 美元
每日總閱讀次數:800 萬次 =   5 萬次免費讀取 + (795 萬次讀取,每 10 萬美元 $0.06 美元) =   79.5 * $0.06 美元
$4.77 美元 / 天 * 30 = $143.10 美元
 
每日總計 200 萬次寫入 =   2 萬次免費寫入 + (198 萬次寫入,每 10 萬次 $0.18 美元) =   19.8 * $0.18 美元
$3.56 美元 / 天 * 30 = $106.80 美元
 
每日總計有 200 萬個刪除記錄 =   2 萬次免費刪除數 + (1980 萬刪除作業,每 10 萬美元 $0.02 美元) =   19.8 * $0.02 美元
$0.40 美元 / 天 * 30 = $12.00 美元
儲存空間/網路費用
每月總費用 = 每月 $30.12 美元
20 KB / 每日輸出的每日活躍使用者 * 10 萬個每日活躍使用者 =   每日輸出量 2 GB * 30 =   每月 60 GB 網路輸出量
10 GB 免費輸出流量 + (50 GB 輸出量 * 每 GB $0.12 美元) = 每月 $6.00 美元
 
每日 15 KB 訊息儲存空間 / 每日活躍使用者 + 3 KB 儲存空間 / 安裝1 =   45 KB 儲存空間 / 每日活躍使用者 * 10 萬名每日活躍使用者 =   4.5 GB 每日儲存空間 / 每日活躍使用者 * 30 =   每月 135 GB 儲存空間用量
1 GB 免費儲存空間 + (134 GB * 每 GB $0.18) = 每月 $24.12 美元

1 我們的假設是,每日活躍使用者人數是應用程式總安裝次數的 10%,因此這個數字代表已安裝應用程式的使用者總數。

大型
(1,000 萬次安裝)

10,000,000 次應用程式安裝 (每日活躍使用人數:1,000,000 人):$2951.52 美元

讀取/寫入費用
每月總費用 = 總計:每月 $2637.90 美元
每日總閱讀次數為 8,000 萬次 =   5 萬次免費讀取 + (7.995 億次讀取,每 10 萬美元 $0.06 美元) =   799.5 * $0.06 美元
$47.97 美元 / 天 * 30 = $1439.10 美元
 
每日總計 2,000 萬次寫入 =   2 萬次免費寫入 + (1.998 億次寫入,每 10 萬美元 $0.18 美元) =   199.8 * $0.18 美元
$35.96 美元 / 天 * 30 = $1078.80 美元
 
每日刪除總數達 2,000 萬次 =   2 萬次免費刪除數 + (1.998 億個刪除,每 10 萬美元 $0.02 美元) =   199.8 * $0.02 美元
$4.00 美元 / 天 * 30 = $120.00 美元
儲存空間/網路費用
每月總費用 = 每月 $313.62 美元
20 KB / 每日輸出的每日活躍使用者 * 100 萬個每日活躍使用者 =   每日輸出量 20 GB * 30 =   每月 600 GB 網路輸出量
10 GB 免費輸出流量 + (590 GB 輸出量 * 每 GB $0.12 美元) = 每月 $70.80 美元
 
每日 15 KB 訊息儲存空間 / 每日活躍使用者 + 3 KB 儲存空間 / 安裝1 =   45 KB 儲存空間 / 每日活躍使用者 * 100 萬個每日活躍使用者 =   45 GB 每日儲存空間 / 每日活躍使用者 * 30 =   每月 1350 GB 儲存空間用量
(1 GB 免費儲存空間) + (1349 GB * 每 GB $0.18) = 每月 $242.82 美元

1 我們的假設是,每日活躍使用者人數是應用程式總安裝次數的 10%,因此這個數字代表已安裝應用程式的使用者總數。

Cloud Firestore 計費模式的好處之一是,您只需要為實際使用的部分付費。因此,您的帳單費用可能會隨著每日活躍使用者人數增加而減少。

細目:依使用者工作計費

以我們的即時通訊應用程式為例,資料結構如下:

  • users/{userId} - 使用者記錄
  • groups/{groupId} - 2 位以上使用者的即時通訊
    • messages/{messageId}:即時通訊中的每則訊息。

資料儲存

如要計算儲存應用程式資料的儲存空間費用,請採用下列關於文件大小的假設:

收集 文件大小 (傳輸中) 文件大小 (位於磁碟)*
使用者 1KB 3KB
群組 0.5KB 1.5KB
訊息 0.25KB 0.75KB

*這個大小計算包含訊息欄位的索引,但假設訊息內容的索引功能已停用。

應用程式也只會儲存存在三個月內的訊息,以降低儲存空間費用。

如要進一步瞭解如何計算儲存空間費用,請參閱瞭解儲存空間大小計算方法

作業套件

使用者通常會在應用程式中完成以下幾項常見工作:

範例應用程式在 Cloud Firestore 中,三種一般使用者工作的預估作業總數如下:

  • 讀取: (5 * 10) + (30) = 每位使用者每日 80 次讀取作業
  • 寫入數: (10 * 2) = 每位使用者每天 20 次寫入
  • 網路輸出:(50 * 0.25KB) + (30 * 0.25KB) = 20 KB 每位使用者/天
  • 儲存空間:(20 * 0.75KB) = 每位使用者每天 15 KB

使用者工作總用量

選取各項使用者工作,即可查看應用程式中作業、儲存空間和網路費用的完整說明和細目。

查看即時通訊清單

應用程式的主畫面會載入最近 25 則對話,產生 25 份文件讀取作業的費用。假設活躍使用者每天開啟應用程式 5 次,則每位使用者每天總共讀取 125 次。但是,如下例所示的查詢更有效率,速度可能更佳。

在以下範例中,我們會使用應用程式儲存的每次成功擷取時間戳記,限制查詢只能執行新的即時通訊:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

假設使用者每次檢查應用程式時,平均會有 10 個更新的聊天訊息,這項查詢只會產生 10 次文件讀取作業。

閱讀即時通訊中的訊息

使用者只要在主畫面點選進入即時通訊討論串,即可查看近期訊息,並在初始載入時載入最近 50 則訊息。

假設一般使用者每天 (每次開啟主畫面一次一次) 執行這個動作 5 次,這表示每位使用者每天總共執行 250 次。我們也可以將查詢限制在上次擷取時間之後的新訊息:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

假設使用者在所有對話中,每天會收到約 30 則訊息。由於您限制了查詢以擷取新訊息,因此每天只能擷取 30 則訊息。

傳送訊息至即時通訊

使用者可以在即時通訊中傳送訊息給其他參與者。 假設活躍使用者每天傳送約 10 則訊息,

每則送出的訊息都會產生兩次文件寫入作業:一次是寫入即時通訊的 messages 子集合,另一次寫入即時通訊父項文件,以更新 lastUpdated 時間戳記和其他中繼資料。

請注意,這些訊息在其他流程中讀取的成本已計入,因此下方的總計僅考量到此寫入費用。

管理員工作的計費用量

身為應用程式擁有者或管理員,您可能會想使用應用程式的資料產生報表。舉例來說,您可以記錄使用者傳送的訊息每日數量。您可以透過 messages 集合群組的 count() 匯總功能來完成這項操作。

count() 等匯總查詢來說,查詢符合查詢條件的每批次最多可有 1,000 個索引項目,而各批次會產生讀取文件一次的費用。執行這項每日匯總作業時,系統會增加下列月費:

小型
(安裝次數:5 萬次)

50,000 次應用程式安裝 (每日 5,000 名活躍使用者):每月 $0.0009 美元

5,000 名活躍使用者 * 每位使用者 10 則新訊息 = 每天 50,000 則新訊息文件

50,000 份文件計入 / 每次讀取費用 1,000 個索引相符項目 = 50 次讀取

每日 50 次讀取作業 * 30 天 = 每月 1,500 次讀取

每月 1,500 次讀取作業 * 06/100,000 讀取價格 = 每月 $0.0009 美元

中等
(安裝次數:100 萬次)

1,000,000 次應用程式安裝 (每日活躍使用人數:100,000 人):每月 $0.018 美元

100,000 名活躍使用者 * 每位使用者 10 則新訊息 = 每天 1,000,000 則新訊息文件

1,000,000 份文件計入 / 每次讀取費用 1,000 個索引相符項目 = 1,000 次讀取

每日 1,000 次讀取作業 * 30 天 = 每月 30,000 次讀取

每月 30,000 次讀取 * .06/100,000 讀取價格 = 每月 $0.018 美元

大型
(1,000 萬次安裝)

10,000,000 次應用程式安裝 (每日活躍使用人數:1,000,000 人):$0.18 美元

1,000,000 名活躍使用者 * 每位使用者 10 則新訊息 = 每天 10,000,000 則新訊息文件

10,000,000 份文件計入 / 每次讀取費用 1,000 個索引相符項目 = 10,000 次讀取

每日 10,000 次讀取作業 * 30 天 = 每月 300,000 次讀取

每月 300,000 次讀取作業 * .06/100000 讀取價格 = 每月 $ 0.18 美元

優點:應用程式的免付費服務

雖然 Cloud Firestore 作業、儲存空間和網路頻寬都會視為可計費用量,但您也不需額外付費,就能取得其他多種優勢。相較於 Cloud Firestore 與其他資料庫選項,下列是免費的服務:

  • 直接用戶端存取:您可以使用我們的原生 SDK,直接透過用戶端程式碼存取 Cloud Firestore。這表示您不需要建構並執行 API 伺服器,將行動用戶端連線至資料庫。
  • 負載平衡:Cloud Firestore 會自動調度資源,以支援傳送至資料庫的流量,因此您不必執行負載平衡器。
  • 伺服器運作時間:Cloud Firestore 資料庫是在 Google Cloud 伺服器上運作,每月正常運作時間超過 99%
  • 驗證:使用 Firebase 驗證,以簡單又安全的方式驗證無限制使用者。Firebase 驗證功能直接與 Cloud Firestore 整合,因此您不需要執行自己的驗證服務。
  • 推播通知:利用雲端通訊傳送訊息和通知。
  • 其他 Firebase 產品:免費整合其他 Firebase 產品,包括 A/B 測試、Analytics (分析)、Crashlytics、Performance Monitoring 和遠端設定。進一步瞭解其他 Firebase 產品Firebase 定價