什麼是 Google App Engine?(二)

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Python 執行階段環境

「App Engine」提供Python environment。

環境包括 Python 標準程式庫,然而如果呼叫違反沙盒限制的程式庫方法 (例如嘗試開啟通訊端或寫入檔案),一定不會成功。有幾個在標準程式庫模組的核心功能中不受此執行階段環境支援。這些模組已經被停用,如果匯入它們的程式碼,則會引發錯誤。

不支援以 C 撰寫之延伸的程式碼,應用程式碼必須全部以 Python 撰寫。

Python 環境提供豐富的 Python API,例如資料存放區Google 帳戶URL 擷取以及電子郵件等服務。「App Engine」也提供簡單的 Python 網路應用程式架構 (稱為 webapp),讓建置應用程式變得容易。

為了方便起見,「App Engine」也提供 Django 網路應用程式架構 0.96.1 版本。請注意,「App Engine」資料存放區不是關聯式資料庫 (部分 Django 元件需要使用到關聯式資料庫)。部分元件 (例如 Django 範本引擎) 的運作方式如官方文件所述,而其他元件則需要多花一點心思。請參閱「使用 Django 與App Engine」的文章以取得提示。

您可以隨著應用程式上載其他第三方程式庫,但這些程式庫必須是以純粹的 Python 實作,且不需要任何不支援的標準程式庫模組。

如果要進一步瞭解 Python 執行階段環境,請參閱 Python 執行階段環境

資料存放區

「App Engine」提供強大的分散式資料儲存服務,具有查詢引擎和交易功能。就像分散式網頁伺服器會隨著流量而成長,分散式資料存放區也會隨著您的資料量而變大。

「App Engine」資料存放區與傳統關聯式資料庫不同。資料物件 (或稱「實體」) 具有種類和一組屬性。查詢可以抓取指定種類的實體,其方式為透過屬性值篩選和排序。屬性值可以是任何支援的屬性值類型

資料存放區的「Python API」包括資料模型介面,可以定義資料存放區實體的結構。資料模型可以指出某屬性必須具有指定範圍內的值,或提供預設值 (若未指定的話)。你的應用程式可以視需要或多或少提供資料的結構。

資料存放區使用寬鬆式鎖定來進行同步存取控制。在交易中發生的實體更新,如果其他處理程序同時正在嘗試更新相同的實體,則該交易會重試固定的次數。應用程式可以在單一交易中執行多個資料存放區操作,採取全部成功或全部失敗的方式,以確保資料的完整性。

資料存放區使用「實體群組」橫跨其分散式網路來實作交易。交易會在單一群組中操縱實體。為了讓交易有效率地執行,相同群組的實體會儲存在一起。在建立實體時,應用程式可以指派要群組的實體。

如需關於資料存放區的詳細資訊,請參閱資料存放區 API 參考

參考來源

什麼是 Google 應用服務引擎?
What Is Google App Engine?

Related Posts


Comments are closed.