The GAE DAL does not try to handle the 1000 fetch limit.  GAE apps
must be designed differently, meaning if you need more than 1000
results from a query, then probably what you were attempting to do is
not scalable.  Queries are O(#results), so you should keep your
queries small to make your requests fast.

Web requests should return results not compute results.

To compute results, you should use the 'appengine task queue' to
register webhook call-backs to perform aggregation offline like a map-
reduce job.  Then web requests are quick and just serve a short list
of answers.

As far as maturity, the GAE DAL driver has been used in production for
over a year in its current form, so it is stable.  Since then, Google
has added a Capability API, so you can now tell if the DB is in read-
only (maintenance) mode before attempting writes, which means you
could return a nice maintenance mode message to your users instead of
failing.  Also the GAE datastore can sometimes throw spurious
'Datastore Timeout Exceptions' which could be caught and then could
attempt exponential backoff and retry.

Appengine apps are designed differently, and those differences are
what allow GAE apps to scale horizontally.

Robin



On Sep 19, 7:28 am, hcvst <hcv...@googlemail.com> wrote:
> Hi,
>
> I am planning to deploy to GAE and should hopefully see quite a few
> users eventually.
> Does DAL's GAE support scale well? Will I run into the 1000 fetch()
> limit or is that handled
> under the hood for example?
> Should one rather handcraft the Datastore interface with let's say
> 1000 concurrent users or
> will web2py's DAL handle it and handle it efficiently?
> It would be great if someone knowledgeable in web2py's GAE support
> could restate GAE's
> "Best practices for writing scalable applications" 
> athttp://code.google.com/appengine/articles/scaling/overview.html
> in terms of web2py's DAL for GAE. It's a lot to ask for, I know, but
> it sure would be great :)
>
> Thanks,
> HC
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to