GAE 可移植性架构选型及django-nonrel简介

最近在考虑做GAE应用,可移植性是个麻烦事,我们看中GAE更易维护,更低成本,但如果应用发展到GAE不能满足需求时,我们希望移植到非GAE server上的时候,就会遇到麻烦。所以,可移植性是GAE应用的关键。

因为GAE使用自己的datastore技术,所以GAE app移植的关键在ORM的移植。

其实这个麻烦也同样存在于RDBMS想NOSQL的移植。

我想起了ruby-conf-china 2010时,老庄的演讲,一个ActiveRecord的Middleware(实在不知道怎么描述,哪位擅于表达的指正一下),可以让Rails的特性毫无改变的运行于一个nosql的db之上。

Ruby圈最流行的web框架时Rails,ORM是Rails的ActiveRecord。 Python圈自然是Django了,ORM则是Django ORM。

说了这么多,主角要登场了。那就是 [url=http://www.allbuttonspressed.com/projects/django-nonrel]django-nonrel[/url], 顾名思义,就是 django none relationship,非关系型的django。django-nonrel只是一层adapter。若要使其工作,还需要特定的backend。对于GAE,我们需要下载 [url=http://www.allbuttonspressed.com/projects/djangoappengine]djangoappengine[/url],——the App Engine backend for Django-nonrel。如果是mongodb,我们需要下载[url=http://github.com/aparo/django-mongodb-engine]django-mongodb-engine[/url]: the MongoDB backend for Django-nonrel。

如果这个项目进展顺利的话,pythoner的nosql体验就会更加享受了,appengine开发,也同样会更加接近非GAE环境。

但在下对于django-nonrel有点小小的意见,这个项目更应该作为一个django的patch发布。但作者却选择了将所有django代码塞在了项目中,直接在django代码上操刀,这无疑会给开发者带来困扰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值