Google Cloud SQL发布

标签:Google Cloud SQL, Google App Engine

今天一觉起来,发现Google Cloud SQL发布了。
这一产品对Google App Engine来说意义重大,因为终于可以使用关系型数据库了,可以join了,可以无限制地使用事务了,对索引和字段有更多的控制了,可以运用自己早已掌握的关系数据库理论知识和经验了。
而和Datastore一样,Google Cloud SQL也无需开发者维护。
同时,它还是个web服务。尽管目前还只能通过Google App Engine和一些工具来访问,但未来可能对外提供REST接口。
值得一提的是,目前它还处于Limited Preview阶段,在2011年是完全免费的,并且在收费前会提前30天通知。

GAE将支持一个事务中涉及多个实体组

标签:Google App Engine

GAE的datastore有个很严重的限制:一个事务只能处理一个实体组。原因就是实体组被当成单个实体来处理,它会有个版本号,在提交事务时通过检查版本号来确定事务是否成功。
这简化了分布式数据库的事务处理难度,却给开发者留下了一个2难的问题:想要使用事务,实体之间就需要紧密地关联起来;而关联的实体太多,又很容易引起事务冲突,导致提交失败。

之前我也说过用分布式事务来解决这个限制的办法,不过毕竟不太方便。而如今它终于要被解决了:GAE团队的proppy发了一个《Google App Engine multi-entity-group transactions testing》表单,使用HR数据库的可以去申请测试资格了。

不得不说,Google的员工还是很对GAE很有信心的…

Google App Engine即将从预览版毕业

标签:Google App Engine

今天收到一封Google App Engine发来的信,标题为《Google App Engine Leaving Preview》。发布3年后,Google App Engine也即将于九月的下半月进入正式版了,比起那个beta了5年的Gmail,或许算是快的了。

GAE SDK 1.5.2版发布

标签:Google App Engine

今早起来发现GAE SDK 1.5.2版发布了,不过工作太忙就无暇顾及了,于是现在补上更新列表:

  • 可以在管理员控制台的Application Settings页面里设置最大空闲实例数和最小等待时间。
  • 索引中有重复字段的不会再报索引爆炸的警告。
  • SDK支持并行的数据库事务。
  • Datastore的stats API支持按namespace查询。
  • 管理员控制台的Task Queues页面可以显示请求头、过去的运行信息和任务的payload。
  • Pull queue可以用modify_task_lease()来修改lease(租期和任务数)。
  • Pull Task的最大尺寸增加到1MB。
  • 可用appcfg.py的"backend configure"指令来修改backend instances数目,而无需先停止instances。
  • Mail API可设置References和In-Reply-To头。
  • SDK的APPLICATION_ID环境变量将含dev~前缀。获取app id的推荐方式是用appidentity.get_application_id()。可以使用--default_partition参数来修改这个前缀(后面会附加一个“~”符号)。
  • Deferred API的defer()可接收_target参数,用于指定应用的version或backend。
  • db.Model增加to_dict()实例方法。
  • Images API增加get_original_metadata()方法来获取图像的EXIF信息。
  • db.py增加@transactional装饰器,用于标注一个函数用于执行事务。

此外,Go SDK的进展很慢,看上去还是个玩具…

Google Reader API简介

标签:Python, RSS, Google Reader

Google Reader是我最喜欢的web服务,可惜在iPhone上没有一个我理想中的客户端,所以只好自己动手丰衣足食了。
而开发的第一步自然就是搞定Google Reader API,可惜Google一直没有放出官方文档。所幸的是前人已经通过反向工程探寻出了相关信息(GoogleReaderAPIUnofficial Google Reader APIgoogle reader api 介绍Using the Google Reader APIGReader-Cocoa等),所以不用自己去一一摸索了。
不过文档有点老了,这期间Google也稍微改了一些东西,所以还需要稍作修正。

« 看看还有什么好玩意