jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jackrabbit Wiki] Update of "PersistenceManagerFAQ" by ThomasMueller
Date Thu, 20 Sep 2007 07:23:25 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The following page has been changed by ThomasMueller:
http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ

------------------------------------------------------------------------------
  === What's a PM? ===
  The PM is an *internal* Jackrabbit component that handle the persistent storage of content
nodes and properties. Each workspace of a Jackrabbit content repository uses a separate persistence
manager to store the content in that workspace. Also the Jackrabbit version handler uses a
separate persistence manager. The PM sits at the very bottom layer in jackrabbits system architecture.

  Reliability, integrity and performance of the PM are *crucial* to the overall stability
& performance of the repository. If e.g. the data that a PM is based upon is allowed to
change through external means the integrity of the repository would be at risk (think of referential
integrity / node references e.g.).
+ 
+ === Which Persistence Manager is the fastest? ===
+ The bundle persistence managers are usually the fastest:
+  * org.apache.jackrabbit.core.persistence.bundle.Bundle``Fs``Persistence``Manager (file
system, no database)
+  * org.apache.jackrabbit.core.persistence.bundle.Derby``Persistence``Manager (Apache Derby;
Java)
+  * org.apache.jackrabbit.core.persistence.bundle.H2``Persistence``Manager (H2 Database Engine;
Java)
+  * org.apache.jackrabbit.core.persistence.bundle.My``Sql``Persistence``Manager (MySQL)
+  * org.apache.jackrabbit.core.persistence.bundle.Postgre``SQLPersistence``Manager (PostgreSQL)
+  * org.apache.jackrabbit.core.persistence.bundle.MSSql``Persistence``Manager (MS SQL Server)
+  * org.apache.jackrabbit.core.persistence.bundle.Oracle``Persistence``Manager (Oracle 10
or newer)
+  * org.apache.jackrabbit.core.persistence.bundle.Oracle9``Persistence``Manager (Oracle 9)
+  * org.apache.jackrabbit.core.persistence.bundle.Bundle``Db``Persistence``Manager (generic
database)
+ Storing the data in the file system does not require a database. When using a database,
please note that embedded Java databases do not have network overhead.
  
  === What's the PM responsibility? ===
  The PM interface was never intended as being a general SPI that you could implement in order
to integrate external datasources with proprietary formats (e.g. a customers database). the
reason why we abstracted the PM interface was to leave room for future performance optimizations
that  would not affect the rest of the implementation (e.g. by storing the raw data in a b-tree
based database instead of individual file).

Mime
View raw message