查詢介面總覽
本頁面說明可存取 Firestore 原生模式資料庫資料的不同介面。
作業介面
原生模式下的 Firestore 支援兩種資料存取介面:
管道作業
Firestore 的新版查詢介面。 管道作業支援以階段為基礎的可組合語法。您可定義一系列依序執行的階段,建構作業。這樣一來,您就能執行複雜的作業,例如根據匯總結果進行篩選,這在原始介面 (核心作業) 中是不可能辦到的。
管道作業僅適用於 Firestore Enterprise 版,且處於預先發布階段。
核心作業
核心作業是 Firestore 的原始介面。
核心作業會使用方法鏈結語法 (.where()、.orderBy()、.get()) 擷取文件或集合參照中的文件。查詢階段的排序方式是隱含的,且匯總支援功能有限。
Enterprise 和 Standard 版本都提供核心作業,但各版本的索引預設值差異很大。詳情請參閱下一節。
各版本介面差異
Enterprise 版支援原生模式的 Firestore,因此 Firestore Core 和 Pipeline 作業都適用。在 Enterprise 版中使用 Core 作業時,新的索引行為和定價模式會移除 Standard 版的許多限制。
| 功能 | Standard 版 | Enterprise 版 |
| 支援的查詢作業 | 僅限 Firestore Core 作業。 | 支援 Firestore 核心和管道作業,以及與 MongoDB 相容的 Firestore 作業。 |
| 索引規定 | 所有查詢都需要索引。 | 查詢不需要索引。 |
| 建立索引 | 系統會為單一欄位建立自動索引。您可以手動建立複合式索引。 | 系統不會建立自動索引。您必須手動管理索引。 |
| 查詢效能和費用 | 由於索引需求,查詢通常效能良好。 | 建立索引,盡可能提高查詢效能和降低成本。您可以使用「查詢說明」和「查詢洞察」找出缺少的索引。
隨著資料集擴大,沒有索引的查詢可能會效能不佳且成本高昂,因此需要監控和調整。 |
| 索引額外負荷成本 | 索引是自動建立,因此寫入索引不需付費。 | 寫入索引項目時,系統會消耗寫入單位 (每 1 KiB 的索引項目大小為 1 個寫入單位)。您不必為每個欄位建立索引項目,因此可節省儲存空間費用。 |
| 計費模式 (讀取/寫入/刪除) | 系統會根據文件讀取、寫入及刪除作業次數計費。 | 系統會根據讀取和寫入 (分層) 次數收費。讀取作業的費用是以讀取單位 (4 KiB 為一組) 計算。寫入和刪除作業會合併為寫入單位 (1 KiB 為一組)。 |
| 基本定價 (每 100 萬次)
顯示的價格為 us-central1 區域的價格 |
讀取:每 100,000 份文件$0.03 美元 (或每 100 萬份文件 $0.30 美元)。
寫入:每 100,000 份文件$0.09 美元 (或每 100 萬份文件 $0.90 美元)。 刪除:每 100,000 份文件$0.01 美元 (或每 100 萬份文件 $0.10 美元) |
讀取單位:每 100 萬個讀取單位 $0.05 美元。
寫入單位:每 100 萬個寫入單位 $0.26 美元。如果文件小於 4 KiB,價格通常會比標準讀取費用低。 |
| 即時更新
顯示的價格為 us-central1 區域的價格 |
系統會將即時更新視為讀取作業,並以每 100,000 份文件 $0.03 美元的價格計費。 | 即時更新功能有新的獨立 SKU (即時更新單元),每 4 KiB 區塊計費。即時更新的費用為每 100 萬個讀取單位$0.30 美元。 |