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.
