Hi:

I've read this complete thread, and am responding to the first post on
the thread.

On 3/3/07, Bryan Davis <[EMAIL PROTECTED]> wrote:
What persistence manager are you using?


OraclePersistenceManager


This problem isn't as noticeable when you are using embedded Derby and
reading/writing to the file system, but when you are doing a network
operation to a database server, the network latency in combination with the
serialization of all database operations results in a significant
performance degradation.


The new bundle persistence manager (which isn't yet in SVN) improves things
dramatically since it inlines properties into the node, so loading or
persisting a node is only one operation (plus the additional connection for
the LOB) instead of one for the node and and one for each property.  The
bundle persistence manager also uses prepared statements and keeps a
PM-level cache of nodes (with properties) and also non-existent nodes (which
permits many exists() calls to return without accessing the database).


Hmm... are you saying that it's possible to have better results as
compared to what I've reported at
http://permalink.gmane.org/gmane.comp.apache.jackrabbit.user/2436 ?

There is a persistence manager with an ASL license called
"DataSourcePersistenceManager" which seems to the PM of choice for people
using Magnolia (which is backed by Jackrabbit).  It also uses prepared
statements and eliminates the current single-connection issues associated
with all of the stock db PMs.  It doesn't seem to have been submitted back
to the Jackrabbit project.  If you Google for
"com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager" you
should be able to find it.


Ack. I'll go download the magnolia source. I tried doing so just now
but I got a page not found. I'll try again later, and write to the
webmaster at magnolia if required.

Finally, if you always use the Oracle 10g JDBC drivers, you do not need to
use the Oracle-specific PMs because the 10g drivers support the standard
BLOB API (in addition to the Oracle-specific BLOB API required by the older
9i drivers).  This is true even if you are connecting to an older database
server as the limitation was in the driver itself.  Frankly you should never
use the 9i drivers as they are pretty buggy and the 10g drivers represent a
complete rewrite.  Make sure you use the new driver package because the 10g
driver JAR also includes the older 9i drivers for backward-compatibility.
The new driver is in a new package (can't remember the exact name off the
top of my head).


Oh. Thanks for this information. I'll look up this and ensure that I
use the Oracle 10g drivers.

Bryan.

-- Sriram

Reply via email to