On 5/15/10 12:17 PM, Alex Karasulu wrote:
Hi guys,

OCC is the best strategy over all for implementing local transactions so we
can have isolation and atomicity in the server. It's the best strategy for
an LDAP DIB because writes are less frequent in LDAP than reads. Presuming
that multiple transactions can complete in most cases without affecting each
other means OCC is more viable. OCC breaks down when there are more
conflicts with intensive write activity as in relational databases requiring
transactions to rollback. This will not be the case for most of our
deployments.

So as we think about building or finding a better BTree implementation than
JDBM we should consider OCC via MVCC in the BTree implementation itself
since we need isolation and atomicity across indices as well as the master
table.

Just some random thoughts.
Seems good to me. And easier to implement. Now, what if we decide to implement both strategies (in the future) and let the admin decide which one to use depending on the usage ? For instance if the writes are not negligable compared to the reads, a MVCC system could be usefull.

Sure, it's really prematurate, and we don't even know if we will ever use such a system, but that would be great to be able to switch from one system to another just by modifying the configuration.

From now on, I think I will continue to check JDBM and see if we can impelment some OCC strategy on top of it, instead of the heavy synchronization we have.


--
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com


Reply via email to