Package btree provides a very specific set implementation for k/v lookup. This is based on a B PALM tree as described here: http://irvcvcs01.intel-research.net/publications/palm.pdf
This tree is best interacted with in batches. Insertions and deletions are optimized for dealing with large amounts of data.
Future work includes:
1) Optimization 2) Range scans
rt := New(config) mutable := rt.AsMutable() ... operations
rt, err := mutable.Commit() // saves all mutated nodes
.. rt reading/operations
Once a mutable has been committed, its further operations are undefined.