Sirix is a versioned tree-based storage system. It provides Snapshot Isolation through MVCC and is best suited for flash-based storage. The tree encoding is suited for heavy update operations. It provides diffing algorithms either to import diffs between currently shredded (imported) XML documents to update a tree structure or to get the differences between versions of a tree structure. A GUI provides several visualizations for comparing imported tree structures.
io-util is a small, scalable Java library for slicing and dicing fixed width tables on disk. The objective is to provide reusable blocks of code for building efficient, custom binary data stores. It allows you to build, search, and maintain a large, externally stored, fixed width, sorted table. The library user specifies the row width (in bytes), a row comparison function (which implicitly defines any given row's key), and an optional delete codec.