Rusty discusses the different client APIs for Riak. He delves into developer usability and tradeoffs explored during the various iterations of the API development including horizontal consistency versus vertical consistency. It is a great discussion for anyone growing a platform and needing to know the tradeoffs between consistency across all language and the conformity to a languages feel. Rusty finished out with a quick survey of the various libraries that you can use to work with Riak.
Rusty drills into the differences between the two of the available MapReduce implementations, Riak's own MapReduce and Hadoop's MapReduce. The big difference between the two is targeting and being able to define and execute across subsets of the data versus the entire set.
So maybe you have considered running Riak in a virtualized environment, Rusty lays out why this is suboptimal. This is true not just for Riak, but realistically for any database. Since most database are disk bound you have an extra layer before actually writing and committing to disk, circumventing most of the reliability functions of the database. Virtualizing on the same machine does not actually help in terms of replication and dependability. Takeaway: Riak is already virtualized, so let it handle that instead of running it on yet another virtualization.
A great discussion on improving reliability and failure tolerance through Riak's distributed and replication techniques. Rusty dives right into the repairing process using vector clocks and anti-entropy function of dynamo style systems, like Riak.
A great discussion by Rusty on property based testing or specification based testing and how they diverge and are beneficial over traditional unit tests. By doing this you get away from testing programmatic cases and focusing on input and expected outputs. This has numerous fallout benefits including, higher confidence testing, great testing with less code, and finally highly complicated and complex data testing, including vector. Check any of these libraries for examples:
Rusty takes us through the interface/layer between distribution and dynamo-type logic and the actual filesystem, more commonly known as a storage engine or persistence layer. Discussion started in the mailing list and is becoming a hot topic for the community. The back end supports various functions beyond the standard HTTP interface that Rusty delves quickly into. Summary, Riak does a lot of cool things in the backend, which at the least lets you really hack it and make it fit your domain.