透過這個範例中的基本即時通訊應用程式範例,瞭解Cloud Firestore 用量與費用這並非精確預估結果,但可以協助你 瞭解 Cloud Firestore 用量的計費方式。
總覽:按用量層級顯示的費用
這裡以一個即時通訊應用程式為例
發起即時通訊,與兩位以上的參與者進行即時通訊。使用者可以看到自己的有效狀態
清單中有即時通訊記錄、讀取訊息及傳送訊息。在本例中
提供北美洲多區域的價格 (特別是 nam5
)。
假設
請參考以下有關用量與資料儲存空間的假設:
- 每日活躍使用人數 (DAU) 是應用程式總安裝次數的 10%。你可以 使用每日活躍使用人數的粗估值來估算每日費用 (每日活躍使用人數)。這些使用者是在特定裝置上主動開啟並使用您應用程式的使用者 這通常代表應用程式整體的一小部分 安裝。根據下方計算,每日活躍使用人數估計為 應用程式安裝總次數。
- 文件大小相對較小。詳情請參閱下表 查看不同類型文件大小的細目
- 資料只會保留三個月。即時通訊範例中的訊息 應用程式的保存期限只有三個月。考量刪除情形 運算時,以下計算顯示每天寫入一次的刪除。
- 這些預估費用反映的是範例應用程式的大部分費用,但 全部我們透過計算 作業、使用者與訊息儲存空間,以及輸出作業 逐步執行這些工作不過,您可能會需要 視應用程式的結構和資料需求而定。使用這份草稿 參考範例,但請參閱定價頁面 查看「Cloud 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 萬次寫入 | = | 2 萬次免費寫入 + (8 萬次寫入,每 10 萬次 $0.18 美元) | = | 0.8 * $0.18 美元 | |
$0.14 美元 / 天 * 30 = $4.20 美元 | |||||
每日總計刪除 10 萬次 | = | 20,000 次免費刪除 + (8 萬次刪除,每 10 萬美元 $0.02 美元) | = | 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 儲存空間用量 | |
1GB 免費儲存空間 + (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 萬次刪除作業 | = | 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 儲存空間用量 | |
1GB 免費儲存空間 + (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 萬次 | = | 20,000 次免費刪除 + (1998 萬筆刪除,每 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 次文件讀取作業。
閱讀即時通訊中的訊息
使用者在主畫面點按即時通訊討論串,即可查看近期對話內容 訊息,載入初始載入的 50 則最新訊息。
假設一般使用者每天執行這個動作 5 次 (適用於 因此總計有 250 個 每日每位使用者的讀取數此外,您也可以要求系統只查詢新訊息 自上次擷取時間以來:
db.collection('groups') .doc('group234') .collection('messages') .where('sentTime', '>', lastFetchTimestamp) .orderBy('sentTime', 'desc') .limit(50)
假設使用者在所有對話中,每天會收到約 30 則訊息。開始時間 您已經限制了擷取新郵件的查詢範圍, 每日僅擷取 30 封郵件。
傳送訊息至即時通訊
使用者可以在即時通訊中傳送訊息給其他參與者。 假設活躍使用者每天傳送約 10 則訊息,
每封傳送的郵件都會產生兩次文件寫入作業:一次寫入
以下對話的子集合:messages
,1 則針對即時通訊內容
更新 lastUpdated
時間戳記和其他
中繼資料。
請注意,這些郵件在 因此下方的總計只會計入此寫入費用。
管理員工作的計費用量
如果您是應用程式擁有者或管理員,可能會想透過下列資料來源製作報表
應用程式資料。舉例來說,您可能希望保留
使用者傳送的訊息數量方法是使用
count()
匯總
「messages
」集合群組。
針對 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 與其他資料庫選項:
- 直接用戶端存取權:系統會直接從您的用戶端存取 Cloud Firestore 用戶端程式碼您不需要建構 並執行 API 伺服器,將行動用戶端連接到資料庫。
- 負載平衡:Cloud Firestore 會自動調度資源來支援 因此不必執行負載平衡器
- 伺服器運作時間: Cloud Firestore 個資料庫會在 Google Cloud 伺服器上運作, 提供超過 99% 的每月正常運作時間服務。
- 驗證:以簡單又安全的方式,進行驗證 (無使用者人數限制) Firebase Authentication。Firebase Authentication 直接與 Cloud Firestore 整合,因此您無須自行執行 驗證服務
- 推播通知:傳送訊息和通知時使用 Cloud Messaging。
- 其他 Firebase 產品:整合其他 Firebase 產品,無須額外付費。 包括 A/B 版本測試、Analytics、Crashlytics、Performance Monitoring 以及遠端設定進一步瞭解其他 Firebase 產品 和 Firebase 定價。