計費範例
您可以透過這個基本聊天應用程式的實際範例,評估 Firestore 原生模式的使用量和費用。這並非確切的預估值,但有助於您進一步瞭解 Firestore (原生模式) 的計費方式。
總覽:依用量等級列出費用
以即時通訊應用程式為例,使用者可與兩名以上參與者發起對話。使用者可以在清單中查看進行中的對話、讀取及傳送訊息。在本範例中,我們使用北美洲多區域的定價 (具體來說是 nam5
)。
假設
請考量下列使用量和資料儲存空間的假設:
- 每日活躍使用者 (DAU) 占應用程式總安裝次數的 10%。您可以根據每日活躍使用者 (DAU) 的粗略估算值,推估每日費用。這些使用者會在特定日期主動開啟及使用應用程式,通常只占應用程式總安裝次數的一小部分。在下列計算中,我們估計每日活躍使用者人數為應用程式總安裝次數的 10%。
- 文件大小相對較小。如要瞭解各類型文件的大小限制,請參閱下表。
- 資料只會保留三個月。範例即時通訊應用程式中的訊息只會儲存三個月。為考量刪除作業,下列計算結果顯示每天的刪除次數與寫入次數相同。
- 這些預估費用反映了範例應用程式的大部分費用,但並非全部。我們已根據本指南列出的最常見使用者工作,計算作業、使用者和訊息儲存空間,以及輸出流量,估算應用程式的大部分費用。不過,您可能需要考量額外費用,具體取決於應用程式的架構和資料需求。您可以參考這個範例進行計算,但如要更深入瞭解 Native 模式的 Firestore 費用,請參閱定價頁面。
如要查看按使用者工作劃分的作業明細,請參閱「明細:按使用者工作劃分的帳單用量」一節。
小型
(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 萬次 | = | 20,000 次免付費寫入 + (80,000 次寫入,每 100,000 次 $0.18 美元) | = | .8 * $0.18 美元 | |
$0.14 美元 / 天 * 30 = $4.20 美元 | |||||
每日刪除總數 10 萬 | = | 20,000 次免費刪除 + (80,000 次刪除,每 100,000 次 $0.02 美元) | = | .8 * $0.02 美元 | |
$0.02 美元 / 天 * 30 = $0.60 美元 |
儲存空間/網路費用 | |||||||
---|---|---|---|---|---|---|---|
每月總費用 = $1.04/月 | |||||||
每日輸出流量 20 KB / DAU * 5,000 DAU | = | 每日輸出 100 MB 的流量 * 30 | = | 每月 3 GB 網路輸出量 | |||
3 GB 免付費輸出 = 免付費1 | |||||||
每日訊息儲存空間 15 KB / DAU + 3 KB 儲存空間 / 安裝次數2 | = | 45 KB 的儲存空間 / 每日活躍使用者 * 5,000 名每日活躍使用者 | = | 每日儲存空間 225 MB / 每日活躍使用者人數 * 30 | = | 每月儲存空間用量 6.75 GB | |
1 GB 免付費儲存空間 + (5.75 * $0.18) = 每月 $1.04 美元 |
1 使用原生模式的 Firestore 時,每月 10 GB 的網路輸出量不需付費。
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 萬次 | = | 20,000 次免付費寫入 + (198 萬次寫入,每 10 萬次 $0.18 美元) | = | 19.8 * $0.18 | |
$3.56 美元 / 天 * 30 = $106.80 美元 | |||||
每天最多可刪除 200 萬個項目 | = | 20,000 次免付費刪除作業 + (198 萬次刪除作業,每 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 * $0.18 美元/GB) = $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 千萬次 | = | 20,000 次免付費寫入 + (1,998 萬次寫入,每 10 萬次 $0.18 美元) | = | 199.8 * $0.18 美元 | |
$35.96 美元 / 天 * 30 = $1078.80 美元 | |||||
每日刪除作業總數 2,000 萬次 | = | 20,000 次免費刪除 + (1,998 萬次刪除,每 10 萬次 $0.02 美元) | = | 199.8 * $0.02 美元 | |
$4.00 美元 / 天 * 30 = $120.00 美元 |
儲存空間/網路費用 | |||||||
---|---|---|---|---|---|---|---|
單月總計費用 = $313.62 美元/月 | |||||||
每日輸出流量 20 KB / DAU * 100 萬 DAU | = | 每日輸出 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 * $0.18 美元/GB) = 每月 $242.82 美元 |
1 假設每日活躍使用者人數占應用程式總安裝次數的 10%,這個數字就是應用程式的總安裝次數。
原生模式的 Firestore 計費模式有一項值得考慮的優點,就是您只需依實際用量付費。因此,您的帳單費用可能會隨著每日活躍使用者人數增減。
明細:按使用者工作劃分的計費用量
以我們的範例即時通訊應用程式來說,資料結構如下:
users/{userId}
- 使用者記錄groups/{groupId}
- 2 位以上使用者之間的對話messages/{messageId}
:即時通訊中的每則訊息。
資料儲存
如要計算儲存應用程式資料的費用,請套用下列文件大小的假設:
集合 | 文件大小 (傳輸中) | 文件大小 (磁碟上)* |
---|---|---|
使用者 | 1KB | 3KB |
群組 | 0.5KB | 1.5KB |
訊息 | 0.25KB | 0.75KB |
*這項大小計算包含郵件欄位的索引,但假設郵件內容已停用索引。
為降低儲存空間費用,應用程式只會儲存三個月內的訊息。
如要進一步瞭解如何計算儲存空間費用,請參閱瞭解儲存空間大小的計算方式。
作業
使用者通常會在應用程式中完成下列常見工作:
- 查看對話清單:使用者開啟應用程式主畫面後,會看到對話清單 (群組和即時),並依據最近發布的訊息排序。
- 閱讀對話中的訊息:使用者可從主畫面選取對話,並閱讀對話中的最新訊息。
- 傳送訊息至即時通訊:使用者可傳送訊息至即時通訊 (群組或即時訊息)。
在原生模式下,範例應用程式中三項典型使用者工作在 Firestore 的預估作業總數如下:
- 讀取次數: (5 * 10) + (30) = 80 次 / 使用者 / 天
- 寫入: (10 * 2) = 20 次寫入 / 使用者 / 天
- 網路輸出:(50 * 0.25KB) + (30 * 0.25KB) = 20KB / 使用者 / 天
- 儲存空間:(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
時間戳記和其他中繼資料。
請注意,讀取這些訊息的費用已計入其他路徑,因此下方的總計費用僅考量這項寫入費用。
管理員工作的計費額度用量
應用程式擁有者或管理員可能想根據應用程式資料產生報表。舉例來說,您可能想記錄使用者每天傳送的郵件數量。您可以透過count()
集合群組的messages
匯總來完成這項操作。
如果是 count()
等匯總查詢,查詢找出的每批次最多可有 1,000 個索引項目,而各批次會產生讀取文件 1 次的費用。執行這項每日匯總作業會產生下列月度費用:
小型
(5 萬次安裝)
50,000 次應用程式安裝 (5,000 位每日活躍使用者):$0.0009 美元/月
5,000 位活躍使用者 * 每位使用者 10 封新訊息 = 每天 50,000 份新訊息文件
50,000 份文件 / 每次讀取費用 1,000 個索引比對 = 50 次讀取
每天 50 次讀取 * 30 天 = 每月 1,500 次讀取
每月 1,500 次讀取 * 每次讀取 $0.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 次讀取 * 讀取價格 $0.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 次讀取 * 每次讀取價格 $0.06 美元/100,000 次讀取 = 每月 $0.18 美元