Implementation of the universal B+tree with nodes in file. It is created in Java 6.0

Both keys and entries in leafs can be various objects that can serialise themselves to a ByteBuffer. They must have their maximal size i.e. maximal number of bytes needed to store to. These objects must be comparable.

In the project, there are already such a serialisable objects for int, long,double, and varchar, but you can create your own objects easily.

BPTree enables besides other functionalities:

  • insert different entries with the same key
  • batch update method
  • adding new entries on-by-one
  • deleting entries and deleting based on key value
  • searching entries and entries with given key value
  • iterating entries in both directions using Iterator
  • cache is included, so several (user defined) number of last read nodes is held in memory
  • storing of BPTree metadata on disk for later use.
  • ATTENTION! The tree not allow node locking, transactions or concurrent write. On the other hand you can do concurrent reading and such a implementation is faster than transaction variants of B+trees.

This is free software under GPLv3 license