Firebase Realtime Database
使用我們的 NoSQL 雲端資料庫儲存及同步處理資料。資料會即時同步處理所有用戶端,且應用程式離線時仍可使用。
Realtime Database
Cloud Firestore
建議採用主要功能
| 即時 | Firebase Realtime Database 使用資料同步處理取代一般 HTTP 要求。一旦資料發生變更,所有連線的裝置都會立即收到更新,提供協作和沉浸式體驗,不必考慮網路程式碼。 |
| 離線 | Firebase 應用程式即使離線仍會持續回應,因為 Firebase Realtime Database SDK 會將您的資料保存在磁碟中。重新建立連線後,用戶端裝置會收到所有錯過的變更,並與目前的伺服器狀態同步處理。 |
| 可從用戶端裝置存取 | 您可以直接透過行動裝置或網路瀏覽器存取 Firebase Realtime Database,不需要應用程式伺服器。您可以使用Firebase Realtime Database安全性規則 (以運算式為基礎的規則,會在讀取或寫入資料時執行),確保資料安全無虞並通過驗證。 |
| 跨多個資料庫擴充 | 採用 Blaze 方案 (Firebase Realtime Database) 後,您可以在同一個 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 會儲存圖片、影片、音訊等檔案,以及使用者產生的其他內容。