Hi Jan,

Currently I have a wrapper abstraction for transactions with two 
implementations, MVStore and MapDB (I might also do one for pojo-mvcc). Both 
have a transactional capability, and I am writing all my tests against my 
wrapper to understand the differences. MapDB is a little closer to what I want, 
as it seems to pretty much have Snapshot Isolation already. MVStore provides 
Read Committed. My initial obstacle to using MapDB was that it was a little in 
flux, which you recently resolved with 1.0.

My use case is basically replacing an in-memory store that takes exclusive 
locks on the required data, and writes all changes to disk (using Chronicle, 
but that bit is new). Unfortunately over the years we've taken it to places 
that it was never designed for, and everything has got massively complicated 
because of that. The only way of resolving it I can see is to replace with a 
proper database-like transactional capability.

Nothing quite does quite what I want (well perhaps Berkeley DB does, but I'm 
not evaluating that as the price is way way out of my reach), so I think I'm 
going to have to write that bit myself, which I'm hoping I can layer mostly on 
top in my transaction wrapper to start with, with a view to pushing the changes 
down into the implementation later (I can probably make it work on top if I 
have access to the MVCC graph, but it's far from ideal). 

I'm currently in research mode, reading the main papers on the subject. 
Unfortunately this is all new stuff to me, so it's taking some time to get up 
to speed. From the looks of it though, once you have snapshot isolation, 
getting to serialisation seems fairly easy, but no doubt the challenge is in 
the details!

If I manage to get anywhere with this, I'll take a look at how easy it will be 
to integrate into MVStore and MapDB as it's very much in my interest to have 
more people actively using the same code. Thomas has given me some idea of how 
to achieve this in MVStore, but I'm happy to send what I have at that point to 
use in MapDB if you think it might be useful and want to implement it yourself.

Thanks,
Kieron

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to