Firestore 是 NoSQL 文件資料庫,專為自動調整資源配置、提供高效能,以及協助輕鬆開發應用程式而打造。這是 Datastore 的最新版本,推出了 Datastore 的多項改進功能。
由於 Datastore 模式中的 Firestore 是針對伺服器用途和 App Engine 進行最佳化,因此建議您將 Datastore 模式中的 Firestore 用於主要由 App Engine 應用程式使用的資料庫。原生模式的 Firestore 最適合用於行動裝置和即時通知用途。如要進一步瞭解 Firestore 模式,請參閱「選擇原生模式或 Datastore 模式」。
搭配 App Engine 使用 Datastore 模式
如何將 Datastore 模式與 App Engine 搭配使用:
如果您還未建立資料庫,請建立資料庫,並選擇 Datastore 模式的 Firestore。
您可以將現有的 Datastore 資料庫與 App Engine 應用程式搭配使用。這些現有的資料庫將自動升級為 Datastore 模式的 Firestore。
-
在 Datastore 模式資料庫中建立、擷取及管理實體。
如果您打算將 Python 2 應用程式升級至 Python 3,可以採用以下幾種做法:
如果 Python 2 應用程式使用 App Engine NDB 與 Datastore 互動,建議您遷移至 Cloud NDB,而非 Datastore 模式用戶端程式庫,因為前者提供的使用者體驗與後者非常相似。
您也可以選擇先將使用 App Engine NDB 的 Python 2 應用程式移植至 Python 3,然後再遷移至 Cloud NDB。如要瞭解如何在 Python 3 中存取 App Engine NDB,請參閱「存取 Python 3 適用的 App Engine 套裝服務」一文。
如需其他資源,以及從使用 App Engine NDB 的 Python 2 webapp
應用程式遷移至啟用 App Engine NDB 的等效 Python 3 Flask 應用程式的範例,請參閱 Python 3 的套裝服務頁面。
設定索引
Datastore 模式會對應用程式執行的每個查詢使用索引。這些索引會隨著實體的變更一併更新,因此應用程式執行查詢時,能夠快速得到結果。
Datastore 模式會自動建立適用於簡單查詢類型的單一屬性索引。如要執行包含多個屬性的複雜查詢,您必須在應用程式的 index.yaml
檔案中設定複合式索引。
App Engine 開發伺服器將會更新您的 index.yaml
檔案,使其包含執行測試所需的複合式索引。同樣地,在您執行測試時,Datastore 模式模擬器也會產生索引。
如果您未執行本機測試或您的測試並未包含複雜查詢,您也可以手動將索引新增至應用程式的 index.yaml
檔案。
設定資料庫權限
根據預設,您的應用程式具有讀取及寫入您Google Cloud 專案中 Datastore 模式和 Firestore 資料庫的所有必要權限。
為了管理這些權限,每個 App Engine 應用程式都會使用預設服務帳戶,該帳戶具有與應用程式相同專案中 Datastore 模式和 Firestore 資料庫的完整讀寫權限。您可以變更預設服務帳戶的權限,但除非您指派具備必要權限的 IAM 角色,否則應用程式可能會失去存取權。
要瞭解如何讓其他使用者、應用程式或專案存取資料庫,請參閱存取資料庫一文。
定價、配額與限制
Datastore 模式會提供免費配額,但設有每日上限。付費帳戶享有無限的儲存空間,以及不限次數的讀取和寫入作業。詳情請參閱 Datastore 配額頁面。