Source

From Riak 0.5 to Riak 0.6 there were minor performance enhancements, a
new in-memory storage backend, a streaming interface to map/reduce,
and a few bug fixes. In a little more detail:
- The R, W, and DW parameters for client requests are now exposed in
all of the various jiak client libraries.
- There is a new in-memory-only backend based on gb_trees which is
faster than the ets_backend for many common uses.
- Some bugs were fixed, such as proper handling of an empty ringstate
directory when pruning.
- The "bucket_mod" schema parameter can now be set over the HTTP interface.
- Numerous space and time improvements around basic FSM operations, such as
- Using nodes() instead of net_adm:ping() to find reachable nodes.
- Doing less work making vtags
- Using shorter, fixed-size client ids in vclocks
- The map/reduce system now allows streaming to and from clients,
allowing for indefinitely-sized input and output sets. This is
only partially documented now, but those wishing to use it
immediately should see that riak_client:mapred is now implemented
in terms of riak_client:mapred_stream.
- The riak_get_fsm now exits much more quickly in the common case,
which causes cleanup activity such as read-repair and
delete-finalization to happen faster. There is no longer a "delete
window" of any noticable time between the success of a delete
operation and when the document is actually removed from storage.
- There is a new bucket parameter, "chash_keyfun", allowing
per-bucket configuration of the consistent hashing function.
(that function must still have the type f({Bucket,Key}) -> 160bit-binary)