Yes. You can compact those later but it doesn't really matter. You will
never read the full MessageIndex entities, as you will be doing key only
queries on them.

- alkis


2010/6/15 Harshal <[email protected]>

> So essentially you are suggesting to create new MessageIndex per Message
> per subscriber. In case we happen to have 10000 subscribers, for every
> message that is posted we would create 10000 MessageIndex entities. Is that
> what you suggesting?
>
>
>
> 2010/6/16 Alkis Evlogimenos ('Αλκης Ευλογημένος) <[email protected]>
>
>>  Yes you can scale further. I think it is mentioned in the talk as well.
>>
>> Make MessageIndex a child of Message.
>> Add multiple MessageIndex entities per Message.
>>
>> What I would do is create a new MessageIndex per Message on each
>> subscriber. Then a cron job would periodically compact the MessageIndexes to
>> maximize the number of subscribers in each of them.
>>
>> - alkis
>>
>>
>> On Tue, Jun 15, 2010 at 10:51 PM, Harshal <[email protected]> wrote:
>>
>>> Thanks for that info. I had seen it before posting here. The way
>>> suggested there is,
>>>
>>> class Message(db.Model):
>>>
>>>   sender = db.StringProperty()
>>>
>>>   body = db.TextProperty()
>>>
>>> class MessageIndex(db.Model):
>>>
>>>   receivers = db.StringListProperty()
>>>
>>> If this is the best we can do, then aren't we limiting no.
>>> of receivers in list to maximum 5000? so we improved from my original model
>>> where only 30 was possible to 5000. Is there a way to scale up further? or
>>> are we hitting the glass ceiling  ?
>>>
>>> Another thing that comes to mind is, every time a new message is created
>>> do we need to create 5000 (assuming 5000 entries in receivers list) new
>>> instances in form of children of new Message entity?
>>>
>>>
>>>
>>> On Wed, Jun 16, 2010 at 1:01 AM, Edward Smith <[email protected]>wrote:
>>>
>>>> Check out this talk from IO 2009 - I believe it addresses your problem
>>>> using a "twitter"-like example.
>>>>
>>>> --
>>>> 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]<google-appengine%[email protected]>
>>>> .
>>>> 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 [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-appengine%[email protected]>
>>> .
>>> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-appengine%[email protected]>
>> .
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine%[email protected]>
> .
> 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 [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.

Reply via email to