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 Fri, 25 Jan 2008 15:53:21 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

The comment on the change is:
update for release 1.4

------------------------------------------------------------------------------
  
  The `class` attribute of the Persistence``Manager element contains the fully qualified class
name of the persistence manager implementation class. The class must implement the `org.apache.jackrabbit.core.persistence.PersistenceManager`
interface and have an empty default constructor. String properties can be assigned using the
`param` elements according to the Java``Bean conventions.
  
- See also http://jackrabbit.apache.org/api/1.3/org/apache/jackrabbit/core/state/PersistenceManager.html
+ See also http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/core/state/PersistenceManager.html
  
  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)
- 
- Bundle persistence managers store each node together with all the properties as one unit.
Large binary properties are stored to the BLOBStore by default (or DataStore if configured).
Setting the minimum blob size for bundle persistence managers very high decreases the performance.
+ The bundle persistence managers are usually the fastest. Bundle persistence managers store
each node together with all the properties as one unit. Large binary properties are stored
to the BLOBStore by default (or DataStore if configured). Setting the minimum blob size for
bundle persistence managers very high decreases the performance.
  
  Storing the data in the file system does not require a database. Depending on the file system
and database, database persistence managers are sometimes slower and sometimes faster than
the Bundle``Fs``Persistence``Manager. When using a database, please note that embedded Java
databases do not have network overhead.
  
@@ -60, +49 @@

  
  === Which are the current options? What are the status, pros and cons of each implementation?
===
  
- === SimpleDbPersistenceManager (and subclasses thereof) ===
+ === Bundle Database PM ===
+  * Depending on the database, one of the following:
+    * 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)
   * status: mature (the default persistence manager)
   * JDBC based; zero-deployment: schema is automatically created
   * atomic
-  * fast
+  * very fast if used with DataStore or BLOBStore 
-  * http://jackrabbit.apache.org/api/1.3/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.html
+  * [http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.html
 BundleDbPersistenceManager]
+  * As of Jackrabbit 1.4, this persistence manager supports auto-reconnect to the database.
+  * As of Jackrabbit 1.4, the connection can be created using a JNDI Data Source as well.
To do that, the driver class name must reference a javax.naming.Context class (for example
javax.naming.Initial``Context), and the URL must be the JNDI URL (for example java:comp/env/jdbc/Test).
  
+ === Bundle File-System PM ===
+  * org.apache.jackrabbit.core.persistence.bundle.Bundle``Fs``Persistence``Manager
- === BundleDbPersistenceManager (and subclasses thereof) ===
-  * status: mature
-  * JDBC based; zero-deployment: schema is automatically created
-  * atomic
-  * very fast if used with DataStore or BLOBStore 
-  * http://jackrabbit.apache.org/api/1.3/org/apache/jackrabbit/core/persistence/bundle/BundleDbPersistenceManager.html
-  * As of Jackrabbit 1.4, this persistence manager supports auto-reconnect to the database.
-  * As of Jackrabbit 1.4, the connection can be created using a JNDI Data Source as well.
To do that, the driver class name must reference a javax.naming.Context class (for example
javax.naming.InitialContext), and the URL must be the JNDI URL (for example java:comp/env/jdbc/Test).
- 
- === BundleFsPersistenceManager ===
   * status: mature
   * very fast if used with DataStore or BLOBStore
-  * http://jackrabbit.apache.org/api/1.3/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.html
+  * [http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/core/persistence/bundle/BundleFsPersistenceManager.html
BundleFsPersistenceManager]
  
- === InMemPersistenceManager ===
+ === In-Memory PM ===
+  * org.apache.jackrabbit.core.persistence.mem.In``Mem``Persistence``Manager
   * status: mature
   * for testing and small (read-only) workspaces 
   * keeps all content in memory
   * a custom binary serializer is optionally used to load and store the persistent state
during initialization and shutdown of the persistence manager.
   * very fast
-  * http://jackrabbit.apache.org/api/1.3/org/apache/jackrabbit/core/persistence/mem/InMemPersistenceManager.html
+  * [http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/core/persistence/mem/InMemPersistenceManager.html
InMemPersistenceManager]
+ 
+ === Simple Database PM ===
+  * Subclasses of com.day.crx.core.persistence.db.Simple``Db``Persistence``Manager
+  * status: mature
+  * JDBC based; zero-deployment: schema is automatically created
+  * atomic
+  * fast
+  * [http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.html
SimpleDbPersistenceManager]
  
  === ObjectPersistenceManager ===
   * status: obsolete, mature

Mime
View raw message