Take a read through this http://groups.google.com/group/google-appengine-java/browse_thread/thread/4298b7f54f1b58db/ddfabdb64110effc?q=
On May 24, 1:43 am, MahatmaManic <mahatmama...@gmail.com> wrote: > Big monster list! My app allows users to send requests to their > "network" which I am arbitrarily defining as 1st and 2nd degree > relationships. I assume I don't want to store it as a big monster list > for each user, but I do need to build it as efficiently as possible on > the fly. Thanks for the resources I will do some watching and reading, > and if you have any more advice I'm happy to soak it in :) > > Cheers > Ian > > On May 23, 10:40 pm, Robert Kluin <robert.kl...@gmail.com> wrote: > > > > > > > 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-wi... > > > 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 > > > athttp://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 > > athttp://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 > athttp://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.