对于用惯了关系型数据库的程序员来说,转而去习惯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的所有特性,但不包括文件和插件等命令。
不能导出指定的数据库,只能导出整个实例。
LOAD DATA INFILE
SELECT … INTO OUTFILE
SELECT … INTO DUMPFILE
INSTALL PLUGIN .. SONAME …
UNINSTALL PLUGIN
CREATE FUNCTION … SONAME …
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的审核。