----- Hashtable persistent on filesystem. BananaDB BananaDB is a persistent Hashtable for Java that resides on the filesystem. * Features * Thread safe, even when read/write accessed from multiple JVMs * Optionally transactional with multiple isolation level strategies * Relative speedy, depending on persistencey hardware * Normally ~3ms to put and ~0.1ms to get() when file cache is available * Depends on IO seek, i.e. SSD can make even a huge DB fair to use * Features planned for the future include * Annotational API * Automatic serialization of key and value classes * Secondary indices * Top level API to handle multiple hashtable instances * Transactions spanning multiple hashtables * Et c * Releases There are no official releases! You'll need to check it out from the Apache SVN, compile and install it by your self. +-------------------------------+ limax:bananadb kalle$ svn co http://svn.apache.org/repos/asf/labs/bananadb/trunk/ A trunk/FILES.txt A trunk/LICENSE.txt .. limax:bananadb kalle$ cd trunk limax:trunk kalle$ mvn install +-------------------------------+ Example use +-------------------------------+ Hashtable hashtable = new Hashtable( new ConfigurationImpl(new File("./bananadb"), new IntegerHandler(), new StringValueHandler())); hashtable.getTxn().begin(); hashtable.put(0, "Hello, world"); hashtable.getTxn().commit(); hashtable.getTxn().begin(); System.out.println(hashtable.getTxn().get(0)); hashtable.getTxn().abort(); +-------------------------------+