NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Riak: Improvements for Fetching Bucket Keys

Previously discouraged, listing keys in a Riak bucket got some major improvements:

Due to these three changes, there are two effective results:

  1. In nearly all cases, the list_keys operator is much faster than before. In some common cases it is 10 times faster.
  2. In cases of very large buckets, memory allocation will not spike during key listing. (though of course if you ask Riak to build the whole list for you instead of streaming it out, then at least that much must be used to accommodate)


Currently this works only with Riak’s Bitcask storage.

I was thinking that for other storage backends, if you want to trade some space (and consistency?) you could use Riak’s post-commit hooks to manage your own lists of keys.

Original title and link for this post: Riak: Improvements on Bucket Key Lists (published on the NoSQL blog: myNoSQL)