[appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-24 Thread Guillermo Schwarz
Ikai, Maybe you are right. Maybe not. I'm not an expert in datastore internals, but here is my point of view. This paper claims that Berkeley DB Java edition can insert about 15,000 records per second. http://www.oracle.com/database/docs/bdb-je-architecture-whitepaper.pdf The graphic is on page

[appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-24 Thread Guillermo Schwarz
I think we can safely assume that the programmer was trying to speed up things a little by writing 12 thousand objects in a single operation. Now if that gets to be faster or slower than writing each object separately, it is a matter of the internal implementation of the data store. I prefer to do

[appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-24 Thread Larry Cable
my experience with a relatively simple application via JDO makePersistentAll() was that I got DataStore Operation Timeout exceptions with batch sizes of approx 200-300 objects ... On Feb 24, 1:48 pm, Guillermo Schwarz wrote: > I think we can safely assume that the programmer was trying to speed >

[appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread Guillermo Schwarz
I think there is a way to grab big chunks of oprations, put them in a queue to be done asynchronously and that would be it. My take would be that using proxies it would be easy to queue any long operation transparently. I've done that with EJBs in the past, I don't see the reason a QueingProxy cou

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-24 Thread Ikai L (Google)
Simple key-only writes can definitely do it, but there's a few places where you can introduce overhead: - serialization - network I/O - indexes My point wasn't necessarily that it wasn't possible. makePersistentAll does use a batch write, and there are definitely sites that can do 12,000+ writes

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-24 Thread Jeff Schnitzer
On Wed, Feb 24, 2010 at 1:06 PM, Ikai L (Google) wrote: > My point wasn't necessarily that it wasn't possible. makePersistentAll does > use a batch write, and there are definitely sites that can do 12,000+ writes > a second (and well above that), but I don't know of any that will attempt to > do t

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread Ikai L (Google)
Jeff, point taken, but the original poster has been asking for three different requirements: - requirement to do all writes synchronously - sub-some-couple-hundred-millisecond writes - 12k entities being written This just won't scale well if it's common. Messaging users can be done asynchronously

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread Jeff Schnitzer
I don't think the original poster had a requirement for synchronous writes; he just didn't want to do the writes asynchronously because it involved a lot more code. I'm also perfectly fine with asynchronous writes and a very lax interpretation of consistency. I don't even mind writing extra code.

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread margus pala
Hi I wrote importing geoip database in JSF. It has like 100k entries. Besides appengine and datastore performance is awful and importing took around 1,5h of total CPU its fairly easy to use TaskQueue. If there is above average processing to be done then i suggest separating task into smaller batch

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread Scott Hernandez
Guillermo, Taskqueue items can only be 10K (http://code.google.com/appengine/docs/java/taskqueue/overview.html#Quotas_and_Limits). The basic idea is that if you have more data than that you put it into an entity (in the data-store) and have the task pull it out and process it. It might be that you

Re: [appengine-java] Re: Can pm.makePersistentAll() help me write 12,000 objects?

2010-02-25 Thread Ikai L (Google)
We have an issue for an asynchronous write API for the datastore: http://code.google.com/p/googleappengine/issues/detail?id=2817 This is something that can fit into that model. On Thu, Feb 25, 2010 at 12:26 PM, Scott Hernandez wrote: > Guillermo, > > Taskqueue items can only be 10K > ( > http:/