There are three very good sources of information about how to model
stuff in the data store.  This group is one place,
I would also suggest reading this:
   http://code.google.com/appengine/articles/modeling.html
And watching this:
   
http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine

As far as you specific question goes, how do you want to use the list
of friends?  Are you planning to just put a monster list of everyone
you know and everyone they know?  Are you going to make the list
paged, browseable, or searchable?

I am sure I have seen some presentations / discussions related to
modeling "networks" using the GAE and the datastore, but I can not
find them at the moment.


Robert






On Sun, May 23, 2010 at 2:37 PM, MahatmaManic <mahatmama...@gmail.com> wrote:
> I feel kind of silly about this, but I'm having trouble wrapping my
> head around quite the right way to do something with the GAE
> datastore. I think I know how I would do it with a classic relational
> database, but...
>
> I've got a model for a "user" which has a key_name of the user's id #.
> One of the things I would like a user to be able to have is a list of
> friends, which would be other users in the store. I'd like to have a
> way to calculate a user's list of friends and friends-of-friends
> efficiently.
>
> I think in a traditional DB I would have a "friendship" table with a
> user1 and user2 column, into which I'd first make a query for any
> entries with columns matching my user's ID and take all the "other"
> IDs to be my user's friends, then feed those back in for a second
> round to get friends-of-friends. Then again I'm mostly a client guy
> and what I just described may cause server/db people to weep or laugh
> uncontrollably ;)
>
> That said, I am just not clear on how I should be doing this with the
> GAE datastore. I have some inkling that maybe I should be using a list
> property to track a user's friends, and then do a query for all the
> friends with ids that are in that list, and creating a Set of all
> THEIR friend lists to get friends-of-friends? Am I thinking about this
> the right way, or am I way off base? If that is correct am I going to
> run into any result-limit/performance landmines if a user has a couple
> hundred friends? If I'm way off base can anyone point the way?
>
> I was never much good with DBs, and now it seems the small bits of
> knowledge I've managed to scrape together are mostly useless, so any
> advice folks can provide would be much appreciated.
>
> Thanks!
>
> --
> 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-appeng...@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.
>
>

-- 
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-appeng...@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