Ard, 2 seconds for looking up one path.
I'll try out that bundle cache configuration because it makes sense about the DB reoundtrips. Thanks. On Wed, Nov 20, 2013 at 10:15 PM, Ard Schrijvers <[email protected]>wrote: > Op 20 nov. 2013 20:40 schreef "Enrique Medina Montenegro" < > [email protected]> het volgende: > > > > Bertrand, > > > > Your algorithm is exactly the approach I followed, but I noticed a > decrease > > in performance as the import was progressing, with response times to just > > lookup the exact path (i.e. session.getNode("/marks/XXX/YYY")) above 2 > > You mean 2 seconds for looking up one path? Or you mean for looking up a > different path for 500 times? Either way, once you go for more hierarchy, > make sure you set the bundle caches high otherwise you'll get many database > roundtrips and then performance is gone > > Regards Ard > > > seconds, even when calling Session.save() every 1000 or 500 or 100 > > records... > > > > Using Jackrabbit 2.7.0 btw, because it's the only one working with Spring > > Modules for JCR 0.8b > > > > Salu2, > > Quique. > > > > > > On Wed, Nov 20, 2013 at 8:34 PM, Bertrand Delacretaz < > [email protected] > > > wrote: > > > > > Hi, > > > > > > On Wed, Nov 20, 2013 at 7:39 PM, Enrique Medina Montenegro > > > <[email protected]> wrote: > > > >...at the practical level, > > > > when I dump the 1M marks from the DB into JCR, for each an every > "mark" > > > it > > > > has to lookup the path in the tree where to ultimately store the > "mark", > > > > and this lookup starts to take orders of seconds as the tree > structure > > > > grows, making the full extraction process from the DB too slow for > our > > > > requirements.... > > > > > > If import according to the following scenario the performance should be > > > linear: > > > > > > for each DB record > > > compute path of JCR node > > > for each level of that path (below storage root) > > > create node if not created yet > > > set properties if on the data node at the end of the path > > > > > > and you probably want to call Session.save() every N records (N=1000 > maybe) > > > > > > -Bertrand > > > >
