Firebase 提供兩個雲端式文件資料庫,可供客戶存取。我們建議新客戶開始使用 Cloud Firestore:
Cloud Firestore 是建議的企業級 JSON 文件資料庫,受到超過 250,000 名開發人員信賴。適合具有豐富資料模型的應用程式,需要可查詢性、擴充性和高可用性。也具備低延遲的用戶端同步處理與離線資料存取功能。
「即時資料庫」是傳統版 Firebase JSON 資料庫。適合具有簡單資料模型的應用程式,需要簡單的查詢、低延遲同步處理,且擴充性有限。
還有哪些需要考量的重要事項?
回顧之前的重要考量後,您可能需要選擇資料庫。如果您仍在衡量優勢和缺點,本節將說明 Cloud Firestore 和即時資料庫之間的其他差異。
資料模型
即時資料庫和 Cloud Firestore 都是 NoSQL 資料庫。
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
將資料儲存為文件集合。
進一步瞭解 Cloud Firestore 資料模型。 |
以單一大型 JSON 樹狀結構儲存資料。
進一步瞭解即時資料庫資料模型。 |
即時與離線支援
兩者都有行動裝置優先的即時 SDK,並且都支援本機資料儲存空間,供離線應用程式使用。
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
為 Apple、Android 和網路用戶端提供離線支援。 | Apple 和 Android 用戶端的離線支援。 |
Presence
瞭解客戶何時在線上或離線會很有幫助。Firebase 即時資料庫可以記錄用戶端連線狀態,並在每次用戶端連線狀態變更時提供更新。
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
原生不支援。透過 Cloud Functions 同步處理 Cloud Firestore 和即時資料庫,您可以建構即時資料庫支援功能,詳情請參閱在 Cloud Firestore 中建構產品的相關說明。 | 支援在家狀態。 |
查詢
透過查詢從任一資料庫擷取、排序及篩選資料。
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
使用複合排序及篩選功能的已建立索引查詢。
|
具備有限排序及篩選功能的深度查詢。
|
寫入作業和交易
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
進階寫入和交易作業。 | 基本的寫入和交易作業。 |
可靠性和效能
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
Cloud Firestore 是可自動調整資源配置的區域與多區域解決方案。
|
即時資料庫是區域性解決方案,
|
運作時間
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
極高運作時間效能。
|
高效能運作效能。
|
擴充性
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
會自動調度資源。
|
資源調度需要進行資料分割。
|
安全性
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
結合授權與驗證的非連鎖規則。
|
分隔授權和驗證的連鎖規則語言。
|
定價
如需這兩種解決方案,請參閱 Spark 和 Blaze 定價方案。
優先使用 Cloud Firestore | 即時資料庫 |
---|---|
費用主要是依據在資料庫中執行的作業 (讀取、寫入、刪除),以及費率、頻寬和儲存空間降低。 Cloud Firestore 支援 App Engine 專案的每日支出上限,確保您不會超出預算。 進一步瞭解 Cloud Firestore 定價方案。 |
系統只會針對頻寬和儲存空間計費,但費率較高。 進一步瞭解即時資料庫定價方案。 |
使用 Cloud Firestore 和即時資料庫
您可以在同一個 Firebase 應用程式或專案中使用這兩個資料庫。這兩個 NoSQL 資料庫都可以儲存相同類型的資料,而用戶端程式庫也能以類似的方式運作。如果您決定在應用程式中使用這兩個資料庫,請留意先前介紹的差異。
進一步瞭解即時資料庫和 Cloud Firestore 中的可用功能。
準備好選擇資料庫了嗎?
希望以上比較能協助您瞭解 Firebase 資料庫解決方案。現在我們有助您在 Firebase 專案中新增資料庫。