Hi Cristian,

The limitation of transaction per entity group is not a limitation but
a feature: it keeps transaction mechanisms much simple (remote unit of
work instead of distributed unit of work -> more reliable) and so
allows for much better throughput and performances

Playing with tasks in transactions allows to reach a pseudo-
transactionnality between entities of different groups you  schedule a
task per entity group beyond the initial one. They eventually get
executed, so you reach same database state but with some delay in
time. In this delay, your database may look inconsistent for other
clients depending on your semantics.

regards
didier

On Oct 22, 9:31 am, Nicanor Babula <nicanor.bab...@gmail.com> wrote:
> Thanks guys for your answers. I really appreciate that. Anyway, in
> order to avoid other problems and performance issues, I changed the
> structure of my database so that I will be able to do the transactions
> I want. Unfortunately the fact that a transaction is limited to
> entities of the same entity group is a pretty annoying limitation. I
> hope they will fix that some day...
>
> Thank you all.
>
> Cristian Babula
>
>
>
> On Thu, Oct 21, 2010 at 10:19 PM, Ian Marshall <ianmarshall...@gmail.com> 
> wrote:
> > I guess that the limit is enormous. (That doesn't help you since you
> > want to actually know!)
>
> > Of course, you can only add entities to your entity group at a certain
> > rate of transactions per unit time. This is a constraint on how the
> > number of entities in any given entity group increases over time.
>
> > On Oct 21, 5:31 pm, Didier Durand <durand.did...@gmail.com> wrote:
> >> Hi,
>
> >> 1 info that is important to reach the value for  this max number (if
> >> it exists) is the size of the entities: the bigger they are, the
> >> faster you will occupy the bandwith between the BigTable server and
> >> the processing server.
>
> >> So, if you want to go fast, you have to spread entities among many
> >> servers: see the end of this paper to see the trade-offs 
> >> ->http://labs.google.com/papers/bigtable.html
>
> >> didier
>
> >> On Oct 21, 5:00 pm, "nicanor.babula" <nicanor.bab...@gmail.com> wrote:
>
> >> > Thank you all for your responses.
> >> > @alesj
> >> > No, I am not confusing entity "group" with the actual entities stored
> >> > in the datastore.
>
> >> > @Ian Marshall
> >> > Actually no, because I already did that kind of analysis.
>
> >> > I have to use transactions in order to maintain data consistency and
> >> > therefore I have to define the right entity groups. I already thought
> >> > of a solution, just that I have read in the docs that is not
> >> > recommended to put too many entities in an entity group. So: What is
> >> > the number of child entities a parent entity can have, past which the
> >> > datastore becomes slow? Hundreds? Thousands? Millions?
> >> > I also understand that all entities in an entity group are stored on
> >> > the same node of the datastore's distributed system and therefore I
> >> > understand that if the number of entities an entity group has is too
> >> > big, the queries will become slow, because will be processed by a
> >> > single node. Right?
> >> > Again: Which is that number?
>
> >> > Thanks and sorry if I bored you with my long email. ;)
>
> >> > On 21 Ott, 14:59, Ian Marshall <ianmarshall...@gmail.com> wrote:
>
> >> > > How about my comments below?
>
> >> > >http://www.google.com/url?url=http://groups.google.com/g/f907f736/t/f...
>
> >> > > Do they help you?
>
> >> > > On Oct 20, 6:39 pm, "nicanor.babula" <nicanor.bab...@gmail.com> wrote:
>
> >> > > > Hi everbody,
>
> >> > > > I have a question regarding the datastore best-practices.
>
> >> > > > The appengine's official documentation says that is not a good
> >> > > > practice to put too many entities in the same entity group. What does
> >> > > > "too many" mean in this case? Hundreds? Thousands? Milions?
>
> >> > > > Thanks in advance,
> >> > > > Cristian Babula.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Google App Engine for Java" group.
> > To post to this group, send email to google-appengine-j...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine-java+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Cristian Babula

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to