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 stefan
Date Wed, 14 Dec 2005 14:31:48 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 stefan:
http://wiki.apache.org/jackrabbit/PersistenceManagerFAQ

------------------------------------------------------------------------------
  A PM should not be 'intelligent', it should not 'interpret' the data. The only thing it
should care about is to efficiently, consistently and reliably store and read the data encapsulated
in the passed nodeState & propertyState objects. Though it might be feasible to write
a custom persistence manager to represent existing legacy data in a level-1 (read-only) repository,
I don't think the same is possible for a level-2 repository and i certainly would not recommend
it.
  
  === What combination of FS and PM is the best choice? ===
- It depends on your priorities. If you want to store your data in an accessible format (just
in case ;), you might want to try XML PM + localFileSystem. If you use windows and performance
is a must, you might want to try objectPersistenceManager + cqfs.
+ It depends on your priorities. If you want to store your data in a RDBMS, use SimpleDbPersistenceManager
+ either LocalFileSystem or DbFileSystem. If you want to store your data in an accessible
format (just in case ;), you might want to try XMLPersistenceManager + LocalFileSystem. If
you use windows and performance is a must, you might want to try ObjectPersistenceManager
+ CQFileSystem.
  
  === Which are the current options? What are the status, pros and cons of each implementation?
===
  
- === objectPersistenceManager ===
+ === SimpleDbPersistenceManager (and subclasses thereof) ===
   * Status: mature
-  * Simple
-  * Not human readable
-  * An inconsistency is hard to fix without a tool
+  * the jackrabbit default persistence manager
+  * JDBC based
+  * zero-deployment, schema is automatically created
+  * transactional
+ 
+ === ObjectPersistenceManager ===
+  * Status: mature
+  * persists data in an abstract FileSystem using a simple binary serialization format
   * easy to configure
-  * Write operations are synchronized 
   * if the jvm process is killed the repository might turn inconsistent
   * non transactional
  
- === xml persistenceManager ===
+ === XMLPersistenceManager ===
   * Status: mature
-  * not so simple but human readable
+  * persists data in an abstract FileSystem using XML serialization format
+  * not meant to be used in production enviroments
   * easy to configure
-  * Write operations are synchronized 
   * if the jvm process is killed the repository might turn inconsistent
   * non transactional
  
- === ORM persistenceManagers ===
+ === ORMPersistenceManager ===
-  * Status: work in progress
+  * Status: experimental & unfinished, still being maintained?
   * Not so simple
   * transactional
-  * rdbms referencial integrity (possible, but not implemented yet)
+  * rdbms referential integrity (possible, but not implemented yet)
   * not so easy to configure.
-  * Multithreaded friendly. Write operations don't need to be synchronized. 
  
- === localFileSystem: ===
+ === LocalFileSystem: ===
   * Status: mature
   * Slow on window boxes
  
+ === DbFileSystem: ===
+  * Status: mature
+  * meant to be used in combination with SimpleDbPersistenceManager as repository & workspace
file system 
+ 
- === CQFS file system ===
+ === CQFSFileSystem ===
   * Status: mature
   * Mysterious configuration options ;)
   * Mysterious proprietary binary format ;)

Mime
View raw message