對于用慣了關系型數據庫的程序員來說,轉而去習慣Google App Engine的Datastore簡直是自找麻煩,所以很多想嘗試GAE的開發者都望而卻步,心想:與其花時間去了解這個家伙,還不如把時間花在Dota 上呢!顯然,Google也認識到了這一點,于是他們在這個月6號發布了Google Cloud SQL。
這是一個接近傳統關系型數據庫的云端服務,并能方便的與Google App Engine整合,而且Google Cloud SQL和Datastore一樣,無需開發者維護,Google會幫你搞定這些瑣事。
有了Google Cloud SQL,程序員們可以無限制地使用事務,對索引和字段有更多的控制,早已掌握的關系數據庫理論知識和經驗也能大展身手了。
需要說明的是Google Cloud SQL目前還處于有限制的測試階段,并且Google保證在2011年是完全免費的,如果有天它變成收費服務,Google會提前30天通知你的。目前Google Cloud SQL還只能通過Google App Engine和一些工具來訪問,但將來可能提供對外的REST接口。
Google Cloud SQL的主要特性:
MySQL數據庫運行在云端。
不需要維護和管理,Google幫你管理和維護數據庫。
高可信性和可用性:用戶的數據在多個數據中心保持同步,機器故障和數據中心出錯等都會自動調整,最小化用戶影響。
兼容Java和Python,支持JDBC(基于Java的App Engine應用)和DB-API(基于Python的App Engine應用),類似于MySQL環境。
每個實例最多10GB容量,與Google App Engine datastore的性能相當。
支持用MysqlDump導入和導出數據庫。(備份數據存放在Google Cloud Storage)
全面的用戶界面管理數據庫。支持命令行工具(需要JDK,版本最好是1.6)和SQuirrel SQL Client這個第三方的圖形客戶端,并可以在Google APIs Console運行SQL命令。
簡單而強大整合Google App Engine。
當然目前Google Cloud SQL的使用還有一些限制(不排除將來解除某些限制的可能性)
限制最多3個Mysql實例。(每個實例最多10GB大小。)
目前不與Django兼容。
每秒查詢率不能超過16MB。(針對外部請求,App Engine無限制。)
針對外部請求,每秒最多5次查詢,App Engine的程序沒有限制。
支持MySQL 5.1.59的所有特性,但不包括文件和插件等命令。
不能導出指定的數據庫,只能導出整個實例。
一般情況下 Google Cloud SQL 支持MySQL的所有特性,當然要除了以下特性,畢竟Google Cloud SQL 不是 MySQL。 不支持的Mysql語句:
LOAD DATA INFILE
SELECT … INTO OUTFILE
SELECT … INTO DUMPFILE
INSTALL PLUGIN .. SONAME …
UNINSTALL PLUGIN
CREATE FUNCTION … SONAME …
不支持的SQL函數:
LOAD_FILE()
另外,Google Cloud SQL不支持MySql的自定義函數同步功能(MySql replication)。
如果對Google Cloud SQL感興趣,而且不在乎它的特性和功能限制的話,就可以去申請試用。目前Google Cloud SQL出于限制性的對外開放測試階段,如果想要試用,可以按照以下步驟申請:
1.登錄Google APIs Console(https://code.google.com/apis/console/)
2.點擊頁面左側的Service.
3.下拉找到SQL Service,點擊Request access…鏈接.
4.填寫注冊表單,并等待Google的審核。

