Excellent write up.<p>Instead of only the BTree vs. BTree durable comparison in qps, I think it would be helpful to add plots with the following information:<p>1) Increase in write speed gained from batching. Specifically, in section 3 you mentioned that the constant time overhead was your motivation to design the batching system. In a world of SSD writes, the usefulness of batching comes in to question. To see a gain realized would put this question to rest.<p>2) The effect of batching on the write-time of clients. The write up focuses on reducing the db's workload, which is the correct problem to focus on as that is the bottleneck. But there is a cost on the client which comes waiting on the writes of other concurrent clients. I would assume that your solution actually reduces the overall cost for clients as it reduces the burden of serialization, but it would be interesting to see this data.
Great blog post from the perspective of an educated enthusiast feeling their way around and trying to take advantage of new hardware to solve old problems.<p>For those that are interested in the intersection of databases and ssd's take a look at <a href="http://rethinkdb.com/" rel="nofollow">http://rethinkdb.com/</a> . They have been covered here before, <a href="http://news.ycombinator.com/item?id=1235545" rel="nofollow">http://news.ycombinator.com/item?id=1235545</a> .