選擇原生模式和 Datastore 模式

建立新 Cloud Firestore 資料庫時,您可以設定要在「Datastore 模式」下執行的資料庫執行個體,使資料庫向下相容 Cloud Datastore。這個頁面可協助您瞭解「Native mode」(原生模式)與「Datastore mode」(Datastore 模式) 這兩種 Cloud Firestore 資料庫模式之間的差異。

Cloud Firestore (原生模式)

Cloud Firestore 是 Cloud Datastore 的下一個主要版本,也是這項產品重塑之後的版本。Cloud Firestore 是 NoSQL 文件資料庫,綜合 Cloud Datastore 與 Firebase Realtime Database 的精華,專為自動調整資源配置、發揮高效能以及簡化應用程式開發流程而設計。

Cloud Firestore 推出以下幾項新功能:

  • 保持同步一致性的新儲存空間層
  • 集合與文件資料模型
  • 即時更新
  • 行動與網路內容程式庫

Cloud Firestore 能與舊版 Cloud Datastore 相容,但資料模型、即時更新內容以及行動和網路用戶端程式庫等新功能則無法與舊版相容。如要存取所有新的 Cloud Firestore 功能,您必須以原生模式使用 Cloud Firestore。

Cloud Firestore (Datastore 模式)

Datastore 模式下的 Cloud Firestore 使用 Cloud Datastore 系統行為,但會移除以下 Cloud Datastore 限制,以利存取 Cloud Firestore 的儲存空間層:

  • 最終一致性,Cloud Datastore 查詢全數保持同步一致性。
  • 交易不再侷限於 25 個實體群組。
  • 寫入實體群組的速度不再侷限於每秒 1 個。

Datastore 模式會停用與 Cloud Datastore 不相容的 Cloud Firestore 功能。

  • 專案會接受 Cloud Datastore API 要求並且拒絕 Cloud Firestore API 要求。
  • 專案會使用 Cloud Datastore 索引,不用 Cloud Firestore 索引。
  • 您可以在這個專案中使用 Cloud Datastore 用戶端程式庫,但不能使用 Cloud Firestore 用戶端程式庫。
  • 不提供 Cloud Firestore 即時功能。
  • 在 GCP 主控台中,資料庫會使用 Cloud Datastore 檢視器。

自動升級為 Datastore 模式

現有 Cloud Datastore 資料庫將自動升級為 Datastore 模式的 Cloud Firestore。需要 Cloud Datastore 資料庫的新專案應使用 Cloud Firestore (Datastore 模式)。

定價與位置

原生模式與 Datastore 模式資料庫使用相同的定價結構,並且位於相同的位置。定價與位置會在下列頁面中詳細說明:

Cloud Firestore (原生模式)

Cloud Firestore (Datastore 模式)

選擇資料庫模式

選擇資料庫模式時,我們有以下建議:

  • 使用 Datastore 模式的 Cloud Firestore 建立新伺服器專案。

    Datastore 模式的 Cloud Firestore 不受限於 Cloud Datastore 的基本限制,因此可以讓您使用既成的 Cloud Datastore 伺服器架構。Datastore 模式可自動擴充至每秒數百萬次寫入。

  • 使用原生模式的 Cloud Firestore 開發新的行動及網路應用程式。

    Cloud Firestore 提供行動及網路用戶端程式庫適用的的即時與離線功能。原生模式可自動擴充至數百萬個並行用戶端。

功能比較

下表比較資料庫模式的系統行為:

Cloud Firestore
原生模式
Cloud Firestore
Datastore 模式
資料模型 文件資料庫分為文件和集合。 實體分為種類和實體群組。
儲存空間層 新的儲存空間層,一律保持同步一致性 新的儲存空間層,一律保持同步一致性
查詢和交易
  • 整個資料庫的查詢均保持同步一致性
  • 集合數量不拘,每次交易最多只限 500 份文件。
  • 限制:不提供集合群組查詢和專案查詢。
  • 移除 Cloud Datastore 先前的一致性限制
  • 整個資料庫的查詢均保持同步一致性
  • 交易可以存取任意數量的實體群組
Cloud Datastore v1 API 支援 沒有,會拒絕要求
Cloud Firestore v1 API 支援 沒有,會拒絕要求
即時更新

支援「監聽」功能,可監聽一份文件或一組文件的即時更新。

監聽一份或一組文件時,用戶端會收到資料異動通知,也會收到最新的資料集。

不支援
離線資料保存 行動和網路用戶端程式庫支援永久保存離線資料。 不支援
用戶端程式庫 Cloud Firestore 用戶端程式庫:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
  • Android
  • iOS
  • 網路
Cloud Datastore 用戶端程式庫:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
安全性
  • Cloud Identity and Access Management (IAM) 管理資料庫存取權
  • Cloud Firestore Security Rules 支援行動和網路用戶端程式庫進行無伺服器服務驗證與授權
Cloud Identity and Access Management (IAM) 管理資料庫存取權
效能 自動擴充至數百萬個並行用戶端。每秒寫入作業次數上限為 10,000 自動擴充至每秒數百萬次寫入。
SLA Cloud Firestore 服務水準協議。 Cloud Firestore 服務水準協議。
位置
  • 美國 (多個區域)
  • 歐盟 (多個區域)
  • 蒙特婁
  • 洛杉磯
  • 南卡羅來納
  • 北維吉尼亞州
  • 聖保羅
  • 倫敦
  • 法蘭克福
  • 東京
  • 孟買
  • 雪梨
  • 美國 (多個區域)
  • 歐盟 (多個區域)
  • 蒙特婁
  • 洛杉磯
  • 南卡羅來納
  • 北維吉尼亞州
  • 聖保羅
  • 倫敦
  • 法蘭克福
  • 東京
  • 孟買
  • 雪梨
定價 相同定價結構
主控台 Firebase 主控台與 GCP 主控台 Firestore 檢視器 GCP 主控台 Datastore 檢視器
命名空間 不支援 支援命名空間
App Engine 用戶端程式庫整合

App Engine 標準環境 Python 2.7 和 PHP 5.5 執行階段不支援

App Engine 標準環境 Python 3.7、PHP 7.2、Java 8、Go 和 Node.js 執行階段可支援

App Engine 彈性環境的所有執行階段均支援

所有執行階段均支援
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Datastore 說明文件