Cloud Firestore

使用 Google Cloud 彈性且可擴充的 NoSQL 雲端資料庫,儲存及同步處理用戶端與伺服器端部署項目的資料。

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

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

主要功能

彈性 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。您可以在 Firestore Enterprise 版中,搭配 Cloud Firestore 使用現有的 MongoDB 應用程式程式碼、驅動程式、工具,以及 MongoDB 整合的開放原始碼生態系統。

運作原理

Cloud Firestore 是雲端代管的 NoSQL 資料庫,Apple、Android 和網頁應用程式可使用原生 SDK 直接存取。除了 REST 和 RPC API,Cloud Firestore 也提供原生 Node.js、Java、Python、Unity、C++ 和 Go SDK。

按照 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、Swift Package Manager 或指令碼,快速納入用戶端。
確保資料安全 使用 Cloud Firestore Security Rules 或 IAM,分別保護行動/網頁和伺服器開發資料。
新增資料 在資料庫中建立文件和集合。
取得資料 建立查詢或使用即時監聽器,從資料庫擷取資料。

後續步驟

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