I'm no expert, but I'd probably do something like: class Score(db.Model): player = db.UserProperty() game = db.StringProperty() points = db.IntegerProperty()
And set up a task queue to crunch through for friend rankings. On Apr 11, 3:01 am, Herbert <[email protected]> wrote: > hi all, > > suppose i have a network of 100k users, each of them have 100 friends. > they're all playing some games and have scores , i want to do two > rankings: 1. global ranking, 2. ranking of friends. how am i going to > design my datastore for this? > > can i do something like this? > > class User(db.Model): > uid = db.IntegerProperty() > score = db.IntegerProperty() > friends = db.ListProperty(int) > > since we don't have join, i'm thining of putting ids of friends in a > listProperty like above, learning from a GAE presentation that > listproperty gets inefficient at (or limited to) 1k entries, which i > think it's more than enough for my app. > > i think it's question of best practices for designing entities for GAE > without JOIN, yet i couldn't seem to find a discussion that nails what > i'm looking for. would be grateful if anyone could share some > thoughts. > > the appengine's been great! thanks all GAE team! > > Herbert -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
