我打算用Django開發一個Web應用程序。 Google App Engine(GAE)似乎是一個很好的開始。可擴展性是我的強大功能。我們可以使用Google App Engine而不使用他們的數據API嗎?
但是從研究來看,似乎使用GAE的API(如Database API)拋出了比預期更多的問題。
我的問題是,我們可以使用GAE與我們自己的數據庫,如MySQL?
我打算用Django開發一個Web應用程序。 Google App Engine(GAE)似乎是一個很好的開始。可擴展性是我的強大功能。我們可以使用Google App Engine而不使用他們的數據API嗎?
但是從研究來看,似乎使用GAE的API(如Database API)拋出了比預期更多的問題。
我的問題是,我們可以使用GAE與我們自己的數據庫,如MySQL?
如果您不使用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
如果你想使用GAE,你必須使用它原樣。最近我讀了許多關於新功能的公告,但它仍然是一個沙箱。
如果您希望自由選擇自己的堆棧,請考慮Amazon EC2(我知道這些日子還沒有很好考慮)或Rackspace。
Django也有一些類似Heroku的服務,但是它們都太年輕了。
「似乎使用GAE的API(如數據庫API)拋出比預期更多的問題。」 - 你在做什麼?鏈接?裁判? – 2011-04-24 03:39:38