Slice is a plug-in extension for OpenJPA to work with
horizontally-partitioned, distributed databases. 
The plug-in is now available at
   http://people.apache.org/~ppoddar/slice/site/

The salient features are:
1. No code change is required for the user domain model or the application
to upgrade from a single   database to a set of distributed databases, or
slice as we call them.

2. Each slice can be configured in META-INF/persistence.xml with its own
URL, database driver or other connection parameters. 

3. The query and flush operations are executed in parallel across multiple
databases.

4. A user-defined Distribution Policy determines which slice will persist a
new instance. For existing instances, Slice remembers the original database
slice and hence commits any update to the appropriate database. 

5. No relationship is supported across databases. For example, if Person P1
has Address A1, then both P1 and A1 must reside in the same database slice.
While Person P2 and its related Address A2 can reside in a different slice.
In O-R mapping terms, the closure of any object graph must be collocated in
the same database slice. This is referred as collocation constraint. 

6. The good news is, DistributionPolicy only require to determine the slice
for the 'root' instance i.e. the instance which is the given argument to
persist() call. All other instances reachable from a root instance are
automatically assigned to the same slice by the implementation. 
-- 
View this message in context: 
http://www.nabble.com/Slice%3A-extension-of-OpenJPA-for-distributed-databases-tp14516694p14516694.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to