Re: [google-appengine] Persisting Lists

2011-08-03 Thread Bruno Sandivilli
So, if an user X adds and User Y, the user Y will become an ancestor of X ? And if the user Y adds the user W too, so user X will have two ancestors(???) ? Any code snippets will be greatful. Thanks again, for the help guys. 2011/8/2 MiuMeet Support r...@miumeet.com By the way, have a look at:

Re: [google-appengine] Persisting Lists

2011-08-03 Thread Ernesto Oltra
Sorry, but I don't use Java. I will give you the Python version, it's pretty straight forward. As I said before, any improvements in my design or code will be welcome =) class User(Model): # for easy of use, i will consider user_id as the key name of the entity name, email, etc

Re: [google-appengine] Persisting Lists

2011-08-03 Thread Robert Kluin
Reference properties are a completely separate idea from entity groups (ie ancestor / parent - child relationships). Reference properties simply store a key; that key can be used to fetch the other entity. They can be changed to point at a different entity as often as you like. An entity's

Re: [google-appengine] Persisting Lists

2011-08-02 Thread MiuMeet Support
By the way, have a look at: http://devblog.miumeet.com/2011/08/much-more-efficient-implementation-of.html It's much more efficient than db.ListProperty(int) Cheers, -Andrin On Thu, Jul 28, 2011 at 6:17 PM, Pascal Voitot Dev pascal.voitot@gmail.com wrote: good idea also :) On Wed, Jul

Re: [google-appengine] Persisting Lists

2011-07-28 Thread Bruno Sandivilli
Thanks! I wall implement this and test to see the results, in performance. I'll try to post the results here for the information of all. Thanks again, i'm thinking that Objectify is not a good idea for this, so i will have to rewrite dome things. 2011/7/27 Ernesto Oltra ernestoka...@gmail.com I

Re: [google-appengine] Persisting Lists

2011-07-28 Thread Pascal Voitot Dev
good idea also :) On Wed, Jul 27, 2011 at 7:17 PM, Ernesto Oltra ernestoka...@gmail.comwrote: And for followers, you could too shard the lists. You can have several entities, each with, about 100 results or so (or 1000, or 2000, I prefer 100 for easy of serializing/deserializing). All these

[google-appengine] Persisting Lists

2011-07-27 Thread Bruno Sandivilli
Hi, i'm modeling a social network, i use to create a table with the relations like (userid,friendid) but in nosql, im planning to simple add a list of id to each user, like User { ListInteger firends }. Is this wrong(it works, but and the performance) ? -- You received this message because you

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Pascal Voitot Dev
Hi, You can look at this post on stackoverflow to have a few more info! The most known issues are: - the limit of 5000 elements per list - the famous index explosion issue (last GAE version tells that index explosion won't happen but I don't know exactly what it means) Pascal On Tue, Jul 26,

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Bruno Sandivilli
Ok, thanks! This is not a proble since facebook have this limit too. But for Followers a have to implement some workarround for this(since followers is a more big number); Any ideas? Thanks 2011/7/27 Pascal Voitot Dev pascal.voitot@gmail.com Hi, You can look at this post on stackoverflow

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Pascal Voitot Dev
You could copy the followers (a very light entity) as child entities of your parent! In this way, followers and parent user will be in the same entity group and can be retrieved in the same transaction! But you can't retrieve more than 1000 entities in a single request so you need to manage

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Ernesto Oltra
A little correction, you could fetch more than 1000 results (the limit has been disposed time ago) but it's not recommendable have more than 200/300 results (more or less, for perfomance). I strongly recommend you seeing this video about ListProperty, fan-outs, etc (Google I/O 2009):

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Ernesto Oltra
And for followers, you could too shard the lists. You can have several entities, each with, about 100 results or so (or 1000, or 2000, I prefer 100 for easy of serializing/deserializing). All these would have the user as ancestor. When listing, take only one entity, deserializing its lists

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Bruno Sandivilli
Ok, Thanks! I catch it. This solved my problem I was wondering , this is ok for listing users and etc, but the hard thig is, when the user post a message i will have to send this message to 200.000 users. How would i select this users to append this feed into their profiles? Thanks again.

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Ernesto Oltra
Wow... so many users.. Perhaps asking the Google+ guys.. =) The only idea I have right now, is use taskqueues (or in the same request, it depends on latency) to create a «notification», referencing the post, and the users. Then, list the most recents notifications for the user. Delete the old

Re: [google-appengine] Persisting Lists

2011-07-27 Thread Ernesto Oltra
I thought one thing and I said something completely differente -.-' I meant having a model, with the same key_id/key_name as the post and a list of users (say 4000/4500). When that super-start with 200.000 followers post something, run a taskqueue and save several models with the info. Then,