Firebase Realtime Database
使用我們的 NoSQL 雲端資料庫儲存及同步處理資料。資料會在所有用戶端即時同步處理,且應用程式離線時仍可使用。
Realtime Database
Cloud Firestore
建議採用主要功能
| 即時 | Firebase Realtime Database 使用資料同步處理取代一般 HTTP 要求。一旦資料發生變更,所有連結裝置都會在幾毫秒內收到更新。提供協作和沉浸式體驗,不必考慮網路程式碼。 |
| 離線 | Firebase Realtime Database SDK 會將資料保存在磁碟中,因此 Firebase 應用程式即使離線仍會持續回應。恢復連線後,用戶端裝置會收到離線期間發生的所有變更,並與目前的伺服器狀態保持同步。 |
| 可從用戶端裝置存取 | 可直接透過行動裝置或網路瀏覽器存取 Firebase Realtime Database,不需要應用程式伺服器。Firebase Realtime Database安全性規則是以運算式為基礎的規則,會在讀取或寫入資料時執行,可提供安全性和資料驗證功能。 |
| 跨多個資料庫擴充 | 採用 Firebase Realtime Database Blaze 定價方案後,您可以在同一個 Firebase 專案中,將資料分散到多個資料庫執行個體,大規模滿足應用程式的資料需求。透過專案中的 Firebase Authentication 簡化驗證程序,並在資料庫執行個體中驗證使用者。使用每個資料庫執行個體的自訂 Firebase Realtime Database Security Rules,控管每個資料庫的資料存取權。 |
運作原理
Firebase Realtime Database 可讓您直接從用戶端程式碼安全存取資料庫,建構豐富的協作應用程式。資料會保存在本機,即使離線,即時事件仍會持續觸發,為使用者提供快速回應的體驗。裝置重新連線後,Realtime Database 會將店面資料變更與用戶端離線時發生的遠端更新同步,並自動合併任何衝突。
Realtime Database 提供彈性的運算式規則語言,稱為 Firebase Realtime Database 安全性規則,可定義資料結構,以及何時可讀取或寫入資料。與 Firebase Authentication 整合後,開發人員可以定義哪些人能存取哪些資料,以及存取方式。
Realtime Database 是 NoSQL 資料庫,因此與關聯式資料庫相比,具有不同的最佳化和功能。Realtime Database API 僅允許執行可快速完成的操作。這可讓您打造出色的即時體驗,為數百萬名使用者提供服務,同時兼顧回應速度。因此,請務必考量使用者存取資料的方式,並據此建構資料。
實作路徑
| 整合 Firebase Realtime Database SDK | 使用 Gradle、Swift Package Manager 或指令碼,快速納入用戶端。 | |
| 建立Realtime Database參照 | 參照 JSON 資料,例如「users/user:1234/phone_number」,即可設定資料或訂閱資料變更。 | |
| 設定資料並監聽變更 | 使用這些參照寫入資料或訂閱變更。 | |
| 啟用離線持續性 | 允許將資料寫入裝置的本機磁碟,以便在離線時使用。 | |
| 確保資料安全 | 使用 Firebase Realtime Database 安全性規則保護資料。 |
儲存其他類型的資料
- Cloud Firestore 是 Firebase 和 Google Cloud 提供的資料庫,具備彈性與擴充性,適用於行動裝置、網頁和伺服器開發。如要進一步瞭解資料庫選項之間的差異,請參閱「選擇資料庫:Cloud Firestore或Realtime Database」。
- Firebase Remote Config 儲存開發人員指定的鍵值組,變更應用程式的行為和外觀,不必要求使用者下載更新。
- Firebase Hosting 會託管網站的 HTML、CSS 和 JavaScript,以及開發人員提供的其他素材資源,例如圖片、字型和圖示。
- Cloud Storage 可儲存圖片、影片和音訊等檔案,以及其他使用者原創內容。