[appengine-java] Number of writes per second limitation

2011-11-03 Thread J.Ganesan
I have about 4000 objects to be persisted in a single request. These
4000 objects involve 5 entities, all in single entity group. Please
clarify whether  the following code violates the number of writes per
second ( which is 5, I think) rule.

public void save( Object[] savableObjectArray) //
savableObjectArray.length = 4000
{
  // begin transaction

   for( Object object : savableObjectArray  )
   {
  // depending on the type of object, pick an existing entity.
  // There are only 5 entities.
  // set properties in the existing entity.

  datastoreService_.put( oneOfTheFiveExistingEntity ) ; // called
4000 times per request.

  // for a reason not apparent in the code, batch put is not
possible.
   }

  // end transaction
}

No indexing is to be done. I am not worried about performance. My
concern is only about persistence.

J.Ganesan

-- 
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-java@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.



Re: [appengine-java] Number of writes per second limitation

2011-11-03 Thread Ikai Lan (Google)
I'm confused ... an Object[] array? This is bad for a ton of reasons.
Calling put() 4000 times in a single request is just bad for a lot of
reasons.

I'm not sure I understand what problem you are trying to solve. Can you
explain so we can help you put together a better solution?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Thu, Nov 3, 2011 at 8:13 AM, J.Ganesan j.gane...@datastoregwt.comwrote:

 I have about 4000 objects to be persisted in a single request. These
 4000 objects involve 5 entities, all in single entity group. Please
 clarify whether  the following code violates the number of writes per
 second ( which is 5, I think) rule.

 public void save( Object[] savableObjectArray) //
 savableObjectArray.length = 4000
 {
  // begin transaction

   for( Object object : savableObjectArray  )
   {
  // depending on the type of object, pick an existing entity.
  // There are only 5 entities.
  // set properties in the existing entity.

  datastoreService_.put( oneOfTheFiveExistingEntity ) ; // called
 4000 times per request.

  // for a reason not apparent in the code, batch put is not
 possible.
   }

  // end transaction
 }

 No indexing is to be done. I am not worried about performance. My
 concern is only about persistence.

 J.Ganesan

 --
 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-java@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.



-- 
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-java@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.