2011-04-24 87 views
0

我打算用Django开发一个Web应用程序。 Google App Engine(GAE)似乎是一个很好的开始。可扩展性是我的强大功能。我们可以使用Google App Engine而不使用他们的数据API吗?

但是从研究来看,似乎使用GAE的API(如Database API)抛出了比预期更多的问题。

我的问题是,我们可以使用GAE与我们自己的数据库,如MySQL?

+0

“似乎使用GAE的API(如数据库API)抛出比预期更多的问题。” - 你在做什么?链接?裁判? – 2011-04-24 03:39:38

回答

7

如果您不使用App Engine数据存储,那么您可以告别可扩展性。实际上,系统之所以使用NoSQL数据库,如Bigtable,是因为MySQL和其他RDBMS 的规模不是。这是权衡。现在,如果您可以告诉我们您遇到了哪些问题,也许我们可以为您“修复”它们,这样您就可以利用其可扩展性。

但是,如果你真的宁愿换“可扩展&非关系型”为“不可扩展&关系,”督察你必须 SQL,然后留意的托管云的MySQL兼容的解决方案,即将推出,并在这里暗示:

http://googlecode.blogspot.com/2010/05/announcing-google-app-engine-for.html

http://code.google.com/appengine/business/

一个更更好解决方案来自一个事实,你的应用程序是Django的。你应该强烈考虑使用Django-nonrel。它是Django的一个分支,它允许它在NoSQL数据库之上运行,比如MongoDB,基于App Engine的基于Bigtable的数据存储和(即将推出的)Cassandra。你使用Django的ORM接口,甚至不用担心使用App Engine的Datastore API,因为它全部都会被抽象出来。读/观看更多关于Django的nonrel以及如何你与App Engine在这里使用它:

http://www.allbuttonspressed.com/projects/django-nonrel

http://code.google.com/appengine/articles/django-nonrel.html

http://us.pycon.org/2011/schedule/presentations/237/

0

如果你想使用GAE,你必须使用它原样。最近我读了许多关于新功能的公告,但它仍然是一个沙箱。

如果您希望自由选择自己的堆栈,请考虑Amazon EC2(我知道这些日子还没有很好考虑)或Rackspace。

Django也有一些类似Heroku的服务,但是它们都太年轻了。

相关问题