Firestore 是專為自動調整資源配置、發揮高效能及協助開發應用程式所打造的 NoSQL 文件資料庫。Firestore 是 NoSQL 文件資料庫,專為自動調整資源配置、提供高效能,以及協助輕鬆開發應用程式而打造。Firestore 是 Datastore 的後繼產品,建議用於所有新應用程式。Firestore 提供多種介面,包括與 Datastore 相容的 API,可支援以 Datastore 建構的舊版程式碼。
搭配使用 Datastore 模式與 App Engine
如要搭配使用 Datastore 模式與 App Engine,請按照下列步驟操作:
如果您還未建立資料庫,請先建立資料庫,並選擇 Datastore 模式的 Firestore。
您可以使用現有的 Datastore 資料庫搭配 App Engine 應用程式。這些現有的資料庫將會自動升級為 Datastore 模式的 Firestore。
如果您有新的 Python 3 應用程式,請使用 Datastore 模式用戶端程式庫與 Datastore 模式互動:
如果您打算將 Python 2 應用程式升級至 Python 3,Google 建議您先將使用 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 資料庫的完整讀寫權限。您可以變更預設服務帳戶的權限,但除非您另行指派具有必要權限的身分與存取權管理角色,否則應用程式可能會失去存取權。
要瞭解如何讓其他使用者、應用程式或專案存取資料庫,請參閱存取資料庫一文。
使用 Datastore 模式模擬器進行本機測試
Google Cloud CLI 包含實際工作環境 Datastore 模式環境的本機模擬器。您可以用這個模擬器在本機上開發及測試應用程式。此外,模擬器還可幫您對實際工作環境的 Datastore 模式執行個體產生索引,以及刪除不需要的索引。
如果您使用 App Engine 本機開發伺服器測試應用程式,可在啟動伺服器時設定
--support_datastore_emulator=true標記,確保伺服器會使用 Datastore 模式模擬器。如果您使用 Datastore 模式模擬器,dev_appserver 會顯示以下訊息:
... Using Cloud Datastore Emulator.定價、配額與限制
Datastore 模式提供免費配額,但設有每日上限。付費帳戶享有無限的儲存空間,以及不限次數的讀取和寫入作業。詳情請參閱 Datastore 配額頁面。