Basho is pleased to announce the release of Riak CS 1.5, which provides additional performance enhancements and simplifies administration and development with additional admin tools, enhanced S3 compatibility and a technical preview of an architecture to support clusters with very large amounts of storage. Highlights include:

Admin Tools

  • riak-cs-admin: Consolidates admin operations into a command line tool.
  • riak-cs-stanchion: Changes the Stanchion IP and port.
  • riak-cs-debug: Packages log, configuration and operating system command files along with Riak command results.
  • syslog: Support for standardized syslog output for log aggregation using third-party tools.

S3 API Features

  • multi-object delete: Reduces request overhead by supporting multiple deletes in a single request (up to 1,000 keys per request).
  • cache control headers: Method for providing caching instructions in a request header.
  • PUT object – copy: Creates a copy of an object that already exists in Riak CS.

A full list of S3 API compatibility can be found on the Basho docs site here.

Increased Scalability (Enterprise Feature)

Partly due to limitations with distributed Erlang, prior to 1.5 scalability, Riak CS was limited to several petabytes. CS 1.5 introduces a technical preview of an architecture that allows multiple Riak clusters to reside under a single CS namespace, thereby significantly increasing the amount of storage possible in a cluster. A production-ready version is planned for later this year, with multi-data center support to follow.

Garbage Collection Improvements

In Riak CS, deleted and updated objects are not removed immediately. Instead, a reference is written to a special bucket and later removed by the garbage collection process at regular intervals. CS 1.5 includes several garbage collection enhancements that will benefit customers with a high rate of object deletion or updates.

  • concurrent garbage collection worker processes: Speed up the rate of garbage collection with the addition of multiple workers.
  • flexible enforcement of leeway interval: In previous versions, updated and deleted objects are reaped only after they reach a predefined time-based leeway interval, which was set when an object was marked for deletion. In CS 1.5 the leeway interval is managed by the garbage collection daemon and can be changed to remove objects sooner, for example, in emergency situations where maximum storage capacity is reached.

Other Notable Enhancements

  • faster bucket listings: Optimizations in the OTP xmerl library enables faster bucket listings, in particular for large buckets.
  • setting ACLs upon PUT object: Ability to set ACLs via header at PUT object creation is now fully functional.

Riak CS 1.5 is available at: http://docs.basho.com/riakcs/latest/riakcs-downloads/. A full list of changes is available in the release notes. Watch the blog for a detailed discussion of the multi-cluster work.