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 AuthenticationCloud 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),保護行動/網路和伺服器開發的資料。
新增資料 在資料庫中建立文件和集合。
取得資料 建立查詢或使用即時監聽器,從資料庫擷取資料。

後續步驟