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
|