Is there a way to support Multi Table ACID transactions in MapRDB. Apache HBase seems to support it using Tephra. I'm looking for something similar for MapRDB.
The short answer is no.
The longer answer...
MapRDB decided not to implement co-processors. (Co-processors are very dangerous and have a few issues...) So without Co-processors to do behind the scenes work... its difficult to implement ACID.
Part of the problem with ACID is maintaining locks and cell versioning. Without this, you can't commit, or rollback. At the same time... I don't believe that supports more than one level of isolation.
So I would be suspect of ACID on HBase because of Row Level Locking... its really going to have to be Cell Level Locking. (If I start a transaction, you add a cell to a row, and commit then I roll back, what does the row look like? )
(It will depend on the isolation level, and if you lock the row or the cell.)
IMHO, I'm suspect of this work. One the one hand, according to the documentation Tephra is holding the lock in zookeeper. On the other hand... you have issues like GC, long transactions, and then region splits that can occur during a long transaction. Things can get messy.
Retrieving data ...