I'm looking for some high level ideas on how to design a datastore for
a Facebook application.

In this app a user can collect widgets.
I'd like to be able to show a user lists of the widgets owned by their
friends - something like:

q = db.GqlQuery("SELECT * FROM Widget WHERE owner IN ( <friendlist> )
and <other filter criteria> ")

The problem with this approach is that friendlist can only have 30
entries.

Since the Facebook TOS  don't allow you to store the friend list (for
more than 24 hours anyway), it seems like the options here are pretty
limited.

Some of the ideas I've been considering are:
1) divide into 30 friend chunks & make (potentially) lots of datastore
calls.
2) Combine #1 with some cron jobs that do the datastore calls &
populate memcahed with the results.
3) Use a clever design that allows you to formulate the query in such
a way that you don't hit 30 entry limit on "in" clauses

Any thoughts?

Thanks -
Hugh

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to