Cloud Firestore
我們彈性且可擴充的 NoSQL 雲端資料庫建立於 Google Cloud 基礎架構上,可儲存及同步處理用戶端與伺服器端部署項目的資料。
Cloud Firestore 是 Firebase 和 Google Cloud 提供的資料庫,具備彈性與擴充性,適用於行動裝置、網頁和伺服器開發。與 Firebase Realtime Database 類似,Firestore 會透過即時事件監聽器,在用戶端應用程式間同步處理資料,並支援離線使用行動版和網頁版,因此只要應用程式能夠回應,就能建構相關工作,不受網路延遲或連線問題影響。Cloud Firestore 也可與其他 Firebase 和 Google Cloud 產品 (包括 Cloud Functions) 完美整合。
Cloud Firestore 提供兩種版本,可滿足不同需求。 瞭解各個版本
主要功能
彈性 | Cloud Firestore 資料模型支援彈性的階層式資料結構。 將資料儲存至文件中,並將文件整理成集合。除了子集合外,文件也能含有複雜的巢狀物件。 |
生動查詢 | 在 Cloud Firestore 中,您可以使用查詢擷取符合查詢參數的特定個別文件,或某個集合中的所有文件。查詢可包含多個鏈式篩選條件,並搭配篩選與排序選項。 |
即時更新 | 和 Realtime Database 一樣,Cloud Firestore 是以資料同步處理的方式更新連線裝置的資料,不過在設計上也能高效率地完成簡單的一次性擷取查詢。 |
支援離線使用 | Cloud Firestore 會快取應用程式常用的資料,因此即使裝置離線,應用程式也能寫入、讀取、監聽和查詢資料。裝置恢復連線時,Cloud Firestore 就會將在本機進行的任何變更同步回傳到 Cloud Firestore 上。 |
可輕鬆調度資源 | Cloud Firestore 運用 Google Cloud 強大的基礎架構,提供自動多區域資料複寫、同步一致性保證、完整批次作業,並支援 ACID 交易。我們設計 Cloud Firestore 的目的,是為了處理全球最大應用程式中最艱鉅的資料庫工作負載。 |
與 MongoDB 相容 | Cloud Firestore 提供與 MongoDB 相容的 API。您可以在Enterprise 版中使用現有的 MongoDB 應用程式程式碼、驅動程式、工具,以及與 MongoDB 整合的開放原始碼生態系統,搭配 Cloud Firestore。 |
運作原理
Cloud Firestore 是雲端代管的 NoSQL 資料庫,Apple、Android 和網路應用程式可透過原生 SDK 直接存取。Cloud Firestore 也提供原生 Node.js、Java、Python、Unity、C++ 和 Go SDK,以及 REST 和 RPC API。
按照「Cloud Firestore」的文件資料模型,儲存包含對應至值的欄位的資料。這些文件會儲存在集合中,集合是文件的容器,可用於整理資料及建構查詢。文件支援許多不同的資料類型,從簡單的字串和數字,到複雜的巢狀物件都適用。您也可以在文件中建立子集合,並建構階層式資料結構,隨著資料庫擴充而擴充。Cloud Firestore 資料模型支援最適合應用程式的資料結構。
此外,Cloud Firestore 中的查詢具有表現力、效率和彈性。建立淺層查詢,即可在文件層級擷取資料,不必擷取整個集合或任何巢狀子集合。在查詢或游標中新增排序、篩選和限制,即可將結果分頁。如要讓應用程式中的資料保持最新狀態,不必在每次更新時擷取整個資料庫,請新增即時監聽器。在應用程式中新增即時監聽器,即可在用戶端應用程式監聽的資料變更時收到資料快照通知,並只擷取新變更。
使用 Firebase Authentication 和 Cloud Firestore Security Rules (適用於 Android、Apple 平台和 JavaScript),或 Identity and Access Management (IAM) (適用於伺服器端語言),保護 Cloud Firestore 中的資料存取權。
實作路徑
整合 Cloud Firestore SDK | 透過 Gradle、CocoaPods 或指令碼,快速納入用戶端。 | |
確保資料安全 | 請分別使用 Cloud Firestore Security Rules 或 Identity and Access Management (IAM),保護行動/網路和伺服器開發的資料。 | |
新增資料 | 在資料庫中建立文件和集合。 | |
取得資料 | 建立查詢或使用即時監聽器,從資料庫擷取資料。 |
後續步驟
- 開始使用 Cloud Firestore:設定資料庫,然後新增資料並開始讀取。
- 進一步瞭解Cloud Firestore 資料模型。
- 瞭解 Realtime Database 和 Cloud Firestore 的差異。