Firestore 總覽
Firestore 是 Firebase 和 Google Cloud提供的資料庫,具備彈性與擴充性,適用於行動裝置、網頁和伺服器開發。Firestore 會透過即時事件監聽器,在用戶端應用程式間同步處理資料,並支援離線使用行動版和網頁版,因此只要應用程式能夠回應,就能建構相關工作,不受網路延遲或連線問題影響。原生模式下的 Firestore 也可與其他 Firebase 和 Google Cloud 產品 (包括 Cloud Run 函式) 完美整合。
主要功能
彈性 | 原生模式的 Firestore 資料模型支援彈性的階層式資料結構。 將資料儲存至文件中,並將文件整理成集合。除了子集合外,文件也能含有複雜的巢狀物件。 |
富有表現力的查詢 | 在 Firestore 原生模式中,您可以使用查詢擷取符合查詢參數的特定個別文件,或某個集合中的所有文件。查詢可包含多個鏈式篩選條件,並搭配篩選與排序選項。由於已根據預設建立索引,因此查詢效能與結果集大小成正比,而與資料集的大小無關。 |
可輕鬆調度資源 | 原生模式的 Firestore 提供自動多區域資料複寫、強烈一致的查詢、完整批次作業,以及交易支援。 |
即時更新 | 原生模式的 Firestore 會以資料同步處理的方式,更新連線裝置的資料。不過在設計上也能高效率地完成簡單的一次性擷取查詢。 |
離線支援 | 原生模式的 Firestore 會快取應用程式常用的資料,因此即使裝置離線,應用程式也能寫入、讀取、監聽和查詢資料。裝置恢復連線時,原生模式的 Firestore 就會將在本機進行的任何變更同步回傳到原生模式的 Firestore 上。 |
運作原理
Firestore 原生模式是雲端代管的 NoSQL 資料庫,除了 REST 和 RPC API 之外,還提供 Node.js、Java、Python、Unity、C++ 和 Go 用戶端程式庫。Apple、Android 和 Web 應用程式也可以使用用戶端程式庫直接存取資料庫。
按照 Firestore 原生模式的 NoSQL 資料模型,您可以在文件中儲存資料,這些文件包含對應值的欄位。這些文件會儲存在集合中,集合是文件的容器,可用於整理資料及建構查詢。文件支援許多不同的資料類型,從簡單的字串和數字,到複雜的巢狀物件都適用。您也可以在文件中建立子集合,並建構階層式資料結構,隨著資料庫擴充而擴充。Firestore 原生模式的資料模型支援最適合您應用程式的資料結構。
此外,原生模式的 Firestore 查詢功能不僅具備表達力,效率也相當高,而且十分靈活。 建立淺層查詢,即可在文件層級擷取資料,不必擷取整個集合或任何巢狀子集合。在查詢或游標中新增排序、篩選和限制,即可將結果分頁。如要讓應用程式中的資料保持最新狀態,不必在每次更新時擷取整個資料庫,請新增即時監聽器。在應用程式中新增即時監聽器,即可在用戶端應用程式監聽的資料變更時收到資料快照通知,並只擷取新變更。
使用伺服器端語言的 Identity and Access Management (IAM),保護原生模式的 Firestore 資料存取權。針對 Android、Apple 平台和 JavaScript,請使用 Firebase Authentication 和 Firestore 安全性規則保護資料。