I've some very specific persistence needs for that domain I am employed in. Relational databases are often used, but more often than not, persistence code is definitely about bending the relational model or fooling it, for performance tuning etc.

Most likely a graph database will make much more sense, however couple of options supports Acidity, and maturity isn't as good as relational ones. BerkeleyDB might have been a choice like a after sales for any custom solution, however the current licence from Oracle causes it to be impossible that i can utilize it.

However, you will find Java frameworks available that are really mature, and joining them together can provide me a choice that's both flexible, and includes components supported and utilized by large towns.

For instance JBossTS can run stand alone, supplying transaction abilities. I haven't seen a normal framework that may provide say Multi Version Concurrency Control, to ensure that I'm able to put that before a Java Content Repository implementation.

I'm able to always choose OrientDB, however i am thinking about the thought of getting together existing frameworks to offer the functionality I am searching for. That's why I made use of the word domain specific database, which might not seem sensible whatsoever.

So which frameworks are you able to think about that will allow creating the functionality of the database? I want transactions, concurrency control and a chance to plug a custom storage mechanism using some convenient data structures.