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



Presentation: Introducing Riak

This is the longest NoSQL presentation I’ve ever posted here: 209 slides! If you’re planning to beat Kevin Smith’s (@kevsmith) record please do let me know in advance so I can reserve enough time to go through it.

My notes below:

What is Riak?

  • A flexible storage engine…
  • … with a REST API …
  • … and map/reduce capability …
  • … designed to be fault-tolerant …
  • … distributed …
  • … and ops friendly

The Riak Way for CAP

  • Pick Two
  • For each operation

Riak Improvements on Amazon Dynamo N, R, W[1]

  • N can vary per bucket
  • R and W can vary per operation
  • *Choose your own fault tolerance/performance tradeoff

Conflict resolution: Client Resolution[2]

  • Can be set per-bucket or server-wide
  • Conflicting data is “bubbled up” to the client
  • Client picks the winner

Conflict resolution: Server Resolution

  • “Last write wins”
  • Enabled by default
  • What most apps need 80% of the time

The presentation covers also:

  • Linking objects (slide 78)
  • Map/Reduce (slide 99)


  • [1] N= number of replicas, R=number of replicas needed for a successful read, W=number of replicas needed for a successful write. ()
  • [2] Jeff Darcy has an interesting article on ☞ conflict resolution ()