Firebase 提供兩個基於雲端、用戶端可存取的文件資料庫。我們建議新客戶從 Cloud Firestore 開始:
Cloud Firestore是推薦的企業級 JSON 相容文件資料庫,受到超過 25 萬名開發人員的信任。它適用於具有豐富資料模型、需要可查詢性、可擴展性和高可用性的應用程式。它還提供低延遲客戶端同步和離線資料存取。
即時資料庫是經典的 Firebase JSON 資料庫。它適用於具有簡單資料模型、需要簡單查找和低延遲同步且可擴展性有限的應用程式。
還有哪些重要事項需要考慮?
在考慮了前面的關鍵考慮因素之後,您可能已經準備好選擇資料庫了。如果您仍在權衡優缺點,本部分將介紹 Cloud Firestore 和即時資料庫之間的其他差異。
資料模型
即時資料庫和 Cloud Firestore 都是 NoSQL 資料庫。
首選Cloud Firestore | 即時資料庫 |
---|---|
將資料儲存為文檔集合。
詳細了解Cloud Firestore 資料模型。 | 將資料儲存為一棵大型 JSON 樹。
了解有關即時資料庫資料模型的更多資訊。 |
即時和離線支援
兩者都具有行動優先的即時 SDK,並且都支援離線就緒應用程式的本地資料儲存。
首選Cloud Firestore | 即時資料庫 |
---|---|
對 Apple、Android 和 Web 用戶端的離線支援。 | 離線支援蘋果和安卓客戶端。 |
在場
了解客戶端何時在線上或離線非常有用。 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 專案。
- 對於Cloud Firestore ,請查看Cloud Firestore 入門。
- 對於即時資料庫,請閱讀適用於您的平台的入門主題: Apple 、 Android 、 C++ 、 Unity 、 Web或REST 。