Hi Pinaki,
It looks good --we've had to implement a similar functionality on top of
OpenJPA for our applications by maintaining multiple EMFs, it'd be great
to have this functionality built-in on OpenJPA. So in terms of
feasibility I'd say a definite yes. As for the current state of the
implementation, I'll try to refactor one of our apps to use Slice, test
it out and hopefully provide some feedback --though that may take a while.
Couple of questions/comments:
1- Section 2.1.2 of the manual suggests that once a root object is
persisted in a given slice, it's "bound" to that slice, i.e. further
updates on that object will always go that slice without consulting the
DistributionPolicy interface. However javadoc of that interface suggests
that it's invoked both for inserts and updates --which is the case (or
is my interpretation incorrect)?
2- Section 2.1.4 mentions "parallel execution" --I'm assuming not, but
does that imply any kind of thread-parallelism?
3- Sections 2.1.2 & 2.2.2 suggest that all lookups go to all slices and
results are merged. I assume this holds true for single-result lookups
as well (i.e. em.find() & em.createQuery().getSingleResult()). For
performance-conscious apps, it might be worthwhile to define a separate
(and optional) interface for choosing a specific slice based on pc type
and query parameters --obviously it's possible that a slice may not be
determined by that information in certain cases, where default behaviour
would be to hit all slices.
Regards,
Gokhan.
Pinaki Poddar wrote:
Hi,
I would like to add an extension of OpenJPA that allows an application
to transact against a set of distributed, possibly hetereogenous,
horizontally-partitioned databases [2]. The project is named as Slice
and is similar in scope to Hibernate Shards.
The development codebase so far been maintained in Apache Lab
repository and given its current state I propose to add the codebase to
a new openajpa-slice module.
I request you to review current state of its implementaion [1] and
express your opinion/views on feasibility of my proposal.
Regards --
Pinaki
[1] Slice website:
http://people.apache.org/~ppoddar/slice/site/index.html
[2] dev2dev blog:
http://dev2dev.bea.com/blog/pinaki.poddar/archive/2008/01/slice_openjpa_
f_1.html
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated
entities, that may be confidential, proprietary, copyrighted and/or legally
privileged, and is intended solely for the use of the individual or entity
named in this message. If you are not the intended recipient, and have received
this message in error, please immediately return this by email and then delete
it.