Cloud Firestore

我們彈性且可擴充的 NoSQL 雲端資料庫建立於 Google Cloud 基礎架構上,可儲存及同步處理用戶端與伺服器端部署項目的資料。

Cloud Firestore 是 Firebase 和 Google Cloud 提供的資料庫,具備彈性與擴充性,適用於行動裝置、網頁和伺服器開發。與 Firebase Realtime Database類似,Firestore 會透過即時事件監聽器,在用戶端應用程式間同步處理資料,並支援離線使用行動版和網頁版,因此只要應用程式能夠回應,就能建構相關工作,不受網路延遲或連線問題影響。Cloud Firestore 也可與其他 Firebase 和 Google Cloud 產品 (包括 Cloud Functions) 完美整合。

Cloud Firestore 提供兩種版本:Firestore Standard 和 Firestore Enterprise,可滿足不同需求。如要進一步瞭解這些版本,請參閱這篇文章

主要功能

彈性 Cloud Firestore 資料模型支援彈性的階層式資料結構。將資料儲存至文件中,並將文件整理成集合。除了子集合外,文件也能含有複雜的巢狀物件。
Expressive 查詢 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),分別保護行動/網路和伺服器開發的資料。
新增資料 在資料庫中建立文件和集合。
取得資料 建立查詢或使用即時監聽器,從資料庫擷取資料。

後續步驟

  • 開始使用 Cloud Firestore:設定資料庫,然後新增資料並開始讀取。
  • 進一步瞭解Cloud Firestore 資料模型
  • 瞭解 Realtime DatabaseCloud Firestore差異